diff --git a/web/settings/assets/ChargeLog-ea361db7.js b/web/settings/assets/ChargeLog-3b119f4e.js similarity index 96% rename from web/settings/assets/ChargeLog-ea361db7.js rename to web/settings/assets/ChargeLog-3b119f4e.js index fdd563b4d4..2d7e0b847c 100644 --- a/web/settings/assets/ChargeLog-ea361db7.js +++ b/web/settings/assets/ChargeLog-3b119f4e.js @@ -1,2 +1,2 @@ -import{l as C,T as q,U as R,F as k}from"./vendor-fortawesome-9fdc06a9.js";import{_ as x,a0 as E,q as l,k as h,l as m,u as g,B as o,M as s,z as V,A as y,x as d,y as F,R as B,S as T}from"./vendor-f0f38b48.js";import{C as I}from"./index-131a952e.js";import"./vendor-sortablejs-cbf37f8f.js";import"./vendor-bootstrap-384bc385.js";import"./vendor-jquery-8576ed22.js";import"./vendor-axios-e59ef189.js";C.add(q,R);const S={name:"OpenwbChargeLog",components:{Vue3TableLite:E,FontAwesomeIcon:k},mixins:[I],emits:["sendCommand"],data(){return{dateTimeFormat:new Intl.DateTimeFormat("de-DE",{year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit"}),mqttTopicsToSubscribe:["openWB/general/extern","openWB/chargepoint/+/config","openWB/vehicle/+/name"],currentMonth:"",chargeLogRequestData:{month:"",year:"",filter:{chargepoint:{id:[]},vehicle:{id:[],rfid:[],chargemode:[],prio:void 0}}},downloadFile:null,table:{messages:{pagingInfo:"Einträge {0}-{1} von {2}",pageSizeChangeLabel:"Einträge:",gotoPageLabel:" Gehe zu:",noDataAvailable:"Keine Einträge gefunden."},pageOptions:[{value:5,text:"5"},{value:10,text:"10"},{value:25,text:"25"},{value:50,text:"50"},{value:100,text:"100"}],columns:[{label:"Beginn",field:"time_begin",sortable:!0},{label:"Ende",field:"time_end",sortable:!0},{label:"Fahrzeug",field:"vehicle_name",sortable:!0},{label:"Dauer",field:"time_time_charged",sortable:!0,display:e=>this.alignEnd(e.time_time_charged)},{label:"Energie",field:"data_imported_since_mode_switch",sortable:!0,display:e=>this.alignEnd(this.formatNumber(e.data_imported_since_mode_switch/1e3,2)+" kWh / "+this.formatNumber(e.data_range_charged,0)+" km")},{label:"Kosten",field:"data_costs",sortable:!0,display:e=>this.alignEnd(this.formatNumber(e.data_costs,2)+" €")},{label:"Lademodus",field:"vehicle_chargemode",sortable:!0,display:e=>'
'+e.vehicle_chargemode+"
"},{label:"Ladepunkt",field:"chargepoint_name",sortable:!0},{label:"Priorität",field:"vehicle_prio",display:e=>this.translateBool(e.vehicle_prio)},{label:"ID-Tag",field:"vehicle_rfid",sortable:!0}],sortable:{order:"timestamp_begin",sort:"asc"}},totals:{columns:[{label:"Dauer",field:"time_charged",sortable:!1,display:e=>this.alignEnd(e.time_charged)},{label:"Energie",field:"imported_since_mode_switch",sortable:!1,display:e=>this.alignEnd(this.formatNumber(e.imported_since_mode_switch/1e3,2)+" kWh")},{label:"Reichweite",field:"range_charged",sortable:!1,display:e=>this.alignEnd(this.formatNumber(e.range_charged,0)+" km")},{label:"Kosten",field:"costs",sortable:!1,display:e=>this.alignEnd(this.formatNumber(e.costs,2)+" €")}]}}},computed:{downloadUrl(){const e=parseInt(location.port)||(location.protocol=="https:"?443:80);return`${location.protocol}//${location.hostname}:${e}/openWB/web/settings/downloadChargeLog.php`+`?year=${this.chargeLogRequestData.year}&month=${this.chargeLogRequestData.month}`},chargeLogDate:{get(){return this.chargeLogRequestData.year+"-"+this.chargeLogRequestData.month},set(e){let t=e.split("-");this.chargeLogRequestData.year=t[0],this.chargeLogRequestData.month=t[1]}},chargeLogTotals(){return this.$store.state.mqtt["openWB/log/"+this.mqttClientId+"/data"]?[this.$store.state.mqtt["openWB/log/"+this.mqttClientId+"/data"].totals]:[]},chargeLogDataset:{get(){try{return this.$store.state.mqtt["openWB/log/"+this.mqttClientId+"/data"].entries.map(e=>{var t=Date.parse(e.time.begin),n=Date.parse(e.time.end);return{chargepoint_id:e.chargepoint.id,chargepoint_name:e.chargepoint.name,vehicle_id:e.vehicle.id,vehicle_name:e.vehicle.name,vehicle_chargemode:this.translateChargeMode(e.vehicle.chargemode),vehicle_rfid:e.vehicle.rfid,vehicle_prio:e.vehicle.prio,timestamp_begin:t/1e3,time_begin:this.dateTimeFormat.format(new Date(t)),timestamp_end:n/1e3,time_end:this.dateTimeFormat.format(new Date(n)),time_time_charged:e.time.time_charged,data_power:e.data.power,data_range_charged:e.data.range_charged,data_costs:e.data.costs,data_imported_since_plugged:e.data.imported_since_plugged,data_imported_since_mode_switch:e.data.imported_since_mode_switch}})}catch{return[]}}},chargeLogCsv:{get(){return[["Ladepunkt-ID","Ladepunkt","Fahrzeug-ID","Fahrzeug","Lademodus","Priorität","ID-Tag","Beginn","Ende","Zeitstempel Beginn","Zeitstempel Ende","Dauer","Leistung","Energie","Reichweite","Kosten"],...this.chargeLogDataset.map(t=>[t.chargepoint_id,'"'+t.chargepoint_name+'"',t.vehicle_id,'"'+t.vehicle_name+'"','"'+t.vehicle_chargemode+'"','"'+this.translateBool(t.vehicle_prio,!1)+'"','"'+t.vehicle_rfid+'"','"'+t.time_begin+'"','"'+t.time_end+'"','"'+t.timestamp_begin+'"','"'+t.timestamp_end+'"','"'+t.time_time_charged+'"',this.formatNumber(t.data_power/1e3,3),this.formatNumber(t.data_imported_since_mode_switch/1e3,2),this.formatNumber(t.data_range_charged,0),this.formatNumber(t.data_costs,2)])].map(t=>t.join(";")).join(` +import{l as C,T as q,U as R,F as k}from"./vendor-fortawesome-542fe04f.js";import{_ as x,a0 as E,q as l,k as h,l as m,u as g,B as o,M as s,z as V,A as y,x as d,y as F,R as B,S as T}from"./vendor-493c2bec.js";import{C as I}from"./index-eaa58995.js";import"./vendor-sortablejs-0b339223.js";import"./vendor-bootstrap-a615942d.js";import"./vendor-jquery-a64a4809.js";import"./vendor-axios-b1ba123b.js";C.add(q,R);const S={name:"OpenwbChargeLog",components:{Vue3TableLite:E,FontAwesomeIcon:k},mixins:[I],emits:["sendCommand"],data(){return{dateTimeFormat:new Intl.DateTimeFormat("de-DE",{year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit"}),mqttTopicsToSubscribe:["openWB/general/extern","openWB/chargepoint/+/config","openWB/vehicle/+/name"],currentMonth:"",chargeLogRequestData:{month:"",year:"",filter:{chargepoint:{id:[]},vehicle:{id:[],rfid:[],chargemode:[],prio:void 0}}},downloadFile:null,table:{messages:{pagingInfo:"Einträge {0}-{1} von {2}",pageSizeChangeLabel:"Einträge:",gotoPageLabel:" Gehe zu:",noDataAvailable:"Keine Einträge gefunden."},pageOptions:[{value:5,text:"5"},{value:10,text:"10"},{value:25,text:"25"},{value:50,text:"50"},{value:100,text:"100"}],columns:[{label:"Beginn",field:"time_begin",sortable:!0},{label:"Ende",field:"time_end",sortable:!0},{label:"Fahrzeug",field:"vehicle_name",sortable:!0},{label:"Dauer",field:"time_time_charged",sortable:!0,display:e=>this.alignEnd(e.time_time_charged)},{label:"Energie",field:"data_imported_since_mode_switch",sortable:!0,display:e=>this.alignEnd(this.formatNumber(e.data_imported_since_mode_switch/1e3,2)+" kWh / "+this.formatNumber(e.data_range_charged,0)+" km")},{label:"Kosten",field:"data_costs",sortable:!0,display:e=>this.alignEnd(this.formatNumber(e.data_costs,2)+" €")},{label:"Lademodus",field:"vehicle_chargemode",sortable:!0,display:e=>'
'+e.vehicle_chargemode+"
"},{label:"Ladepunkt",field:"chargepoint_name",sortable:!0},{label:"Priorität",field:"vehicle_prio",display:e=>this.translateBool(e.vehicle_prio)},{label:"ID-Tag",field:"vehicle_rfid",sortable:!0}],sortable:{order:"timestamp_begin",sort:"asc"}},totals:{columns:[{label:"Dauer",field:"time_charged",sortable:!1,display:e=>this.alignEnd(e.time_charged)},{label:"Energie",field:"imported_since_mode_switch",sortable:!1,display:e=>this.alignEnd(this.formatNumber(e.imported_since_mode_switch/1e3,2)+" kWh")},{label:"Reichweite",field:"range_charged",sortable:!1,display:e=>this.alignEnd(this.formatNumber(e.range_charged,0)+" km")},{label:"Kosten",field:"costs",sortable:!1,display:e=>this.alignEnd(this.formatNumber(e.costs,2)+" €")}]}}},computed:{downloadUrl(){const e=parseInt(location.port)||(location.protocol=="https:"?443:80);return`${location.protocol}//${location.hostname}:${e}/openWB/web/settings/downloadChargeLog.php`+`?year=${this.chargeLogRequestData.year}&month=${this.chargeLogRequestData.month}`},chargeLogDate:{get(){return this.chargeLogRequestData.year+"-"+this.chargeLogRequestData.month},set(e){let t=e.split("-");this.chargeLogRequestData.year=t[0],this.chargeLogRequestData.month=t[1]}},chargeLogTotals(){return this.$store.state.mqtt["openWB/log/"+this.mqttClientId+"/data"]?[this.$store.state.mqtt["openWB/log/"+this.mqttClientId+"/data"].totals]:[]},chargeLogDataset:{get(){try{return this.$store.state.mqtt["openWB/log/"+this.mqttClientId+"/data"].entries.map(e=>{var t=Date.parse(e.time.begin),n=Date.parse(e.time.end);return{chargepoint_id:e.chargepoint.id,chargepoint_name:e.chargepoint.name,vehicle_id:e.vehicle.id,vehicle_name:e.vehicle.name,vehicle_chargemode:this.translateChargeMode(e.vehicle.chargemode),vehicle_rfid:e.vehicle.rfid,vehicle_prio:e.vehicle.prio,timestamp_begin:t/1e3,time_begin:this.dateTimeFormat.format(new Date(t)),timestamp_end:n/1e3,time_end:this.dateTimeFormat.format(new Date(n)),time_time_charged:e.time.time_charged,data_power:e.data.power,data_range_charged:e.data.range_charged,data_costs:e.data.costs,data_imported_since_plugged:e.data.imported_since_plugged,data_imported_since_mode_switch:e.data.imported_since_mode_switch}})}catch{return[]}}},chargeLogCsv:{get(){return[["Ladepunkt-ID","Ladepunkt","Fahrzeug-ID","Fahrzeug","Lademodus","Priorität","ID-Tag","Beginn","Ende","Zeitstempel Beginn","Zeitstempel Ende","Dauer","Leistung","Energie","Reichweite","Kosten"],...this.chargeLogDataset.map(t=>[t.chargepoint_id,'"'+t.chargepoint_name+'"',t.vehicle_id,'"'+t.vehicle_name+'"','"'+t.vehicle_chargemode+'"','"'+this.translateBool(t.vehicle_prio,!1)+'"','"'+t.vehicle_rfid+'"','"'+t.time_begin+'"','"'+t.time_end+'"','"'+t.timestamp_begin+'"','"'+t.timestamp_end+'"','"'+t.time_time_charged+'"',this.formatNumber(t.data_power/1e3,3),this.formatNumber(t.data_imported_since_mode_switch/1e3,2),this.formatNumber(t.data_range_charged,0),this.formatNumber(t.data_costs,2)])].map(t=>t.join(";")).join(` `)}},chargeLogRead:{get(){return this.chargeLogDataset!=null}},chargeLogHasEntries:{get(){return this.chargeLogDataset==null?!1:this.chargeLogDataset.length>0}},totalRecordCount(){return this.chargeLogDataset.length},chargeModeList(){let e=this.chargeModes.map(t=>({value:t,text:this.translateChargeMode(t)}));return e.unshift({value:void 0,text:"Alle"}),e},chargePointList(){let e=this.getWildcardTopics("openWB/chargepoint/+/config");var t=[{value:void 0,text:"Alle"}];for(const[,n]of Object.entries(e))t.push({value:n.id,text:n.name});return t},vehicleList(){let e=this.getWildcardTopics("openWB/vehicle/+/name");var t=[{value:void 0,text:"Alle"}];for(const[n,c]of Object.entries(e)){let i=parseInt(n.match(/\/([0-9]+)\/name$/)[1]);t.push({value:i,text:c})}return t}},methods:{cleanRequestData(){"id"in this.chargeLogRequestData.filter.chargepoint&&(this.chargeLogRequestData.filter.chargepoint.id=this.chargeLogRequestData.filter.chargepoint.id.filter(e=>e!=null)),"chargemode"in this.chargeLogRequestData.filter.vehicle&&(this.chargeLogRequestData.filter.vehicle.chargemode=this.chargeLogRequestData.filter.vehicle.chargemode.filter(e=>e!=null)),"id"in this.chargeLogRequestData.filter.vehicle&&(this.chargeLogRequestData.filter.vehicle.id=this.chargeLogRequestData.filter.vehicle.id.filter(e=>e!=null))},requestChargeLog(){if(document.forms.chargeLogForm.reportValidity())this.cleanRequestData(),this.$emit("sendCommand",{command:"getChargeLog",data:this.chargeLogRequestData});else{console.warn("form invalid");return}},makeTextFile(e){var t=new Blob([e],{type:"text/csv"});return this.downloadFile!==null&&window.URL.revokeObjectURL(this.downloadFile),this.downloadFile=window.URL.createObjectURL(t),this.downloadFile},downloadChargeLog(){this.$refs.downloadChargeLogLink.setAttribute("download","Ladeprotokoll-"+this.chargeLogDate+".csv"),this.$refs.downloadChargeLogLink.href=this.makeTextFile(this.chargeLogCsv),this.$refs.downloadChargeLogLink.dispatchEvent(new MouseEvent("click"))},alignEnd(e){return'
'+e+"
"},alignCenter(e){return'
'+e+"
"},translateBool(e,t=!0){let n="Nein",c="bg-danger";return e&&(n="Ja",c="bg-success"),t?'
'+n+"
":n},getChargeModeClass(e){switch(e){case"Sofort":return"bg-danger";case"PV":return"bg-success";case"Zielladen":return"bg-primary";case"Zeitladen":return"bg-warning";case"Standby":return"bg-secondary";case"Stop":return"bg-dark";default:return console.warn("unknown charge mode:",e),"bg-light"}},translateHeading(e){switch(e){case"time_charged":return"Dauer";case"range_charged":return"Reichweite";case"imported_since_mode_switch":return"Energie im Lademodus";case"imported_since_plugged":return"Energie seit Anstecken";case"power":return"Leistung";case"costs":return"Kosten";default:return console.warn("unknown heading:",e),e}}},mounted(){const e=new Date;this.currentMonth=this.chargeLogDate=e.getFullYear()+"-"+String(e.getMonth()+1).padStart(2,"0"),this.requestChargeLog()}},U=e=>(B("data-v-8607e7e7"),e=e(),T(),e),N={class:"chargeLog"},M={name:"chargeLogForm"},W=["href"],A={key:1},O={key:0},P={class:"row justify-content-center"},j={class:"hide",ref:"downloadChargeLogLink"},z=U(()=>g("div",{class:"row"},[g("div",{class:"col"},[g("h2",null,"Summe")])],-1));function K(e,t,n,c,i,a){const L=l("openwb-base-text-input"),p=l("font-awesome-icon"),v=l("openwb-base-button-group-input"),u=l("openwb-base-select-input"),w=l("openwb-base-array-input"),_=l("openwb-base-card"),b=l("openwb-base-alert"),f=l("vue3-table-lite"),D=l("openwb-base-click-button");return h(),m("div",N,[g("form",M,[o(_,{title:"Filter"},{default:s(()=>[o(L,{title:"Zeitraum",subtype:"month",min:"2018-01",showQuickButtons:!0,max:i.currentMonth,modelValue:a.chargeLogDate,"onUpdate:modelValue":[t[0]||(t[0]=r=>a.chargeLogDate=r),t[1]||(t[1]=r=>a.requestChargeLog())]},null,8,["max","modelValue"]),o(_,{title:"Erweiterte Optionen",collapsible:!0,collapsed:!0},{header:s(()=>[o(p,{"fixed-width":"",icon:["fas","filter"]}),d(" Erweiterte Optionen ")]),default:s(()=>[o(v,{title:"Priorität",buttons:[{buttonValue:void 0,text:"Alle"},{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],modelValue:i.chargeLogRequestData.filter.vehicle.prio,"onUpdate:modelValue":[t[2]||(t[2]=r=>i.chargeLogRequestData.filter.vehicle.prio=r),t[3]||(t[3]=r=>a.requestChargeLog())]},null,8,["modelValue"]),o(u,{title:"Lademodus",multiple:"",options:a.chargeModeList,modelValue:i.chargeLogRequestData.filter.vehicle.chargemode,"onUpdate:modelValue":[t[4]||(t[4]=r=>i.chargeLogRequestData.filter.vehicle.chargemode=r),t[5]||(t[5]=r=>a.requestChargeLog())]},{help:s(()=>[d(" Es können mehrere Elemente ausgewählt werden. ")]),_:1},8,["options","modelValue"]),o(u,{title:"Ladepunkt",multiple:"",options:a.chargePointList,modelValue:i.chargeLogRequestData.filter.chargepoint.id,"onUpdate:modelValue":[t[6]||(t[6]=r=>i.chargeLogRequestData.filter.chargepoint.id=r),t[7]||(t[7]=r=>a.requestChargeLog())]},{help:s(()=>[d(" Es können mehrere Elemente ausgewählt werden. ")]),_:1},8,["options","modelValue"]),o(u,{title:"Fahrzeug",multiple:"",options:a.vehicleList,modelValue:i.chargeLogRequestData.filter.vehicle.id,"onUpdate:modelValue":[t[8]||(t[8]=r=>i.chargeLogRequestData.filter.vehicle.id=r),t[9]||(t[9]=r=>a.requestChargeLog())]},{help:s(()=>[d(" Es können mehrere Elemente ausgewählt werden. ")]),_:1},8,["options","modelValue"]),o(w,{title:"ID-Tags",modelValue:i.chargeLogRequestData.filter.vehicle.tag,"onUpdate:modelValue":[t[10]||(t[10]=r=>i.chargeLogRequestData.filter.vehicle.tag=r),t[11]||(t[11]=r=>a.requestChargeLog())]},{help:s(()=>[d(" Es können mehrere Tags als Filter verwendet werden. ")]),_:1},8,["modelValue"])]),_:1})]),_:1}),o(b,{subtype:"info"},{default:s(()=>[d(" Das komplette Ladeprotokoll kann automatisiert über folgende URL abgerufen werden: "),g("a",{href:a.downloadUrl},F(a.downloadUrl),9,W)]),_:1}),a.chargeLogRead?(h(),m("div",A,[o(f,{class:"charge-log-table","is-static-mode":!0,columns:i.table.columns,rows:a.chargeLogDataset,total:a.totalRecordCount,sortable:i.table.sortable,messages:i.table.messages,"page-options":i.table.pageOptions,limit:25},null,8,["columns","rows","total","sortable","messages","page-options"]),a.totalRecordCount>0?(h(),m("div",O,[g("div",P,[o(D,{class:"col-4 btn-success",onButtonClicked:t[12]||(t[12]=r=>a.downloadChargeLog())},{default:s(()=>[d(" Als CSV exportieren "),o(p,{"fixed-width":"",icon:["fas","download"]})]),_:1}),g("a",j,null,512)]),z,o(f,{class:"charge-log-totals","is-static-mode":!0,"is-hide-paging":!0,columns:i.totals.columns,rows:a.chargeLogTotals,total:1},null,8,["columns","rows"])])):y("",!0)])):(h(),V(b,{key:0,subtype:"info"},{default:s(()=>[d(" Es wurden noch keine Daten abgerufen. ")]),_:1}))])])}const $=x(S,[["render",K],["__scopeId","data-v-8607e7e7"],["__file","/opt/openWB-dev/openwb-ui-settings/src/views/ChargeLog.vue"]]);export{$ as default}; diff --git a/web/settings/assets/ChargePointInstallation-dd755e26.js b/web/settings/assets/ChargePointInstallation-dd755e26.js new file mode 100644 index 0000000000..5e44e9572f --- /dev/null +++ b/web/settings/assets/ChargePointInstallation-dd755e26.js @@ -0,0 +1 @@ +import{l as H,d as G,a0 as Q,A as X,a1 as Y,a2 as K,K as ee,a3 as te,F as ne,I as ae}from"./vendor-fortawesome-542fe04f.js";import{_ as T,C as oe}from"./index-eaa58995.js";import{_ as E}from"./dynamic-import-helper-be004503.js";import{_ as x,q as g,k as l,l as c,z as v,M as o,x as i,y as k,B as n,u as d,a1 as D,a2 as F,I as S,J as A,A as w,p as M,a3 as O,O as ie,R as le,S as se}from"./vendor-493c2bec.js";import"./vendor-bootstrap-a615942d.js";import"./vendor-jquery-a64a4809.js";import"./vendor-axios-b1ba123b.js";import"./vendor-sortablejs-0b339223.js";const re={name:"ChargePointConfigFallback",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},chargePointId:{default:void 0},chargePointType:String},methods:{updateConfiguration(e,a=void 0){this.$emit("update:configuration",{value:e,object:a})}}},ue={class:"device-fallback"},de={key:1};function pe(e,a,u,P,m,p){const C=g("openwb-base-alert"),f=g("openwb-base-textarea");return l(),c("div",ue,[Object.keys(u.configuration).length==0?(l(),v(C,{key:0,subtype:"info"},{default:o(()=>[i(' Der Ladepunkt-Typ "'+k(u.chargePointType)+'" bietet keine Einstellungen. ',1)]),_:1})):(l(),c("div",de,[n(C,{subtype:"warning"},{default:o(()=>[i(' Es wurde keine Konfigurationsseite für den Ladepunkt-Typ "'+k(u.chargePointType)+'" gefunden. Die Einstellungen können als JSON direkt bearbeitet werden. ',1)]),_:1}),n(f,{title:"Konfiguration",subtype:"json","model-value":u.configuration,"onUpdate:modelValue":a[0]||(a[0]=L=>p.updateConfiguration(L,"configuration"))},{help:o(()=>[i(" Bitte prüfen Sie, ob die Eingaben richtig interpretiert werden. ")]),_:1},8,["model-value"]),n(C,{subtype:"info"},{default:o(()=>[d("pre",null,k(JSON.stringify(u.configuration,void 0,2)),1)]),_:1})]))])}const me=x(re,[["render",pe],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/charge_points/OpenwbChargePointConfigFallback.vue"]]),ce={name:"ChargePointCommandsFallback",props:{configuration:{type:Object,required:!0},chargePointId:{default:void 0},chargePointType:String}},ge={class:"charge-point-commands-fallback"};function he(e,a,u,P,m,p){const C=g("openwb-base-alert");return l(),c("div",ge,[n(C,{subtype:"secondary"},{default:o(()=>[i(' Der Ladepunkt-Typ "'+k(u.chargePointType)+'" bietet keine Befehle an. ',1)]),_:1})])}const fe=x(ce,[["render",he],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/charge_points/OpenwbChargePointCommandsFallback.vue"]]),be={name:"OpenwbChargePointProxy",emits:["update:configuration"],props:{chargePointId:{required:!0},chargePointType:{type:String,required:!0},configuration:{type:Object,required:!0},moduleName:{type:String,required:!1,default:void 0}},computed:{myChargePointSettingsComponent(){return console.debug(`loading charge point settings: ${this.chargePointType}`),D({loader:()=>E(Object.assign({"./external_openwb/chargePoint.vue":()=>T(()=>import("./chargePoint-da6b9b5b.js"),["assets/chargePoint-da6b9b5b.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./internal_openwb/chargePoint.vue":()=>T(()=>import("./chargePoint-9d491e0e.js"),["assets/chargePoint-9d491e0e.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./mqtt/chargePoint.vue":()=>T(()=>import("./chargePoint-5812da3a.js"),["assets/chargePoint-5812da3a.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./openwb_pro/chargePoint.vue":()=>T(()=>import("./chargePoint-56a4846c.js"),["assets/chargePoint-56a4846c.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./openwb_series2_satellit/chargePoint.vue":()=>T(()=>import("./chargePoint-28f677c8.js"),["assets/chargePoint-28f677c8.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./smartwb/chargePoint.vue":()=>T(()=>import("./chargePoint-8e197fd1.js"),["assets/chargePoint-8e197fd1.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"])}),`./${this.chargePointType}/chargePoint.vue`),errorComponent:me})},myChargePointCommandsComponent(){return console.debug(`loading charge point commands: ${this.chargePointType}`),D({loader:()=>E(Object.assign({"./openwb_pro/commands.vue":()=>T(()=>import("./commands-ce25bb14.js"),["assets/commands-ce25bb14.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"])}),`./${this.chargePointType}/commands.vue`),errorComponent:fe})}},methods:{updateConfiguration(e){this.$emit("update:configuration",e)}}},_e=d("hr",null,null,-1);function we(e,a,u,P,m,p){const C=g("openwb-base-heading");return l(),c(S,null,[n(C,null,{default:o(()=>[i(" Einstellungen für Ladepunkt "+k(u.moduleName),1)]),_:1}),(l(),v(F(p.myChargePointSettingsComponent),{configuration:u.configuration,chargePointId:u.chargePointId,chargePointType:u.chargePointType,"onUpdate:configuration":a[0]||(a[0]=f=>p.updateConfiguration(f))},null,40,["configuration","chargePointId","chargePointType"])),_e,n(C,null,{default:o(()=>[i(" Befehle für Ladepunkt "+k(u.moduleName),1)]),_:1}),(l(),v(F(p.myChargePointCommandsComponent),{configuration:u.configuration,chargePointId:u.chargePointId,chargePointType:u.chargePointType},null,8,["configuration","chargePointId","chargePointType"]))],64)}const ke=x(be,[["render",we],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/charge_points/OpenwbChargePointProxy.vue"]]);H.add(G,Q,X,Y,K,ee,te);const ve={name:"OpenwbChargePointInstallation",mixins:[oe],emits:["sendCommand"],components:{FontAwesomeIcon:ne,FontAwesomeLayers:ae,OpenwbChargePointProxy:ke},data(){return{mqttTopicsToSubscribe:["openWB/general/extern","openWB/optional/rfid/active","openWB/chargepoint/+/config","openWB/chargepoint/template/+","openWB/chargepoint/template/+/autolock/+","openWB/system/configurable/chargepoints","openWB/system/configurable/chargepoints_internal"],chargePointToAdd:void 0,showChargePointModal:!1,modalChargePointIndex:void 0,showChargePointTemplateModal:!1,modalChargePointTemplateIndex:void 0,showChargePointTemplateAutolockPlanModal:!1,modalChargePointTemplateAutolockPlanIndex:void 0}},computed:{installedChargePoints:{get(){let e=this.getWildcardTopics("openWB/chargepoint/+/config"),a={};for(const[u,P]of Object.entries(e))(P.type==="internal_openwb"||this.$store.state.mqtt["openWB/general/extern"]===!1)&&(a[u]=P);return a}},chargePointTemplates:{get(){return this.getWildcardTopics("openWB/chargepoint/template/+")}},chargePointTemplateList:{get(){let e=[];return Object.keys(this.chargePointTemplates).forEach(a=>{let u=parseInt(a.match(/([0-9]+)/g)[0]),P=this.$store.state.mqtt["openWB/chargepoint/template/"+u].name;e.push({value:u,text:P})}),e}}},methods:{addChargePoint(e){e.stopPropagation(),this.$emit("sendCommand",{command:"addChargepoint",data:{type:this.chargePointToAdd}})},removeChargePointModal(e,a){a.stopPropagation(),this.modalChargePointIndex=parseInt(e.match(/(?:\/)(\d+)(?=\/)/)[1]),this.showChargePointModal=!0},removeChargePoint(e,a){this.showChargePointModal=!1,a=="confirm"&&(console.debug("request removal of charge point '"+e+"'"),this.$emit("sendCommand",{command:"removeChargepoint",data:{id:e}}))},getChargePointList(){return this.$store.state.mqtt["openWB/general/extern"]===!1?this.$store.state.mqtt["openWB/system/configurable/chargepoints"]:this.$store.state.mqtt["openWB/system/configurable/chargepoints_internal"]},getChargePointName(e){return this.$store.state.mqtt["openWB/chargepoint/"+e+"/config"]?this.$store.state.mqtt["openWB/chargepoint/"+e+"/config"].name:"Ladepunkt "+e},getChargePointTemplateName(e){return this.$store.state.mqtt["openWB/chargepoint/template/"+e]?this.$store.state.mqtt["openWB/chargepoint/template/"+e].name:"Profil "+e},addChargePointTemplate(e){e.stopPropagation(),this.$emit("sendCommand",{command:"addChargepointTemplate",data:{}})},getChargePointTemplateIndex(e){return parseInt(e.match(/([^/]+)$/)[0])},removeChargePointTemplateModal(e,a){a.stopPropagation(),this.modalChargePointTemplateIndex=this.getChargePointTemplateIndex(e),this.showChargePointTemplateModal=!0},removeChargePointTemplate(e,a){this.showChargePointTemplateModal=!1,a=="confirm"&&(console.debug("request removal of chargePoint template '"+e+"'"),this.$emit("sendCommand",{command:"removeChargepointTemplate",data:{id:e}}))},addChargePointTemplateAutolockPlan(e,a){a.stopPropagation(),console.info("requesting new charge point template autolock plan...");let u=this.getChargePointTemplateIndex(e);this.$emit("sendCommand",{command:"addAutolockPlan",data:{template:u}})},removeChargePointTemplateAutolockPlanModal(e,a,u){u.stopPropagation(),this.modalChargePointTemplateIndex=this.getChargePointTemplateIndex(e),this.modalChargePointTemplateAutolockPlanIndex=parseInt(a.match(/([^/]+)$/)[0]),this.showChargePointTemplateAutolockPlanModal=!0},removeChargePointTemplateAutolockPlan(e,a,u){this.showChargePointTemplateAutolockPlanModal=!1,u=="confirm"&&(console.debug("request removal of chargePoint template '"+e+"' autolock plan '"+a+"'"),this.$emit("sendCommand",{command:"removeAutolockPlan",data:{template:e,plan:a}}))},getChargePointTemplateAutolockPlanName(e,a){return this.$store.state.mqtt["openWB/chargepoint/template/"+e+"/autolock/"+a]?this.$store.state.mqtt["openWB/chargepoint/template/"+e+"/autolock/"+a].name:"Autolock Zeitplan "+e+"/"+a},getChargePointTemplateAutolockPlans(e){let a=this.getChargePointTemplateIndex(e);return this.getWildcardTopics("openWB/chargepoint/template/"+a+"/autolock/+")},updateConfiguration(e,a){console.debug("updateConfiguration",e,a),this.updateState(e,a.value,a.object)}}},b=e=>(le("data-v-75fe5743"),e=e(),se(),e),Ce={class:"chargePointInstallation"},ye={name:"chargePointInstallationForm"},Pe={key:0},Ve=b(()=>d("hr",null,null,-1)),Le={key:1},Te=b(()=>d("hr",null,null,-1)),We=b(()=>d("br",null,null,-1)),Be=b(()=>d("br",null,null,-1)),Se=b(()=>d("br",null,null,-1)),Ie=b(()=>d("br",null,null,-1)),Ae={key:0},xe={class:"col-1"},Ue=b(()=>d("br",null,null,-1)),ze=b(()=>d("ul",null,[d("li",null," Interne openWB - wenn diese openWB über einen verbauten Ladepunkt mit Regelcontroller verfügt (z.B. Standard(+), Custom, Duo, Buchse, NICHT Standalone); ansonsten immer anlegen, egal ob diese openWB steuert = primary oder ferngesteuert wird = secondary "),d("li",null," Externe openWB - wenn diese openWB (primary) die Fernsteuerung von externen openWB (secondary) übernimmt "),d("li",null," MQTT-Ladepunkt - nur zur Nutzung des openWB-Simulators zugelassen "),d("li",null," openWB Pro - wenn diese openWB (primary) die Fernsteuerung einer openWB Pro (secondary) übernimmt "),d("li",null," openWB series2 Satellit/Satellit Duo - wenn diese openWB (primary) die Fernsteuerung einer openWB series2 Satellit/Satellit Duo (secondary) übernimmt "),d("li",null," smartWB/EVSE-Wifi - wenn diese openWB (primary) die Fernsteuerung einer smartWB/EVSE-Wifi übernimmt ")],-1)),qe=b(()=>d("hr",{class:"border-secondary"},null,-1)),Ee={key:0},De={key:1},Fe=b(()=>d("hr",null,null,-1)),Me={key:0},Oe=b(()=>d("br",null,null,-1)),Ne=["innerHTML"],Ze=b(()=>d("hr",null,null,-1)),Re=b(()=>d("br",null,null,-1)),je=b(()=>d("br",null,null,-1)),$e=b(()=>d("a",{href:"https://github.com/openWB/core/wiki/Lastmanagement-und-kaskadierte-Z%C3%A4hler",target:"_blank",rel:"noopener noreferrer"},"Wiki zum Lastmanagement",-1)),Je=b(()=>d("hr",null,null,-1)),He=["onClick"],Ge={key:0},Qe={key:1},Xe={key:2},Ye={key:2};function Ke(e,a,u,P,m,p){const C=g("openwb-base-modal-dialog"),f=g("font-awesome-icon"),L=g("openwb-base-avatar"),V=g("openwb-base-text-input"),U=g("openwb-base-select-input"),N=g("openwb-charge-point-proxy"),W=g("openwb-base-heading"),y=g("openwb-base-button-group-input"),I=g("openwb-base-card"),Z=g("openwb-base-click-button"),R=g("font-awesome-layers"),z=g("openwb-base-alert"),j=g("openwb-base-array-input"),q=g("openwb-base-range-input"),$=g("openwb-base-submit-buttons");return l(),c(S,null,[n(C,{show:m.showChargePointModal,title:"Ladepunkt löschen",subtype:"danger",buttons:[{text:"Löschen",event:"confirm",subtype:"danger"}],onModalResult:a[0]||(a[0]=s=>p.removeChargePoint(m.modalChargePointIndex,s))},{default:o(()=>[i(' Wollen Sie den Ladepunkt "'+k(p.getChargePointName(m.modalChargePointIndex))+'" (ID: '+k(m.modalChargePointIndex)+") wirklich entfernen? Dieser Vorgang kann nicht rückgängig gemacht werden! ",1)]),_:1},8,["show"]),n(C,{show:m.showChargePointTemplateModal,title:"Ladepunkt-Profil löschen",subtype:"danger",buttons:[{text:"Löschen",event:"confirm",subtype:"danger"}],onModalResult:a[1]||(a[1]=s=>p.removeChargePointTemplate(m.modalChargePointTemplateIndex,s))},{default:o(()=>[i(' Wollen Sie das Ladepunkt-Profil "'+k(p.getChargePointTemplateName(m.modalChargePointTemplateIndex))+'" (ID: '+k(m.modalChargePointTemplateIndex)+") wirklich entfernen? Dieser Vorgang kann nicht rückgängig gemacht werden! ",1)]),_:1},8,["show"]),n(C,{show:m.showChargePointTemplateAutolockPlanModal,title:"Autolock Zeitplan löschen",subtype:"danger",buttons:[{text:"Löschen",event:"confirm",subtype:"danger"}],onModalResult:a[2]||(a[2]=s=>p.removeChargePointTemplateAutolockPlan(m.modalChargePointTemplateIndex,m.modalChargePointTemplateAutolockPlanIndex,s))},{default:o(()=>[i(' Wollen Sie den Autolock Zeitplan "'+k(p.getChargePointTemplateAutolockPlanName(m.modalChargePointTemplateIndex,m.modalChargePointTemplateAutolockPlanIndex))+'" wirklich entfernen? Dieser Vorgang kann nicht rückgängig gemacht werden! ',1)]),_:1},8,["show"]),d("div",Ce,[d("form",ye,[n(I,{title:"Ladepunkte",subtype:"primary",collapsible:!0,collapsed:!0},{header:o(()=>[n(f,{"fixed-width":"",icon:["fas","charging-station"]}),i(" Ladepunkte ")]),default:o(()=>[(l(!0),c(S,null,A(p.installedChargePoints,(s,r)=>(l(),v(I,{key:r,title:s.name+" (ID: "+s.id+")",collapsible:!0,collapsed:!0,subtype:"primary"},{actions:o(t=>[t.collapsed?w("",!0):(l(),v(L,{key:0,class:"bg-danger clickable",onClick:_=>p.removeChargePointModal(r,_)},{default:o(()=>[n(f,{"fixed-width":"",icon:["fas","trash"]})]),_:2},1032,["onClick"]))]),default:o(()=>[n(V,{title:"Bezeichnung",subtype:"text","model-value":s.name,"onUpdate:modelValue":t=>e.updateState(r,t,"name")},null,8,["model-value","onUpdate:modelValue"]),n(V,{title:"Modul",subtype:"text",disabled:"",readonly:"","model-value":e.$store.state.mqtt[r].type},null,8,["model-value"]),s.type!=="internal_openwb"||e.$store.state.mqtt["openWB/general/extern"]===!1?(l(),c("span",Pe,[n(U,{title:"Ladepunkt-Profil",options:p.chargePointTemplateList,"model-value":e.$store.state.mqtt[r].template,"onUpdate:modelValue":t=>e.updateState(r,t,"template")},null,8,["options","model-value","onUpdate:modelValue"])])):w("",!0),Ve,n(N,{chargePointId:s.id,chargePointType:e.$store.state.mqtt[r].type,moduleName:e.$store.state.mqtt[r].name,configuration:s.configuration,"onUpdate:configuration":t=>p.updateConfiguration(r,t)},null,8,["chargePointId","chargePointType","moduleName","configuration","onUpdate:configuration"]),s.type!=="internal_openwb"||e.$store.state.mqtt["openWB/general/extern"]===!1?(l(),c("div",Le,[Te,n(W,null,{default:o(()=>[i("Hardware-Optionen")]),_:1}),n(y,{title:"automatische Phasenumschaltung vorhanden",buttons:[{buttonValue:!1,text:"Nein"},{buttonValue:!0,text:"Ja"}],"model-value":s.auto_phase_switch_hw,"onUpdate:modelValue":t=>e.updateState(r,t,"auto_phase_switch_hw")},null,8,["model-value","onUpdate:modelValue"]),n(y,{title:"Control-Pilot-Unterbrechung vorhanden",buttons:[{buttonValue:!1,text:"Nein"},{buttonValue:!0,text:"Ja"}],"model-value":s.control_pilot_interruption_hw,"onUpdate:modelValue":t=>e.updateState(r,t,"control_pilot_interruption_hw")},{help:o(()=>[i(' Die Control-Pilot-Leitung ist im Ladekabel integriert und dient der Steuerung der Fahrzeugladung (An/Aus/Stromvorgaben). Bei einigen Fahrzeugen können durch die Regelung erzwungene, längere Ladestopps (z.B. beim PV-Laden) zu unerwünschten "Einschlaf"-Effekten des Fahrzeuges führen. Mit diesem feature, welches hardwareseitig verbaut sein muss, kann ein Abstecken des Ladesteckers simuliert werden, um ein Aufwecken des Fahrzeuges zu ermöglichen. Die Funktion hängt immer auch vom Fahrzeugtyp ab. ')]),_:2},1032,["model-value","onUpdate:modelValue"]),n(W,null,{default:o(()=>[i(" Elektrischer Anschluss ")]),_:1}),n(y,{title:"Anzahl angeschlossener Phasen",buttons:[{buttonValue:1,text:"1"},{buttonValue:2,text:"2"},{buttonValue:3,text:"3"}],"model-value":s.connected_phases,"onUpdate:modelValue":t=>e.updateState(r,t,"connected_phases")},null,8,["model-value","onUpdate:modelValue"]),n(y,{title:"Phase 1 des Ladekabels",buttons:[{buttonValue:0,text:"unbekannt",class:"btn-outline-danger"},{buttonValue:1,text:"EVU L1",class:"btn-outline-success"},{buttonValue:2,text:"EVU L2",class:"btn-outline-success"},{buttonValue:3,text:"EVU L3",class:"btn-outline-success"}],"model-value":s.phase_1,"onUpdate:modelValue":t=>e.updateState(r,t,"phase_1")},{help:o(()=>[i(" Hier ist anzugeben, an welcher Phase des Hausanschlusses (EVU-Punkt) die Phase 1 dieses Ladepunktes angeschlossen ist. Diese Information wird für das Lastmanagement benötigt, um bei einer Schieflast gezielt einzelne Ladepunkte zu drosseln."),We,i(' Bei mehreren Ladepunkten macht es Sinn, die Phasen der LP rotierend anzuschließen, damit mehrere "nicht-dreiphasig" ladende Fahrzeuge mit optimaler Leistung laden können, bevor das Lastmanagement eingreift.'),Be,i(" Es wird vorausgesetzt, dass das Drehfeld innerhalb der Installation gleich bleibt. Wenn z.B. L1 des Ladepunktes auf EVU-L2 liegt, muss L2 des Ladepunktes auf EVU-L3 aufgelegt sein (und L3 des Ladepunktes auf EVU-L1)."),Se,i(" Eine Möglichkeit, die zur Ladepunktphase L1 zugehörige EVU-Phase zu ermitteln, ist eine einphasige Ladung zu starten und die Phasenströme am EVU-Zähler zu beobachten. Mit einem zweiphasig ladenden Fahrzeug kann danach auch der Anschluss von L2 ermittelt und so das Drehfeld kontrolliert werden."),Ie,i(" Im Zweifel bitte das Drehfeld von einer Fachkraft prüfen und korrigieren lassen. ")]),_:2},1032,["model-value","onUpdate:modelValue"])])):w("",!0)]),_:2},1032,["title"]))),128)),Object.keys(p.installedChargePoints).length>0?(l(),c("hr",Ae)):w("",!0),n(U,{class:"mb-2",title:"Verfügbare Ladepunkte",notSelected:"Bitte auswählen",options:p.getChargePointList(),"model-value":m.chargePointToAdd,"onUpdate:modelValue":a[3]||(a[3]=s=>m.chargePointToAdd=s)},{append:o(()=>[d("span",xe,[n(Z,{class:M(m.chargePointToAdd===void 0?"btn-outline-success":"btn-success"),disabled:m.chargePointToAdd===void 0,onButtonClicked:p.addChargePoint},{default:o(()=>[n(f,{"fixed-width":"",icon:["fas","plus"]})]),_:1},8,["class","disabled","onButtonClicked"])])]),help:o(()=>[i(" Bitte einen Ladepunkt auswählen, der der openWB-Regelung hinzugefügt werden soll."),Ue,ze]),_:1},8,["options","model-value"])]),_:1}),qe,n(I,{title:"Ladepunkt-Profile",collapsible:!0,collapsed:!0},{header:o(()=>[n(R,{"fixed-width":"",class:"fa-lg"},{default:o(()=>[n(f,{"fixed-width":"",icon:["far","file"]}),n(f,{"fixed-width":"",icon:["fas","charging-station"],transform:"shrink-8"})]),_:1}),i(" Ladepunkt-Profile ")]),actions:o(()=>[e.$store.state.mqtt["openWB/general/extern"]===!1?(l(),v(L,{key:0,class:"bg-success clickable",onClick:p.addChargePointTemplate},{default:o(()=>[n(f,{"fixed-width":"",icon:["fas","plus"]})]),_:1},8,["onClick"])):w("",!0)]),default:o(()=>[e.$store.state.mqtt["openWB/general/extern"]===!0?(l(),c("div",Ee,[n(z,{subtype:"info"},{default:o(()=>[i(' Diese Einstellungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. ')]),_:1})])):(l(),c("div",De,[(l(!0),c(S,null,A(p.chargePointTemplates,(s,r)=>(l(),v(I,{key:r,title:s.name+" (ID: "+p.getChargePointTemplateIndex(r)+")",collapsible:!0,collapsed:!0},O({default:o(()=>[n(V,{title:"Bezeichnung",subtype:"text","model-value":s.name,"onUpdate:modelValue":t=>e.updateState(r,t,"name"),disabled:r.endsWith("/0")},O({_:2},[r.endsWith("/0")?{name:"help",fn:o(()=>[i(" Das Standard-Profil kann nicht umbenannt werden. ")]),key:"0"}:void 0]),1032,["model-value","onUpdate:modelValue","disabled"]),Fe,e.$store.state.mqtt["openWB/optional/rfid/active"]===!0?(l(),c("div",Me,[n(W,null,{default:o(()=>[i(" Zugangskontrolle ")]),_:1}),n(y,{title:"Freigabe durch ID-Tags",buttons:[{buttonValue:!1,text:"Nein"},{buttonValue:!0,text:"Ja"}],"model-value":s.rfid_enabling,"onUpdate:modelValue":t=>e.updateState(r,t,"rfid_enabling")},null,8,["model-value","onUpdate:modelValue"]),n(j,{title:"Zugeordnete ID-Tags",noElementsMessage:"Keine ID-Tags zugeordnet.","model-value":s.valid_tags,"onUpdate:modelValue":t=>e.updateState(r,t,"valid_tags")},{help:o(()=>[i(" Wenn hier Tags eingetragen werden, können nur die eingetragenen Tags zur Fahrzeug-Zuordnung genutzt werden. Sind keine Tags eingetragen, wird nur die Zuordnung zum Fahrzeug geprüft. In diesem Fall können alle Fahrzeuge diesen Ladepunkt nutzen. "),Oe,d("span",{innerHTML:e.$store.state.text.rfidWiki},null,8,Ne)]),_:2},1032,["model-value","onUpdate:modelValue"]),Ze])):w("",!0),n(W,null,{default:o(()=>[i(" Angaben zum konfigurierten Ladestrom der openWB ")]),_:1}),n(z,{subtype:"info"},{default:o(()=>[i(" Hier werden die maximalen Ladeströme entsprechend der in dem zugeordneten Ladepunkt genutzten Phasen eingestellt."),Re,i(" Generell gilt, dass diese Werte in Übereinstimmung mit der Ausführung des Ladepunktes und des elektrischen Anschlusses bzw. der Absicherung zu wählen sind. Bei einer openWB mit 22kW Maximalleistung sind hier jeweils 32A einzustellen. Ist die openWB beispielsweise auf 11kW begrenzt (KfW-Förderung oder die Zuleitung ist mit 16A abgesichert), dann sind hier jeweils 16A einzustellen."),je,i(" Komplexere Installationen mit mehreren Ladepunkten werden im "),$e,i(" beschrieben. ")]),_:1}),n(q,{title:"Maximalstrom bei einer Phase",min:6,max:32,step:1,unit:"A","model-value":s.max_current_single_phase,"onUpdate:modelValue":t=>e.updateState(r,t,"max_current_single_phase")},null,8,["model-value","onUpdate:modelValue"]),n(q,{title:"Maximalstrom mehrere Phasen",min:6,max:32,step:1,unit:"A","model-value":s.max_current_multi_phases,"onUpdate:modelValue":t=>e.updateState(r,t,"max_current_multi_phases")},null,8,["model-value","onUpdate:modelValue"]),Je,n(W,null,{default:o(()=>[i("Automatische Sperre")]),_:1}),n(y,{title:"Automatische Sperre aktiv",buttons:[{buttonValue:!1,text:"Nein"},{buttonValue:!0,text:"Ja"}],"model-value":s.autolock.active,"onUpdate:modelValue":t=>e.updateState(r,t,"autolock.active")},{help:o(()=>[i(" Wird die automatische Sperre aktiviert, können Fahrzeugladungen mittels Zeitplan auf gewünschte Zeitbereiche eingeschränkt werden. Dies kann z.B. bei Zugänglichkeiten zu Ladepunkten in öffentlichen oder halb-öffentlichen Bereichen sinnvoll sein. ")]),_:2},1032,["model-value","onUpdate:modelValue"]),n(y,{title:"Erst nach Ladeende sperren",buttons:[{buttonValue:!1,text:"Nein"},{buttonValue:!0,text:"Ja"}],"model-value":s.autolock.wait_for_charging_end,"onUpdate:modelValue":t=>e.updateState(r,t,"autolock.wait_for_charging_end")},{help:o(()=>[i(' Wenn ein Zeitplan die automatische Sperre aktiviert, werden alle Ladepunkte direkt gesperrt und laufende Ladevorgänge beendet. Wird hier "Ja" ausgewählt, dann werden laufende Ladevorgänge NICHT beendet und diese Ladepunkte erst nach abgeschlossener Ladung gesperrt. ')]),_:2},1032,["model-value","onUpdate:modelValue"]),n(W,null,{actions:o(()=>[n(L,{class:"bg-success clickable",onClick:t=>p.addChargePointTemplateAutolockPlan(r,t)},{default:o(()=>[n(f,{"fixed-width":"",icon:["fas","plus"]})]),_:2},1032,["onClick"])]),default:o(()=>[i(" Zeitpläne für die automatische Sperre ")]),_:2},1024),(l(!0),c(S,null,A(p.getChargePointTemplateAutolockPlans(r),(t,_)=>(l(),v(I,{key:_,title:t.name,collapsible:!0,collapsed:!0},{actions:o(h=>[h.collapsed==!0?(l(),c("span",{key:0,onClick:ie(B=>e.updateState(_,!t.active,"active"),["stop"]),class:M(["subheader pill clickable",t.active?"bg-success":"bg-danger"])},[n(f,{"fixed-width":"",icon:["fas","clock"]}),i(" "+k(t.time[0])+" - "+k(t.time[1])+" ",1),t.frequency.selected=="once"?(l(),c("span",Ge,[n(f,{"fixed-width":"",icon:["fas","calendar-day"]}),i(" "+k(e.formatDate(t.frequency.once[0])==e.formatDate(t.frequency.once[1])?e.formatDate(t.frequency.once[0]):e.formatDate(t.frequency.once[0])+" - "+e.formatDate(t.frequency.once[1])),1)])):w("",!0),t.frequency.selected=="daily"?(l(),c("span",Qe,[n(f,{"fixed-width":"",icon:["fas","calendar-week"]})])):w("",!0),t.frequency.selected=="weekly"?(l(),c("span",Xe,[n(f,{"fixed-width":"",icon:["fas","calendar-alt"]})])):w("",!0)],10,He)):w("",!0),h.collapsed==!1?(l(),v(L,{key:1,class:"bg-danger clickable",onClick:B=>p.removeChargePointTemplateAutolockPlanModal(r,_,B)},{default:o(()=>[n(f,{"fixed-width":"",icon:["fas","trash"]})]),_:2},1032,["onClick"])):w("",!0)]),default:o(()=>[n(V,{title:"Bezeichnung","model-value":t.name,"onUpdate:modelValue":h=>e.updateState(_,h,"name")},null,8,["model-value","onUpdate:modelValue"]),n(y,{title:"Zeitplan aktiv",buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":t.active,"onUpdate:modelValue":h=>e.updateState(_,h,"active")},null,8,["model-value","onUpdate:modelValue"]),n(V,{title:"Sperren um",subtype:"time","model-value":t.time[0],"onUpdate:modelValue":h=>e.updateState(_,h,"time.0")},null,8,["model-value","onUpdate:modelValue"]),n(V,{title:"Freigeben um",subtype:"time","model-value":t.time[1],"onUpdate:modelValue":h=>e.updateState(_,h,"time.1")},null,8,["model-value","onUpdate:modelValue"]),n(y,{title:"Wiederholungen",buttons:[{buttonValue:"once",text:"Einmalig",class:"btn-outline-info"},{buttonValue:"daily",text:"Täglich",class:"btn-outline-info"},{buttonValue:"weekly",text:"Wöchentlich",class:"btn-outline-info"}],"model-value":t.frequency.selected,"onUpdate:modelValue":h=>e.updateState(_,h,"frequency.selected")},null,8,["model-value","onUpdate:modelValue"]),t.frequency.selected=="once"?(l(),v(V,{key:0,title:"Sperren ab ...",subtype:"date","model-value":t.frequency.once[0],"onUpdate:modelValue":h=>e.updateState(_,h,"frequency.once.0")},null,8,["model-value","onUpdate:modelValue"])):w("",!0),t.frequency.selected=="once"?(l(),v(V,{key:1,title:"... bis",subtype:"date",min:t.frequency.once[0],"model-value":t.frequency.once[1],"onUpdate:modelValue":h=>e.updateState(_,h,"frequency.once.1")},null,8,["min","model-value","onUpdate:modelValue"])):w("",!0),t.frequency.selected=="weekly"?(l(),c("div",Ye,[(l(!0),c(S,null,A(e.weekdays,(h,B)=>(l(),v(y,{key:B,title:h,buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}],"model-value":t.frequency.weekly[B],"onUpdate:modelValue":J=>e.updateState(_,J,"frequency.weekly."+B)},null,8,["title","model-value","onUpdate:modelValue"]))),128))])):w("",!0)]),_:2},1032,["title"]))),128))]),_:2},[r.endsWith("/0")?void 0:{name:"actions",fn:o(t=>[t.collapsed?w("",!0):(l(),v(L,{key:0,class:"bg-danger clickable",onClick:_=>p.removeChargePointTemplateModal(r,_)},{default:o(()=>[n(f,{"fixed-width":"",icon:["fas","trash"]})]),_:2},1032,["onClick"]))]),key:"0"}]),1032,["title"]))),128))]))]),_:1}),n($,{formName:"chargePointInstallationForm",onSave:a[4]||(a[4]=s=>e.$emit("save")),onReset:a[5]||(a[5]=s=>e.$emit("reset")),onDefaults:a[6]||(a[6]=s=>e.$emit("defaults"))})])])],64)}const rt=x(ve,[["render",Ke],["__scopeId","data-v-75fe5743"],["__file","/opt/openWB-dev/openwb-ui-settings/src/views/ChargePointInstallation.vue"]]);export{rt as default}; diff --git a/web/settings/assets/ChargePointInstallation-f0bccfd3.js b/web/settings/assets/ChargePointInstallation-f0bccfd3.js deleted file mode 100644 index cd2d8e12b5..0000000000 --- a/web/settings/assets/ChargePointInstallation-f0bccfd3.js +++ /dev/null @@ -1 +0,0 @@ -import{l as H,d as G,_ as Q,A as X,$ as Y,a0 as K,K as ee,a1 as te,F as ne,I as ae}from"./vendor-fortawesome-9fdc06a9.js";import{_ as T,C as oe}from"./index-131a952e.js";import{_ as E}from"./dynamic-import-helper-be004503.js";import{_ as x,q as g,k as l,l as c,z as v,M as o,x as i,y as k,B as n,u as d,a1 as D,a2 as F,I as S,J as A,A as w,p as M,a3 as O,O as ie,R as le,S as se}from"./vendor-f0f38b48.js";import"./vendor-bootstrap-384bc385.js";import"./vendor-jquery-8576ed22.js";import"./vendor-axios-e59ef189.js";import"./vendor-sortablejs-cbf37f8f.js";const re={name:"ChargePointConfigFallback",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},chargePointId:{default:void 0},chargePointType:String},methods:{updateConfiguration(e,a=void 0){this.$emit("update:configuration",{value:e,object:a})}}},ue={class:"device-fallback"},de={key:1};function pe(e,a,u,P,m,p){const C=g("openwb-base-alert"),f=g("openwb-base-textarea");return l(),c("div",ue,[Object.keys(u.configuration).length==0?(l(),v(C,{key:0,subtype:"info"},{default:o(()=>[i(' Der Ladepunkt-Typ "'+k(u.chargePointType)+'" bietet keine Einstellungen. ',1)]),_:1})):(l(),c("div",de,[n(C,{subtype:"warning"},{default:o(()=>[i(' Es wurde keine Konfigurationsseite für den Ladepunkt-Typ "'+k(u.chargePointType)+'" gefunden. Die Einstellungen können als JSON direkt bearbeitet werden. ',1)]),_:1}),n(f,{title:"Konfiguration",subtype:"json","model-value":u.configuration,"onUpdate:modelValue":a[0]||(a[0]=L=>p.updateConfiguration(L,"configuration"))},{help:o(()=>[i(" Bitte prüfen Sie, ob die Eingaben richtig interpretiert werden. ")]),_:1},8,["model-value"]),n(C,{subtype:"info"},{default:o(()=>[d("pre",null,k(JSON.stringify(u.configuration,void 0,2)),1)]),_:1})]))])}const me=x(re,[["render",pe],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/charge_points/OpenwbChargePointConfigFallback.vue"]]),ce={name:"ChargePointCommandsFallback",props:{configuration:{type:Object,required:!0},chargePointId:{default:void 0},chargePointType:String}},ge={class:"charge-point-commands-fallback"};function he(e,a,u,P,m,p){const C=g("openwb-base-alert");return l(),c("div",ge,[n(C,{subtype:"secondary"},{default:o(()=>[i(' Der Ladepunkt-Typ "'+k(u.chargePointType)+'" bietet keine Befehle an. ',1)]),_:1})])}const fe=x(ce,[["render",he],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/charge_points/OpenwbChargePointCommandsFallback.vue"]]),be={name:"OpenwbChargePointProxy",emits:["update:configuration"],props:{chargePointId:{required:!0},chargePointType:{type:String,required:!0},configuration:{type:Object,required:!0},moduleName:{type:String,required:!1,default:void 0}},computed:{myChargePointSettingsComponent(){return console.debug(`loading charge point settings: ${this.chargePointType}`),D({loader:()=>E(Object.assign({"./external_openwb/chargePoint.vue":()=>T(()=>import("./chargePoint-7f675b57.js"),["assets/chargePoint-7f675b57.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./internal_openwb/chargePoint.vue":()=>T(()=>import("./chargePoint-aec7a368.js"),["assets/chargePoint-aec7a368.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./mqtt/chargePoint.vue":()=>T(()=>import("./chargePoint-3b7886f2.js"),["assets/chargePoint-3b7886f2.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./openwb_pro/chargePoint.vue":()=>T(()=>import("./chargePoint-1fa33c24.js"),["assets/chargePoint-1fa33c24.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./openwb_series2_satellit/chargePoint.vue":()=>T(()=>import("./chargePoint-f8eca554.js"),["assets/chargePoint-f8eca554.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./smartwb/chargePoint.vue":()=>T(()=>import("./chargePoint-fd2d17a4.js"),["assets/chargePoint-fd2d17a4.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"])}),`./${this.chargePointType}/chargePoint.vue`),errorComponent:me})},myChargePointCommandsComponent(){return console.debug(`loading charge point commands: ${this.chargePointType}`),D({loader:()=>E(Object.assign({"./openwb_pro/commands.vue":()=>T(()=>import("./commands-02fea48b.js"),["assets/commands-02fea48b.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"])}),`./${this.chargePointType}/commands.vue`),errorComponent:fe})}},methods:{updateConfiguration(e){this.$emit("update:configuration",e)}}},_e=d("hr",null,null,-1);function we(e,a,u,P,m,p){const C=g("openwb-base-heading");return l(),c(S,null,[n(C,null,{default:o(()=>[i(" Einstellungen für Ladepunkt "+k(u.moduleName),1)]),_:1}),(l(),v(F(p.myChargePointSettingsComponent),{configuration:u.configuration,chargePointId:u.chargePointId,chargePointType:u.chargePointType,"onUpdate:configuration":a[0]||(a[0]=f=>p.updateConfiguration(f))},null,40,["configuration","chargePointId","chargePointType"])),_e,n(C,null,{default:o(()=>[i(" Befehle für Ladepunkt "+k(u.moduleName),1)]),_:1}),(l(),v(F(p.myChargePointCommandsComponent),{configuration:u.configuration,chargePointId:u.chargePointId,chargePointType:u.chargePointType},null,8,["configuration","chargePointId","chargePointType"]))],64)}const ke=x(be,[["render",we],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/charge_points/OpenwbChargePointProxy.vue"]]);H.add(G,Q,X,Y,K,ee,te);const ve={name:"OpenwbChargePointInstallation",mixins:[oe],emits:["sendCommand"],components:{FontAwesomeIcon:ne,FontAwesomeLayers:ae,OpenwbChargePointProxy:ke},data(){return{mqttTopicsToSubscribe:["openWB/general/extern","openWB/optional/rfid/active","openWB/chargepoint/+/config","openWB/chargepoint/template/+","openWB/chargepoint/template/+/autolock/+","openWB/system/configurable/chargepoints","openWB/system/configurable/chargepoints_internal"],chargePointToAdd:void 0,showChargePointModal:!1,modalChargePointIndex:void 0,showChargePointTemplateModal:!1,modalChargePointTemplateIndex:void 0,showChargePointTemplateAutolockPlanModal:!1,modalChargePointTemplateAutolockPlanIndex:void 0}},computed:{installedChargePoints:{get(){let e=this.getWildcardTopics("openWB/chargepoint/+/config"),a={};for(const[u,P]of Object.entries(e))(P.type==="internal_openwb"||this.$store.state.mqtt["openWB/general/extern"]===!1)&&(a[u]=P);return a}},chargePointTemplates:{get(){return this.getWildcardTopics("openWB/chargepoint/template/+")}},chargePointTemplateList:{get(){let e=[];return Object.keys(this.chargePointTemplates).forEach(a=>{let u=parseInt(a.match(/([0-9]+)/g)[0]),P=this.$store.state.mqtt["openWB/chargepoint/template/"+u].name;e.push({value:u,text:P})}),e}}},methods:{addChargePoint(e){e.stopPropagation(),this.$emit("sendCommand",{command:"addChargepoint",data:{type:this.chargePointToAdd}})},removeChargePointModal(e,a){a.stopPropagation(),this.modalChargePointIndex=parseInt(e.match(/(?:\/)(\d+)(?=\/)/)[1]),this.showChargePointModal=!0},removeChargePoint(e,a){this.showChargePointModal=!1,a=="confirm"&&(console.debug("request removal of charge point '"+e+"'"),this.$emit("sendCommand",{command:"removeChargepoint",data:{id:e}}))},getChargePointList(){return this.$store.state.mqtt["openWB/general/extern"]===!1?this.$store.state.mqtt["openWB/system/configurable/chargepoints"]:this.$store.state.mqtt["openWB/system/configurable/chargepoints_internal"]},getChargePointName(e){return this.$store.state.mqtt["openWB/chargepoint/"+e+"/config"]?this.$store.state.mqtt["openWB/chargepoint/"+e+"/config"].name:"Ladepunkt "+e},getChargePointTemplateName(e){return this.$store.state.mqtt["openWB/chargepoint/template/"+e]?this.$store.state.mqtt["openWB/chargepoint/template/"+e].name:"Profil "+e},addChargePointTemplate(e){e.stopPropagation(),this.$emit("sendCommand",{command:"addChargepointTemplate",data:{}})},getChargePointTemplateIndex(e){return parseInt(e.match(/([^/]+)$/)[0])},removeChargePointTemplateModal(e,a){a.stopPropagation(),this.modalChargePointTemplateIndex=this.getChargePointTemplateIndex(e),this.showChargePointTemplateModal=!0},removeChargePointTemplate(e,a){this.showChargePointTemplateModal=!1,a=="confirm"&&(console.debug("request removal of chargePoint template '"+e+"'"),this.$emit("sendCommand",{command:"removeChargepointTemplate",data:{id:e}}))},addChargePointTemplateAutolockPlan(e,a){a.stopPropagation(),console.info("requesting new charge point template autolock plan...");let u=this.getChargePointTemplateIndex(e);this.$emit("sendCommand",{command:"addAutolockPlan",data:{template:u}})},removeChargePointTemplateAutolockPlanModal(e,a,u){u.stopPropagation(),this.modalChargePointTemplateIndex=this.getChargePointTemplateIndex(e),this.modalChargePointTemplateAutolockPlanIndex=parseInt(a.match(/([^/]+)$/)[0]),this.showChargePointTemplateAutolockPlanModal=!0},removeChargePointTemplateAutolockPlan(e,a,u){this.showChargePointTemplateAutolockPlanModal=!1,u=="confirm"&&(console.debug("request removal of chargePoint template '"+e+"' autolock plan '"+a+"'"),this.$emit("sendCommand",{command:"removeAutolockPlan",data:{template:e,plan:a}}))},getChargePointTemplateAutolockPlanName(e,a){return this.$store.state.mqtt["openWB/chargepoint/template/"+e+"/autolock/"+a]?this.$store.state.mqtt["openWB/chargepoint/template/"+e+"/autolock/"+a].name:"Autolock Zeitplan "+e+"/"+a},getChargePointTemplateAutolockPlans(e){let a=this.getChargePointTemplateIndex(e);return this.getWildcardTopics("openWB/chargepoint/template/"+a+"/autolock/+")},updateConfiguration(e,a){console.debug("updateConfiguration",e,a),this.updateState(e,a.value,a.object)}}},b=e=>(le("data-v-75fe5743"),e=e(),se(),e),Ce={class:"chargePointInstallation"},ye={name:"chargePointInstallationForm"},Pe={key:0},Ve=b(()=>d("hr",null,null,-1)),Le={key:1},Te=b(()=>d("hr",null,null,-1)),We=b(()=>d("br",null,null,-1)),Be=b(()=>d("br",null,null,-1)),Se=b(()=>d("br",null,null,-1)),Ie=b(()=>d("br",null,null,-1)),Ae={key:0},xe={class:"col-1"},Ue=b(()=>d("br",null,null,-1)),ze=b(()=>d("ul",null,[d("li",null," Interne openWB - wenn diese openWB über einen verbauten Ladepunkt mit Regelcontroller verfügt (z.B. Standard(+), Custom, Duo, Buchse, NICHT Standalone); ansonsten immer anlegen, egal ob diese openWB steuert = primary oder ferngesteuert wird = secondary "),d("li",null," Externe openWB - wenn diese openWB (primary) die Fernsteuerung von externen openWB (secondary) übernimmt "),d("li",null," MQTT-Ladepunkt - nur zur Nutzung des openWB-Simulators zugelassen "),d("li",null," openWB Pro - wenn diese openWB (primary) die Fernsteuerung einer openWB Pro (secondary) übernimmt "),d("li",null," openWB series2 Satellit/Satellit Duo - wenn diese openWB (primary) die Fernsteuerung einer openWB series2 Satellit/Satellit Duo (secondary) übernimmt "),d("li",null," smartWB/EVSE-Wifi - wenn diese openWB (primary) die Fernsteuerung einer smartWB/EVSE-Wifi übernimmt ")],-1)),qe=b(()=>d("hr",{class:"border-secondary"},null,-1)),Ee={key:0},De={key:1},Fe=b(()=>d("hr",null,null,-1)),Me={key:0},Oe=b(()=>d("br",null,null,-1)),Ne=["innerHTML"],Ze=b(()=>d("hr",null,null,-1)),Re=b(()=>d("br",null,null,-1)),je=b(()=>d("br",null,null,-1)),$e=b(()=>d("a",{href:"https://github.com/openWB/core/wiki/Lastmanagement-und-kaskadierte-Z%C3%A4hler",target:"_blank",rel:"noopener noreferrer"},"Wiki zum Lastmanagement",-1)),Je=b(()=>d("hr",null,null,-1)),He=["onClick"],Ge={key:0},Qe={key:1},Xe={key:2},Ye={key:2};function Ke(e,a,u,P,m,p){const C=g("openwb-base-modal-dialog"),f=g("font-awesome-icon"),L=g("openwb-base-avatar"),V=g("openwb-base-text-input"),U=g("openwb-base-select-input"),N=g("openwb-charge-point-proxy"),W=g("openwb-base-heading"),y=g("openwb-base-button-group-input"),I=g("openwb-base-card"),Z=g("openwb-base-click-button"),R=g("font-awesome-layers"),z=g("openwb-base-alert"),j=g("openwb-base-array-input"),q=g("openwb-base-range-input"),$=g("openwb-base-submit-buttons");return l(),c(S,null,[n(C,{show:m.showChargePointModal,title:"Ladepunkt löschen",subtype:"danger",buttons:[{text:"Löschen",event:"confirm",subtype:"danger"}],onModalResult:a[0]||(a[0]=s=>p.removeChargePoint(m.modalChargePointIndex,s))},{default:o(()=>[i(' Wollen Sie den Ladepunkt "'+k(p.getChargePointName(m.modalChargePointIndex))+'" (ID: '+k(m.modalChargePointIndex)+") wirklich entfernen? Dieser Vorgang kann nicht rückgängig gemacht werden! ",1)]),_:1},8,["show"]),n(C,{show:m.showChargePointTemplateModal,title:"Ladepunkt-Profil löschen",subtype:"danger",buttons:[{text:"Löschen",event:"confirm",subtype:"danger"}],onModalResult:a[1]||(a[1]=s=>p.removeChargePointTemplate(m.modalChargePointTemplateIndex,s))},{default:o(()=>[i(' Wollen Sie das Ladepunkt-Profil "'+k(p.getChargePointTemplateName(m.modalChargePointTemplateIndex))+'" (ID: '+k(m.modalChargePointTemplateIndex)+") wirklich entfernen? Dieser Vorgang kann nicht rückgängig gemacht werden! ",1)]),_:1},8,["show"]),n(C,{show:m.showChargePointTemplateAutolockPlanModal,title:"Autolock Zeitplan löschen",subtype:"danger",buttons:[{text:"Löschen",event:"confirm",subtype:"danger"}],onModalResult:a[2]||(a[2]=s=>p.removeChargePointTemplateAutolockPlan(m.modalChargePointTemplateIndex,m.modalChargePointTemplateAutolockPlanIndex,s))},{default:o(()=>[i(' Wollen Sie den Autolock Zeitplan "'+k(p.getChargePointTemplateAutolockPlanName(m.modalChargePointTemplateIndex,m.modalChargePointTemplateAutolockPlanIndex))+'" wirklich entfernen? Dieser Vorgang kann nicht rückgängig gemacht werden! ',1)]),_:1},8,["show"]),d("div",Ce,[d("form",ye,[n(I,{title:"Ladepunkte",subtype:"primary",collapsible:!0,collapsed:!0},{header:o(()=>[n(f,{"fixed-width":"",icon:["fas","charging-station"]}),i(" Ladepunkte ")]),default:o(()=>[(l(!0),c(S,null,A(p.installedChargePoints,(s,r)=>(l(),v(I,{key:r,title:s.name+" (ID: "+s.id+")",collapsible:!0,collapsed:!0,subtype:"primary"},{actions:o(t=>[t.collapsed?w("",!0):(l(),v(L,{key:0,class:"bg-danger clickable",onClick:_=>p.removeChargePointModal(r,_)},{default:o(()=>[n(f,{"fixed-width":"",icon:["fas","trash"]})]),_:2},1032,["onClick"]))]),default:o(()=>[n(V,{title:"Bezeichnung",subtype:"text","model-value":s.name,"onUpdate:modelValue":t=>e.updateState(r,t,"name")},null,8,["model-value","onUpdate:modelValue"]),n(V,{title:"Modul",subtype:"text",disabled:"",readonly:"","model-value":e.$store.state.mqtt[r].type},null,8,["model-value"]),s.type!=="internal_openwb"||e.$store.state.mqtt["openWB/general/extern"]===!1?(l(),c("span",Pe,[n(U,{title:"Ladepunkt-Profil",options:p.chargePointTemplateList,"model-value":e.$store.state.mqtt[r].template,"onUpdate:modelValue":t=>e.updateState(r,t,"template")},null,8,["options","model-value","onUpdate:modelValue"])])):w("",!0),Ve,n(N,{chargePointId:s.id,chargePointType:e.$store.state.mqtt[r].type,moduleName:e.$store.state.mqtt[r].name,configuration:s.configuration,"onUpdate:configuration":t=>p.updateConfiguration(r,t)},null,8,["chargePointId","chargePointType","moduleName","configuration","onUpdate:configuration"]),s.type!=="internal_openwb"||e.$store.state.mqtt["openWB/general/extern"]===!1?(l(),c("div",Le,[Te,n(W,null,{default:o(()=>[i("Hardware-Optionen")]),_:1}),n(y,{title:"automatische Phasenumschaltung vorhanden",buttons:[{buttonValue:!1,text:"Nein"},{buttonValue:!0,text:"Ja"}],"model-value":s.auto_phase_switch_hw,"onUpdate:modelValue":t=>e.updateState(r,t,"auto_phase_switch_hw")},null,8,["model-value","onUpdate:modelValue"]),n(y,{title:"Control-Pilot-Unterbrechung vorhanden",buttons:[{buttonValue:!1,text:"Nein"},{buttonValue:!0,text:"Ja"}],"model-value":s.control_pilot_interruption_hw,"onUpdate:modelValue":t=>e.updateState(r,t,"control_pilot_interruption_hw")},{help:o(()=>[i(' Die Control-Pilot-Leitung ist im Ladekabel integriert und dient der Steuerung der Fahrzeugladung (An/Aus/Stromvorgaben). Bei einigen Fahrzeugen können durch die Regelung erzwungene, längere Ladestopps (z.B. beim PV-Laden) zu unerwünschten "Einschlaf"-Effekten des Fahrzeuges führen. Mit diesem feature, welches hardwareseitig verbaut sein muss, kann ein Abstecken des Ladesteckers simuliert werden, um ein Aufwecken des Fahrzeuges zu ermöglichen. Die Funktion hängt immer auch vom Fahrzeugtyp ab. ')]),_:2},1032,["model-value","onUpdate:modelValue"]),n(W,null,{default:o(()=>[i(" Elektrischer Anschluss ")]),_:1}),n(y,{title:"Anzahl angeschlossener Phasen",buttons:[{buttonValue:1,text:"1"},{buttonValue:2,text:"2"},{buttonValue:3,text:"3"}],"model-value":s.connected_phases,"onUpdate:modelValue":t=>e.updateState(r,t,"connected_phases")},null,8,["model-value","onUpdate:modelValue"]),n(y,{title:"Phase 1 des Ladekabels",buttons:[{buttonValue:0,text:"unbekannt",class:"btn-outline-danger"},{buttonValue:1,text:"EVU L1",class:"btn-outline-success"},{buttonValue:2,text:"EVU L2",class:"btn-outline-success"},{buttonValue:3,text:"EVU L3",class:"btn-outline-success"}],"model-value":s.phase_1,"onUpdate:modelValue":t=>e.updateState(r,t,"phase_1")},{help:o(()=>[i(" Hier ist anzugeben, an welcher Phase des Hausanschlusses (EVU-Punkt) die Phase 1 dieses Ladepunktes angeschlossen ist. Diese Information wird für das Lastmanagement benötigt, um bei einer Schieflast gezielt einzelne Ladepunkte zu drosseln."),We,i(' Bei mehreren Ladepunkten macht es Sinn, die Phasen der LP rotierend anzuschließen, damit mehrere "nicht-dreiphasig" ladende Fahrzeuge mit optimaler Leistung laden können, bevor das Lastmanagement eingreift.'),Be,i(" Es wird vorausgesetzt, dass das Drehfeld innerhalb der Installation gleich bleibt. Wenn z.B. L1 des Ladepunktes auf EVU-L2 liegt, muss L2 des Ladepunktes auf EVU-L3 aufgelegt sein (und L3 des Ladepunktes auf EVU-L1)."),Se,i(" Eine Möglichkeit, die zur Ladepunktphase L1 zugehörige EVU-Phase zu ermitteln, ist eine einphasige Ladung zu starten und die Phasenströme am EVU-Zähler zu beobachten. Mit einem zweiphasig ladenden Fahrzeug kann danach auch der Anschluss von L2 ermittelt und so das Drehfeld kontrolliert werden."),Ie,i(" Im Zweifel bitte das Drehfeld von einer Fachkraft prüfen und korrigieren lassen. ")]),_:2},1032,["model-value","onUpdate:modelValue"])])):w("",!0)]),_:2},1032,["title"]))),128)),Object.keys(p.installedChargePoints).length>0?(l(),c("hr",Ae)):w("",!0),n(U,{class:"mb-2",title:"Verfügbare Ladepunkte",notSelected:"Bitte auswählen",options:p.getChargePointList(),"model-value":m.chargePointToAdd,"onUpdate:modelValue":a[3]||(a[3]=s=>m.chargePointToAdd=s)},{append:o(()=>[d("span",xe,[n(Z,{class:M(m.chargePointToAdd===void 0?"btn-outline-success":"btn-success"),disabled:m.chargePointToAdd===void 0,onButtonClicked:p.addChargePoint},{default:o(()=>[n(f,{"fixed-width":"",icon:["fas","plus"]})]),_:1},8,["class","disabled","onButtonClicked"])])]),help:o(()=>[i(" Bitte einen Ladepunkt auswählen, der der openWB-Regelung hinzugefügt werden soll."),Ue,ze]),_:1},8,["options","model-value"])]),_:1}),qe,n(I,{title:"Ladepunkt-Profile",collapsible:!0,collapsed:!0},{header:o(()=>[n(R,{"fixed-width":"",class:"fa-lg"},{default:o(()=>[n(f,{"fixed-width":"",icon:["far","file"]}),n(f,{"fixed-width":"",icon:["fas","charging-station"],transform:"shrink-8"})]),_:1}),i(" Ladepunkt-Profile ")]),actions:o(()=>[e.$store.state.mqtt["openWB/general/extern"]===!1?(l(),v(L,{key:0,class:"bg-success clickable",onClick:p.addChargePointTemplate},{default:o(()=>[n(f,{"fixed-width":"",icon:["fas","plus"]})]),_:1},8,["onClick"])):w("",!0)]),default:o(()=>[e.$store.state.mqtt["openWB/general/extern"]===!0?(l(),c("div",Ee,[n(z,{subtype:"info"},{default:o(()=>[i(' Diese Einstellungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. ')]),_:1})])):(l(),c("div",De,[(l(!0),c(S,null,A(p.chargePointTemplates,(s,r)=>(l(),v(I,{key:r,title:s.name+" (ID: "+p.getChargePointTemplateIndex(r)+")",collapsible:!0,collapsed:!0},O({default:o(()=>[n(V,{title:"Bezeichnung",subtype:"text","model-value":s.name,"onUpdate:modelValue":t=>e.updateState(r,t,"name"),disabled:r.endsWith("/0")},O({_:2},[r.endsWith("/0")?{name:"help",fn:o(()=>[i(" Das Standard-Profil kann nicht umbenannt werden. ")]),key:"0"}:void 0]),1032,["model-value","onUpdate:modelValue","disabled"]),Fe,e.$store.state.mqtt["openWB/optional/rfid/active"]===!0?(l(),c("div",Me,[n(W,null,{default:o(()=>[i(" Zugangskontrolle ")]),_:1}),n(y,{title:"Freigabe durch ID-Tags",buttons:[{buttonValue:!1,text:"Nein"},{buttonValue:!0,text:"Ja"}],"model-value":s.rfid_enabling,"onUpdate:modelValue":t=>e.updateState(r,t,"rfid_enabling")},null,8,["model-value","onUpdate:modelValue"]),n(j,{title:"Zugeordnete ID-Tags",noElementsMessage:"Keine ID-Tags zugeordnet.","model-value":s.valid_tags,"onUpdate:modelValue":t=>e.updateState(r,t,"valid_tags")},{help:o(()=>[i(" Wenn hier Tags eingetragen werden, können nur die eingetragenen Tags zur Fahrzeug-Zuordnung genutzt werden. Sind keine Tags eingetragen, wird nur die Zuordnung zum Fahrzeug geprüft. In diesem Fall können alle Fahrzeuge diesen Ladepunkt nutzen. "),Oe,d("span",{innerHTML:e.$store.state.text.rfidWiki},null,8,Ne)]),_:2},1032,["model-value","onUpdate:modelValue"]),Ze])):w("",!0),n(W,null,{default:o(()=>[i(" Angaben zum konfigurierten Ladestrom der openWB ")]),_:1}),n(z,{subtype:"info"},{default:o(()=>[i(" Hier werden die maximalen Ladeströme entsprechend der in dem zugeordneten Ladepunkt genutzten Phasen eingestellt."),Re,i(" Generell gilt, dass diese Werte in Übereinstimmung mit der Ausführung des Ladepunktes und des elektrischen Anschlusses bzw. der Absicherung zu wählen sind. Bei einer openWB mit 22kW Maximalleistung sind hier jeweils 32A einzustellen. Ist die openWB beispielsweise auf 11kW begrenzt (KfW-Förderung oder die Zuleitung ist mit 16A abgesichert), dann sind hier jeweils 16A einzustellen."),je,i(" Komplexere Installationen mit mehreren Ladepunkten werden im "),$e,i(" beschrieben. ")]),_:1}),n(q,{title:"Maximalstrom bei einer Phase",min:6,max:32,step:1,unit:"A","model-value":s.max_current_single_phase,"onUpdate:modelValue":t=>e.updateState(r,t,"max_current_single_phase")},null,8,["model-value","onUpdate:modelValue"]),n(q,{title:"Maximalstrom mehrere Phasen",min:6,max:32,step:1,unit:"A","model-value":s.max_current_multi_phases,"onUpdate:modelValue":t=>e.updateState(r,t,"max_current_multi_phases")},null,8,["model-value","onUpdate:modelValue"]),Je,n(W,null,{default:o(()=>[i("Automatische Sperre")]),_:1}),n(y,{title:"Automatische Sperre aktiv",buttons:[{buttonValue:!1,text:"Nein"},{buttonValue:!0,text:"Ja"}],"model-value":s.autolock.active,"onUpdate:modelValue":t=>e.updateState(r,t,"autolock.active")},{help:o(()=>[i(" Wird die automatische Sperre aktiviert, können Fahrzeugladungen mittels Zeitplan auf gewünschte Zeitbereiche eingeschränkt werden. Dies kann z.B. bei Zugänglichkeiten zu Ladepunkten in öffentlichen oder halb-öffentlichen Bereichen sinnvoll sein. ")]),_:2},1032,["model-value","onUpdate:modelValue"]),n(y,{title:"Erst nach Ladeende sperren",buttons:[{buttonValue:!1,text:"Nein"},{buttonValue:!0,text:"Ja"}],"model-value":s.autolock.wait_for_charging_end,"onUpdate:modelValue":t=>e.updateState(r,t,"autolock.wait_for_charging_end")},{help:o(()=>[i(' Wenn ein Zeitplan die automatische Sperre aktiviert, werden alle Ladepunkte direkt gesperrt und laufende Ladevorgänge beendet. Wird hier "Ja" ausgewählt, dann werden laufende Ladevorgänge NICHT beendet und diese Ladepunkte erst nach abgeschlossener Ladung gesperrt. ')]),_:2},1032,["model-value","onUpdate:modelValue"]),n(W,null,{actions:o(()=>[n(L,{class:"bg-success clickable",onClick:t=>p.addChargePointTemplateAutolockPlan(r,t)},{default:o(()=>[n(f,{"fixed-width":"",icon:["fas","plus"]})]),_:2},1032,["onClick"])]),default:o(()=>[i(" Zeitpläne für die automatische Sperre ")]),_:2},1024),(l(!0),c(S,null,A(p.getChargePointTemplateAutolockPlans(r),(t,_)=>(l(),v(I,{key:_,title:t.name,collapsible:!0,collapsed:!0},{actions:o(h=>[h.collapsed==!0?(l(),c("span",{key:0,onClick:ie(B=>e.updateState(_,!t.active,"active"),["stop"]),class:M(["subheader pill clickable",t.active?"bg-success":"bg-danger"])},[n(f,{"fixed-width":"",icon:["fas","clock"]}),i(" "+k(t.time[0])+" - "+k(t.time[1])+" ",1),t.frequency.selected=="once"?(l(),c("span",Ge,[n(f,{"fixed-width":"",icon:["fas","calendar-day"]}),i(" "+k(e.formatDate(t.frequency.once[0])==e.formatDate(t.frequency.once[1])?e.formatDate(t.frequency.once[0]):e.formatDate(t.frequency.once[0])+" - "+e.formatDate(t.frequency.once[1])),1)])):w("",!0),t.frequency.selected=="daily"?(l(),c("span",Qe,[n(f,{"fixed-width":"",icon:["fas","calendar-week"]})])):w("",!0),t.frequency.selected=="weekly"?(l(),c("span",Xe,[n(f,{"fixed-width":"",icon:["fas","calendar-alt"]})])):w("",!0)],10,He)):w("",!0),h.collapsed==!1?(l(),v(L,{key:1,class:"bg-danger clickable",onClick:B=>p.removeChargePointTemplateAutolockPlanModal(r,_,B)},{default:o(()=>[n(f,{"fixed-width":"",icon:["fas","trash"]})]),_:2},1032,["onClick"])):w("",!0)]),default:o(()=>[n(V,{title:"Bezeichnung","model-value":t.name,"onUpdate:modelValue":h=>e.updateState(_,h,"name")},null,8,["model-value","onUpdate:modelValue"]),n(y,{title:"Zeitplan aktiv",buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":t.active,"onUpdate:modelValue":h=>e.updateState(_,h,"active")},null,8,["model-value","onUpdate:modelValue"]),n(V,{title:"Sperren um",subtype:"time","model-value":t.time[0],"onUpdate:modelValue":h=>e.updateState(_,h,"time.0")},null,8,["model-value","onUpdate:modelValue"]),n(V,{title:"Freigeben um",subtype:"time","model-value":t.time[1],"onUpdate:modelValue":h=>e.updateState(_,h,"time.1")},null,8,["model-value","onUpdate:modelValue"]),n(y,{title:"Wiederholungen",buttons:[{buttonValue:"once",text:"Einmalig",class:"btn-outline-info"},{buttonValue:"daily",text:"Täglich",class:"btn-outline-info"},{buttonValue:"weekly",text:"Wöchentlich",class:"btn-outline-info"}],"model-value":t.frequency.selected,"onUpdate:modelValue":h=>e.updateState(_,h,"frequency.selected")},null,8,["model-value","onUpdate:modelValue"]),t.frequency.selected=="once"?(l(),v(V,{key:0,title:"Sperren ab ...",subtype:"date","model-value":t.frequency.once[0],"onUpdate:modelValue":h=>e.updateState(_,h,"frequency.once.0")},null,8,["model-value","onUpdate:modelValue"])):w("",!0),t.frequency.selected=="once"?(l(),v(V,{key:1,title:"... bis",subtype:"date",min:t.frequency.once[0],"model-value":t.frequency.once[1],"onUpdate:modelValue":h=>e.updateState(_,h,"frequency.once.1")},null,8,["min","model-value","onUpdate:modelValue"])):w("",!0),t.frequency.selected=="weekly"?(l(),c("div",Ye,[(l(!0),c(S,null,A(e.weekdays,(h,B)=>(l(),v(y,{key:B,title:h,buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}],"model-value":t.frequency.weekly[B],"onUpdate:modelValue":J=>e.updateState(_,J,"frequency.weekly."+B)},null,8,["title","model-value","onUpdate:modelValue"]))),128))])):w("",!0)]),_:2},1032,["title"]))),128))]),_:2},[r.endsWith("/0")?void 0:{name:"actions",fn:o(t=>[t.collapsed?w("",!0):(l(),v(L,{key:0,class:"bg-danger clickable",onClick:_=>p.removeChargePointTemplateModal(r,_)},{default:o(()=>[n(f,{"fixed-width":"",icon:["fas","trash"]})]),_:2},1032,["onClick"]))]),key:"0"}]),1032,["title"]))),128))]))]),_:1}),n($,{formName:"chargePointInstallationForm",onSave:a[4]||(a[4]=s=>e.$emit("save")),onReset:a[5]||(a[5]=s=>e.$emit("reset")),onDefaults:a[6]||(a[6]=s=>e.$emit("defaults"))})])])],64)}const rt=x(ve,[["render",Ke],["__scopeId","data-v-75fe5743"],["__file","/opt/openWB-dev/openwb-ui-settings/src/views/ChargePointInstallation.vue"]]);export{rt as default}; diff --git a/web/settings/assets/Chart-7456fa62.js b/web/settings/assets/Chart-6c34d9d6.js similarity index 98% rename from web/settings/assets/Chart-7456fa62.js rename to web/settings/assets/Chart-6c34d9d6.js index e989675de0..70eb16e387 100644 --- a/web/settings/assets/Chart-7456fa62.js +++ b/web/settings/assets/Chart-6c34d9d6.js @@ -1 +1 @@ -import{l as L,K as H,P as T,O as j,N as q,V as O,W as M,F as V}from"./vendor-fortawesome-9fdc06a9.js";import{C as z}from"./index-131a952e.js";import{C as E,p as K,a as P,L as B,b as N,B as F,f as J,P as $,c as X,T as Z,i as G,d as U,e as Y,g as Q}from"./vendor-chartjs-3e4a7d38.js";import{_ as ee,q as h,k as s,l as o,u as v,B as c,M as d,z as g,x as m,I as k,J as x,y as A,A as C}from"./vendor-f0f38b48.js";import"./vendor-bootstrap-384bc385.js";import"./vendor-jquery-8576ed22.js";import"./vendor-axios-e59ef189.js";import"./vendor-sortablejs-cbf37f8f.js";import"./vendor-luxon-78deadb9.js";L.add(H,T,j,q,O,M);E.register(K,P,B,N,F,J,$,X,Z,G,U);const te={name:"OpenwbChart",components:{ChartjsLine:Y,FontAwesomeIcon:V},mixins:[z],emits:["sendCommand"],props:{initialChartRange:{type:String,required:!1,validator:function(e){return["day","month","year"].indexOf(e)!==-1},default:"day"},initialDate:{type:String,required:!1,validator:function(e){return e.match(/^(([0-9]{4})(-[0-9]{2}(-[0-9]{2})?)?)?$/g)},default:""}},data(){return{mqttTopicsToSubscribe:["openWB/general/extern","openWB/log/daily/#","openWB/log/monthly/#","openWB/log/yearly/#","openWB/system/device/+/component/+/config","openWB/chargepoint/+/config","openWB/vehicle/+/name"],currentDate:"",chartRange:"day",blockChartInit:!1,chartRequestDate:{day:"",month:"",year:""},datasetTemplates:{"counter-power_average":{label:"Zähler",unit:"kW",jsonKey:null,borderColor:"rgba(255, 0, 0, 0.7)",backgroundColor:"rgba(255, 10, 13, 0.3)",fill:!0,pointStyle:"circle",pointRadius:0,pointHoverRadius:4,cubicInterpolationMode:"monotone",hidden:!1,borderWidth:1,data:null,yAxisID:"y",parsing:{xAxisKey:"timestamp",yAxisKey:null}},"counter-energy_imported":{label:"Zähler",unit:"kWh",jsonKey:null,borderColor:"rgba(255, 0, 0, 0.7)",backgroundColor:"rgba(255, 10, 13, 0.3)",fill:!0,pointStyle:"circle",pointRadius:0,pointHoverRadius:4,cubicInterpolationMode:"monotone",hidden:!1,borderWidth:1,data:null,yAxisID:"y2",parsing:{xAxisKey:"timestamp",yAxisKey:null}},"counter-energy_exported":{label:"Zähler",unit:"kWh",jsonKey:null,borderColor:"rgba(0, 255, 105, 0.7)",backgroundColor:"rgba(0, 255, 255, 0.3)",fill:!0,pointStyle:"circle",pointRadius:0,pointHoverRadius:4,cubicInterpolationMode:"monotone",hidden:!1,borderWidth:1,data:null,yAxisID:"y2",parsing:{xAxisKey:"timestamp",yAxisKey:null}},"pv-power_exported":{label:"PV",unit:"kW",jsonKey:null,borderColor:"rgba(40, 167, 69, 0.7)",backgroundColor:"rgba(10, 255, 13, 0.3)",fill:!0,pointStyle:"circle",pointRadius:0,pointHoverRadius:4,cubicInterpolationMode:"monotone",hidden:!0,borderWidth:1,data:null,yAxisID:"y",stack:"inverter-power",parsing:{xAxisKey:"timestamp",yAxisKey:null}},"pv-energy_exported":{label:"PV",unit:"kWh",jsonKey:null,borderColor:"rgba(40, 167, 69, 0.7)",backgroundColor:"rgba(10, 255, 13, 0.3)",fill:!0,pointStyle:"circle",pointRadius:0,pointHoverRadius:4,cubicInterpolationMode:"monotone",hidden:!0,borderWidth:1,data:null,yAxisID:"y2",stack:"inverter-exported",parsing:{xAxisKey:"timestamp",yAxisKey:null}},"bat-power_average":{label:"Speicher",unit:"kW",jsonKey:null,borderColor:"rgba(253, 126, 20, 0.7)",backgroundColor:"rgba(200, 255, 13, 0.3)",fill:!0,pointStyle:"circle",pointRadius:0,pointHoverRadius:4,cubicInterpolationMode:"monotone",hidden:!0,borderWidth:1,data:null,yAxisID:"y",stack:"battery-power",parsing:{xAxisKey:"timestamp",yAxisKey:null}},"bat-energy_imported":{label:"Speicher",unit:"kWh",jsonKey:null,borderColor:"rgba(253, 126, 20, 0.7)",backgroundColor:"rgba(200, 255, 13, 0.3)",fill:!0,pointStyle:"circle",pointRadius:0,pointHoverRadius:4,cubicInterpolationMode:"monotone",hidden:!0,borderWidth:1,data:null,yAxisID:"y2",stack:"battery-imported",parsing:{xAxisKey:"timestamp",yAxisKey:null}},"bat-energy_exported":{label:"Speicher",unit:"kWh",jsonKey:null,borderColor:"rgba(253, 126, 20, 0.7)",backgroundColor:"rgba(200, 255, 13, 0.3)",fill:!0,pointStyle:"circle",pointRadius:0,pointHoverRadius:4,cubicInterpolationMode:"monotone",hidden:!0,borderWidth:1,data:null,yAxisID:"y2",stack:"battery-exported",parsing:{xAxisKey:"timestamp",yAxisKey:null}},"bat-soc":{label:"Speicher SoC",unit:"%",jsonKey:null,borderColor:"rgba(253, 126, 20, 0.7)",backgroundColor:"rgba(200, 255, 13, 0.3)",borderDash:[10,5],hidden:!0,fill:!1,pointStyle:"circle",pointRadius:0,pointHoverRadius:4,cubicInterpolationMode:"monotone",borderWidth:2,data:null,yAxisID:"y3",parsing:{xAxisKey:"timestamp",yAxisKey:null}},"cp-power_average":{label:"Ladepunkt",unit:"kW",jsonKey:null,borderColor:"rgba(0, 0, 255, 0.7)",backgroundColor:"rgba(0, 0, 255, 0.3)",fill:!0,pointStyle:"circle",pointRadius:0,pointHoverRadius:4,cubicInterpolationMode:"monotone",hidden:!0,borderWidth:1,data:null,yAxisID:"y",stack:"charge-point-power",parsing:{xAxisKey:"timestamp",yAxisKey:null}},"cp-energy_imported":{label:"Ladepunkt",unit:"kWh",jsonKey:null,borderColor:"rgba(0, 0, 255, 0.7)",backgroundColor:"rgba(0, 0, 255, 0.3)",fill:!0,pointStyle:"circle",pointRadius:0,pointHoverRadius:4,cubicInterpolationMode:"monotone",hidden:!0,borderWidth:1,data:null,yAxisID:"y2",stack:"charge-point-imported",parsing:{xAxisKey:"timestamp",yAxisKey:null}},"cp-energy_imported_grid":{label:"Ladepunkt (Netzanteil)",unit:"kWh",type:"bar",jsonKey:null,borderColor:"rgba(255, 0, 0, 0.7)",backgroundColor:"rgba(0, 0, 255, 0.3)",fill:!0,pointStyle:"circle",pointRadius:0,pointHoverRadius:4,cubicInterpolationMode:"monotone",hidden:!0,borderWidth:3,data:null,yAxisID:"y2",stack:"charge-point-imported-source",parsing:{xAxisKey:"timestamp",yAxisKey:null}},"cp-energy_imported_pv":{label:"Ladepunkt (PV-Anteil)",unit:"kWh",type:"bar",jsonKey:null,borderColor:"rgba(40, 167, 69, 0.7)",backgroundColor:"rgba(0, 0, 255, 0.3)",fill:!0,pointStyle:"circle",pointRadius:0,pointHoverRadius:4,cubicInterpolationMode:"monotone",hidden:!0,borderWidth:3,data:null,yAxisID:"y2",stack:"charge-point-imported-source",parsing:{xAxisKey:"timestamp",yAxisKey:null}},"cp-energy_imported_bat":{label:"Ladepunkt (PV-Anteil)",unit:"kWh",type:"bar",jsonKey:null,borderColor:"rgba(253, 126, 20, 0.7)",backgroundColor:"rgba(0, 0, 255, 0.3)",fill:!0,pointStyle:"circle",pointRadius:0,pointHoverRadius:4,cubicInterpolationMode:"monotone",hidden:!0,borderWidth:3,data:null,yAxisID:"y2",stack:"charge-point-imported-source",parsing:{xAxisKey:"timestamp",yAxisKey:null}},"ev-soc":{label:"Fahrzeug SoC",unit:"%",jsonKey:null,borderColor:"rgba(0, 0, 255, 0.7)",backgroundColor:"rgba(0, 0, 255, 0.3)",borderDash:[10,5],hidden:!0,fill:!1,pointStyle:"circle",pointRadius:0,pointHoverRadius:4,cubicInterpolationMode:"monotone",borderWidth:2,data:null,yAxisID:"y3",parsing:{xAxisKey:"timestamp",yAxisKey:null}},"sh-power_average":{label:"SmartHome",unit:"kW",jsonKey:null,borderColor:"rgba(232, 62, 140, 0.7)",backgroundColor:"rgba(232, 72, 150, 0.3)",fill:!0,pointStyle:"circle",pointRadius:0,pointHoverRadius:4,cubicInterpolationMode:"monotone",hidden:!1,borderWidth:1,data:null,yAxisID:"y",parsing:{xAxisKey:"timestamp",yAxisKey:null}},"sh-energy_imported":{label:"SmartHome",unit:"kWh",jsonKey:null,borderColor:"rgba(232, 62, 140, 0.7)",backgroundColor:"rgba(232, 72, 150, 0.3)",fill:!0,pointStyle:"circle",pointRadius:0,pointHoverRadius:4,cubicInterpolationMode:"monotone",hidden:!1,borderWidth:1,data:null,yAxisID:"y2",parsing:{xAxisKey:"timestamp",yAxisKey:null}},"sh-energy_exported":{label:"SmartHome",unit:"kWh",jsonKey:null,borderColor:"rgba(232, 62, 140, 0.7)",backgroundColor:"rgba(232, 72, 150, 0.3)",fill:!0,pointStyle:"circle",pointRadius:0,pointHoverRadius:4,cubicInterpolationMode:"monotone",hidden:!1,borderWidth:1,data:null,yAxisID:"y2",parsing:{xAxisKey:"timestamp",yAxisKey:null}},"hc-power_imported":{label:"Hausverbrauch",unit:"kW",jsonKey:null,borderColor:"rgba(120, 122, 124, 0.7)",backgroundColor:"rgba(120, 122, 124, 0.3)",fill:!0,pointStyle:"circle",pointRadius:0,pointHoverRadius:4,cubicInterpolationMode:"monotone",hidden:!0,borderWidth:1,data:null,yAxisID:"y",parsing:{xAxisKey:"timestamp",yAxisKey:null}},"hc-energy_imported":{label:"Hausverbrauch",unit:"kWh",jsonKey:null,borderColor:"rgba(120, 122, 124, 0.7)",backgroundColor:"rgba(120, 122, 124, 0.3)",fill:!0,pointStyle:"circle",pointRadius:0,pointHoverRadius:4,cubicInterpolationMode:"monotone",hidden:!0,borderWidth:1,data:null,yAxisID:"y2",parsing:{xAxisKey:"timestamp",yAxisKey:null}},"hc-energy_imported_grid":{label:"Hausverbrauch (Netzanteil)",unit:"kWh",type:"bar",jsonKey:null,borderColor:"rgba(255, 0, 0, 0.7)",backgroundColor:"rgba(120, 122, 124, 0.3)",fill:!0,pointStyle:"circle",pointRadius:0,pointHoverRadius:4,cubicInterpolationMode:"monotone",hidden:!0,borderWidth:3,data:null,yAxisID:"y2",stack:"hc-energy-imported-source",parsing:{xAxisKey:"timestamp",yAxisKey:null}},"hc-energy_imported_pv":{label:"Hausverbrauch (PV-Anteil)",unit:"kWh",type:"bar",jsonKey:null,borderColor:"rgba(40, 167, 69, 0.7)",backgroundColor:"rgba(120, 122, 124, 0.3)",fill:!0,pointStyle:"circle",pointRadius:0,pointHoverRadius:4,cubicInterpolationMode:"monotone",hidden:!0,borderWidth:3,data:null,yAxisID:"y2",stack:"hc-energy-imported-source",parsing:{xAxisKey:"timestamp",yAxisKey:null}},"hc-energy_imported_bat":{label:"Hausverbrauch (PV-Anteil)",unit:"kWh",type:"bar",jsonKey:null,borderColor:"rgba(253, 126, 20, 0.7)",backgroundColor:"rgba(120, 122, 124, 0.3)",fill:!0,pointStyle:"circle",pointRadius:0,pointHoverRadius:4,cubicInterpolationMode:"monotone",hidden:!0,borderWidth:3,data:null,yAxisID:"y2",stack:"hc-energy-imported-source",parsing:{xAxisKey:"timestamp",yAxisKey:null}}},chartOptions:{plugins:{title:{display:!1},tooltip:{enabled:!0,callbacks:{label:e=>`${e.dataset.label}: ${e.formattedValue} ${e.dataset.unit}`}},legend:{display:!0},zoom:{pan:{enabled:!0,mode:"x",threshold:5},zoom:{wheel:{enabled:!0},pinch:{enabled:!0},mode:"x"}}},elements:{point:{radius:2}},responsive:!0,maintainAspectRatio:!1,interaction:{mode:"index",intersect:!1},scales:{x:{type:"time",time:{unit:"",tooltipFormat:""},display:!0,title:{display:!0,text:""},ticks:{source:"timestamp",font:{size:12},maxTicksLimit:0},grid:{}},y:{position:"left",type:"linear",display:"auto",suggestedMin:0,suggestedMax:0,title:{font:{size:12},display:!0,text:"Leistung [kW]"},grid:{},ticks:{font:{size:12},stepSize:.2,maxTicksLimit:11}},y2:{position:"left",type:"linear",display:"auto",suggestedMin:0,suggestedMax:0,title:{font:{size:12},display:!0,text:"Energie [kWh]"},grid:{},ticks:{font:{size:12},stepSize:.2,maxTicksLimit:11}},y3:{position:"right",type:"linear",display:"auto",suggestedMin:0,suggestedMax:100,title:{font:{size:12},display:!0,text:"SoC [%]"},grid:{display:!1},ticks:{font:{size:12},stepSize:10,maxTicksLimit:11}}}},chartDatasets:{datasets:[]}}},computed:{dateInput(){var e={title:"Datum",type:"date",min:"2018-01-01"};switch(this.chartRange){case"month":e={title:"Monat",type:"month",min:"2018-01"};break;case"year":e={title:"Jahr",type:"year",min:"2018"};break}return e},chartDate:{get(){var e=this.chartRequestDate.year;return this.chartRange!="year"&&(e=e+"-"+this.chartRequestDate.month),this.chartRange=="day"&&(e=e+"-"+this.chartRequestDate.day),e},set(e){let a=e.split("-");this.chartRequestDate.year=a[0],a.length>1?this.chartRequestDate.month=a[1]:this.chartRequestDate.month="",a.length>2?this.chartRequestDate.day=a[2]:this.chartRequestDate.day=""}},chartScaleX(){var e={unit:"minute",tooltipFormat:"DD T",text:"Zeit",maxTicksLimit:24};switch(this.chartRange){case"month":e={unit:"day",tooltipFormat:"DD",text:"Tag",maxTicksLimit:31};break;case"year":e={unit:"month",tooltipFormat:"LLLL yyyy",text:"Monat",maxTicksLimit:12};break}return e},commandData(){var e={date:this.chartRequestDate.year+this.chartRequestDate.month+this.chartRequestDate.day,day:this.chartRequestDate.year+this.chartRequestDate.month+this.chartRequestDate.day};switch(this.chartRange){case"month":e={date:this.chartRequestDate.year+this.chartRequestDate.month,month:this.chartRequestDate.year+this.chartRequestDate.month};break;case"year":e={date:this.chartRequestDate.year,year:this.chartRequestDate.year};break}return e},baseTopic(){var e="openWB/log/";switch(this.chartRange){case"day":e=e+"daily/";break;case"month":e=e+"monthly/";break;case"year":e=e+"yearly/";break}return e},chartDataRead(){return this.chartDataObject!=null},chartDataHasEntries(){return this.chartDataObject?this.chartDataObject.length>0:!1},chartTotals(){if(this.$store.state.mqtt[this.baseTopic+this.commandData.date]&&Object.prototype.hasOwnProperty.call(this.$store.state.mqtt[this.baseTopic+this.commandData.date],"totals")){var e=JSON.parse(JSON.stringify(this.$store.state.mqtt[this.baseTopic+this.commandData.date].totals));return delete e.energy_source,Object.keys(e.counter).forEach(a=>{Object.prototype.hasOwnProperty.call(e.counter[a],"grid")&&delete e.counter[a].grid}),e}},chartDataObject(){if(this.$store.state.mqtt[this.baseTopic+this.commandData.date]){var e=this.$store.state.mqtt[this.baseTopic+this.commandData.date];Object.prototype.hasOwnProperty.call(e,"entries")&&(e=e.entries);var a=JSON.parse(JSON.stringify(e)).map(r=>(r.timestamp=r.timestamp*1e3,r));return a}},chartData(){if(this.chartDataObject){var e=["pv","counter","bat","cp","sh","ev","hc"];const a=this.chartDataObject[this.chartDataObject.length-1];return a&&e.forEach(r=>{Object.prototype.hasOwnProperty.call(a,r)&&Object.entries(a[r]).forEach(([n,i])=>{Object.keys(i).forEach(t=>{this.initDataset(r,n,t)})})}),this.chartDatasets}}},methods:{handleChartClick(e){if(this.chartRange=="day")return;const a=this.$refs.myChart.chart;if(!a)return;const r=Q(a,e);if(!r.length)return;const{datasetIndex:n,index:i}=r[0],t=this.chartData.datasets[n].data[i].date;var l="",b="";switch(this.chartRange){case"month":l=t.substring(0,4)+"-"+t.substring(4,6)+"-"+t.substring(6),b="day";break;case"year":l=t.substring(0,4)+"-"+t.substring(4,6),b="month";break}this.blockChartInit=!0,this.chartDate=l,this.chartRange=b},getCardSubtype(e){switch(e){case"bat":return"warning";case"counter":return"danger";case"cp":return"primary";case"pv":return"success";case"sh":return"pink";default:return"secondary"}},getCardIcon(e){switch(e){case"bat":return["fas","car-battery"];case"counter":return["fas","gauge-high"];case"cp":return["fas","charging-station"];case"pv":return["fas","solar-panel"];case"sh":return["fas","house-signal"];case"hc":return["fas","house"];default:return}},getDatasetHidden(e,a){return console.debug("getDatasetHidden",e,a),!1},getTotalsLabel(e,a=void 0,r=void 0){var n="*test*";if(!a&&!r){switch(e){case"bat":return"Speicher";case"counter":return"Zähler";case"pv":return"Wechselrichter";case"cp":return"Ladepunkte";case"sh":return"SmartHome-Geräte";case"hc":return"Hausverbrauch";default:console.warn("unknown group key:",e)}return"*"+e+"*"}if(a&&!r){if(a=="all")return"Summe";if(Object.prototype.hasOwnProperty.call(this.$store.state.mqtt[this.baseTopic+this.commandData.date],"names"))return this.$store.state.mqtt[this.baseTopic+this.commandData.date].names[a]}if(a&&r){switch(e){case"bat":case"cp":switch(r){case"imported":case"energy_imported":return"Ladung";case"exported":case"energy_exported":return"Entladung";case"energy_imported_grid":return"Ladung (Netz-Anteil)";case"energy_imported_pv":return"Ladung (PV-Anteil)";case"energy_imported_bat":return"Ladung (Speicher-Anteil)";case"energy_imported_cp":return"Ladung (Ladepunkt-Anteil)";default:console.warn("unknown measurement key:",e,r)}break;case"counter":switch(r){case"imported":case"energy_imported":return"Bezug/Verbrauch";case"exported":case"energy_exported":return"Einspeisung/Erzeugung";default:console.warn("unknown measurement key:",e,r)}break;case"pv":switch(r){case"exported":case"energy_exported":return"Erzeugung";default:console.warn("unknown measurement key:",e,r)}break;case"sh":switch(r){case"imported":case"energy_imported":return"Verbrauch";case"exported":case"energy_exported":return"Erzeugung";default:console.warn("unknown measurement key:",e,r)}break;case"hc":switch(r){case"imported":case"energy_imported":return"Verbrauch";case"energy_imported_grid":return"Verbrauch (Netz-Anteil)";case"energy_imported_pv":return"Verbrauch (PV-Anteil)";case"energy_imported_bat":return"Verbrauch (Speicher-Anteil)";case"energy_imported_cp":return"Verbrauch (Ladepunkt-Anteil)";default:console.warn("unknown measurement key:",e,r)}break;default:console.warn("unknown group key:",e)}return"*"+e+"+"+a+"+"+r+"*"}return n},getDatasetLabel(e,a,r,n){var i=["*"+n],t=[];if(a=="all")switch(e!=="hc"&&t.push("Summe"),e){case"pv":i=["PV"];break;case"bat":switch(i=["Speicher"],r){case"soc":i.push("SoC");break}break;case"cp":i=["Ladepunkte"];break;case"hc":i=["Hausverbrauch"]}else Object.prototype.hasOwnProperty.call(this.$store.state.mqtt[this.baseTopic+this.commandData.date],"names")&&Object.prototype.hasOwnProperty.call(this.$store.state.mqtt[this.baseTopic+this.commandData.date].names,a)&&(i=[this.$store.state.mqtt[this.baseTopic+this.commandData.date].names[a]]);switch(e){case"bat":case"ev":case"cp":switch(r){case"soc":t.push("SoC");break;case"energy_imported":t.push("Ladung");break;case"energy_exported":t.push("Entladung");break;case"energy_imported_grid":t.push("Netz-Anteil");break;case"energy_imported_pv":t.push("PV-Anteil");break;case"energy_imported_bat":t.push("Speicher-Anteil");break;case"energy_imported_cp":t.push("Ladepunkt-Anteil");break}break;case"counter":switch(r){case"energy_imported":t.push("Bezug/Verbrauch");break;case"energy_exported":t.push("Einspeisung/Erzeugung");break}break;case"sh":switch(r){case"energy_imported":t.push("Verbrauch");break;case"energy_exported":t.push("Erzeugung");break}break;case"hc":switch(r){case"energy_imported_grid":t.push("Netz-Anteil");break;case"energy_imported_pv":t.push("PV-Anteil");break;case"energy_imported_bat":t.push("Speicher-Anteil");break;case"energy_imported_cp":t.push("Ladepunkt-Anteil");break}break}return`${i.join(" ")}${t.length?" ("+t.join(", ")+")":""}`},getDatasetIndex(e){let a=this.chartDatasets.datasets.findIndex(r=>r.jsonKey==e);if(a!=-1)return a},addDataset(e,a,r,n){var i=e+"-"+r;if(this.datasetTemplates[i]){var t=JSON.parse(JSON.stringify(this.datasetTemplates[i]));return t.parsing.yAxisKey=n,t.jsonKey=n,t.data=this.chartDataObject,t.label=this.getDatasetLabel(e,a,r,n),t.labelSuffix!=null&&(t.label=t.label+t.labelSuffix),a=="all"&&(["grid","pv","bat","cp"].includes(r.split("_").slice(-1)[0])||(t.hidden=!1,delete t.stack)),this.chartDatasets.datasets.push(t)-1}else console.warn("no matching template found for: "+n+" with template: "+i)},initDataset(e,a,r){var n=[];this.chartRange=="day"?n={counter:["power_average"],pv:["power_exported"],bat:["power_average","soc"],cp:["power_average"],sh:["power_average"],ev:["soc"],hc:["power_imported"]}:n={counter:["energy_imported","energy_exported"],pv:["energy_exported"],bat:["energy_imported","energy_exported"],cp:["energy_imported","energy_imported_grid","energy_imported_pv","energy_imported_bat"],sh:["energy_imported","energy_exported"],ev:[],hc:["energy_imported","energy_imported_grid","energy_imported_pv","energy_imported_bat"]};const i=e+"."+a+"."+r;if(n[e].includes(r)){var t=this.getDatasetIndex(i);const l=this.getDatasetHidden(e,a);t==null&&!l&&(t=this.addDataset(e,a,r,i)),t!=null&&l&&this.chartDatasets.datasets.splice(t,1)}else console.debug("skipping dataset:",i)},setupScaleX(){this.chartOptions.scales.x.time.unit=this.chartScaleX.unit,this.chartOptions.scales.x.time.tooltipFormat=this.chartScaleX.tooltipFormat,this.chartOptions.scales.x.title.text=this.chartScaleX.text,this.chartOptions.scales.x.ticks.maxTicksLimit=this.chartScaleX.maxTicksLimit},requestChart(){if(document.forms.chartForm.reportValidity()){this.setupScaleX(),this.chartDatasets.datasets=[];var a="";switch(this.chartRange){case"day":a="getDailyLog";break;case"month":a="getMonthlyLog";break;case"year":a="getYearlyLog";break}this.$emit("sendCommand",{command:a,data:this.commandData})}else{console.warn("form invalid");return}},clearChartData(){this.getWildcardIndexList(this.baseTopic+"+").forEach(e=>{this.$store.commit("removeTopic",`${this.baseTopic}${e}`)})},updateChart(){this.clearChartData(),this.requestChart()},init(){const e=new Date;this.currentDate=String(e.getFullYear()),this.chartRange!="year"&&(this.currentDate=this.currentDate+"-"+String(e.getMonth()+1).padStart(2,"0")),this.chartRange=="day"&&(this.currentDate=this.currentDate+"-"+String(e.getDate()).padStart(2,"0")),this.blockChartInit?this.blockChartInit=!1:this.initialDate==null||this.initialDate==""?this.chartDate=this.currentDate:this.chartDate=this.initialDate,this.updateChart()}},watch:{chartRange(){this.init()}},mounted(){this.init()}},ae={class:"chart"},re={name:"chartForm"},ie={key:1},ne={key:1},se={class:"openwb-chart"};function oe(e,a,r,n,i,t){const l=h("openwb-base-select-input"),b=h("openwb-base-text-input"),y=h("openwb-base-card"),_=h("openwb-base-alert"),R=h("chartjs-line"),S=h("font-awesome-icon"),w=h("openwb-base-heading");return s(),o("div",ae,[v("form",re,[c(y,{title:"Filter",collapsible:!0,collapsed:!1},{default:d(()=>[c(l,{title:"Zeitraum",modelValue:i.chartRange,"onUpdate:modelValue":a[0]||(a[0]=u=>i.chartRange=u),options:[{value:"day",text:"Tag"},{value:"month",text:"Monat"},{value:"year",text:"Jahr"}]},null,8,["modelValue"]),c(b,{title:t.dateInput.title,subtype:t.dateInput.type,min:t.dateInput.min,max:i.currentDate,showQuickButtons:!0,modelValue:t.chartDate,"onUpdate:modelValue":[a[1]||(a[1]=u=>t.chartDate=u),a[2]||(a[2]=u=>t.updateChart())]},null,8,["title","subtype","min","max","modelValue"])]),_:1}),t.chartDataRead?(s(),o("div",ie,[t.chartDataHasEntries?(s(),o("div",ne,[c(y,{title:"Diagramm",collapsible:!0,collapsed:!1},{default:d(()=>[v("div",se,[c(R,{ref:"myChart",data:t.chartData,options:i.chartOptions,onClick:t.handleChartClick},null,8,["data","options","onClick"])])]),_:1}),c(y,{title:"Summen",collapsible:!0,collapsed:!0},{default:d(()=>[(s(!0),o(k,null,x(t.chartTotals,(u,p)=>(s(),o("div",{key:p},[Object.keys(u).length>0?(s(),g(y,{key:0,collapsible:!0,collapsed:!0,subtype:t.getCardSubtype(p)},{header:d(()=>[c(S,{"fixed-width":"",icon:t.getCardIcon(p)},null,8,["icon"]),m(" "+A(t.getTotalsLabel(p)),1)]),default:d(()=>[(s(!0),o(k,null,x(u,(I,f)=>(s(),o("div",{key:f},[p!=="hc"?(s(),g(w,{key:0},{default:d(()=>[m(A(t.getTotalsLabel(p,f)),1)]),_:2},1024)):C("",!0),(s(!0),o(k,null,x(I,(W,D)=>(s(),o("div",{key:D},[c(b,{title:t.getTotalsLabel(p,f,D),readonly:"",class:"text-right",unit:"kWh","model-value":e.formatNumber(W/1e3,3)},null,8,["title","model-value"])]))),128))]))),128))]),_:2},1032,["subtype"])):C("",!0)]))),128))]),_:1})])):(s(),g(_,{key:0,subtype:"info"},{default:d(()=>[m(" Es konnten keine Daten für diesen Zeitraum gefunden werden. ")]),_:1}))])):(s(),g(_,{key:0,subtype:"info"},{default:d(()=>[m(" Es wurden noch keine Daten abgerufen. ")]),_:1}))])])}const me=ee(te,[["render",oe],["__scopeId","data-v-e00a7cd5"],["__file","/opt/openWB-dev/openwb-ui-settings/src/views/Chart.vue"]]);export{me as default}; +import{l as L,K as H,P as T,O as j,N as q,V as O,W as M,F as V}from"./vendor-fortawesome-542fe04f.js";import{C as z}from"./index-eaa58995.js";import{C as E,p as K,a as P,L as B,b as N,B as F,f as J,P as $,c as X,T as Z,i as G,d as U,e as Y,g as Q}from"./vendor-chartjs-a50f5391.js";import{_ as ee,q as h,k as s,l as o,u as v,B as c,M as d,z as g,x as m,I as k,J as x,y as A,A as C}from"./vendor-493c2bec.js";import"./vendor-bootstrap-a615942d.js";import"./vendor-jquery-a64a4809.js";import"./vendor-axios-b1ba123b.js";import"./vendor-sortablejs-0b339223.js";import"./vendor-luxon-78deadb9.js";L.add(H,T,j,q,O,M);E.register(K,P,B,N,F,J,$,X,Z,G,U);const te={name:"OpenwbChart",components:{ChartjsLine:Y,FontAwesomeIcon:V},mixins:[z],emits:["sendCommand"],props:{initialChartRange:{type:String,required:!1,validator:function(e){return["day","month","year"].indexOf(e)!==-1},default:"day"},initialDate:{type:String,required:!1,validator:function(e){return e.match(/^(([0-9]{4})(-[0-9]{2}(-[0-9]{2})?)?)?$/g)},default:""}},data(){return{mqttTopicsToSubscribe:["openWB/general/extern","openWB/log/daily/#","openWB/log/monthly/#","openWB/log/yearly/#","openWB/system/device/+/component/+/config","openWB/chargepoint/+/config","openWB/vehicle/+/name"],currentDate:"",chartRange:"day",blockChartInit:!1,chartRequestDate:{day:"",month:"",year:""},datasetTemplates:{"counter-power_average":{label:"Zähler",unit:"kW",jsonKey:null,borderColor:"rgba(255, 0, 0, 0.7)",backgroundColor:"rgba(255, 10, 13, 0.3)",fill:!0,pointStyle:"circle",pointRadius:0,pointHoverRadius:4,cubicInterpolationMode:"monotone",hidden:!1,borderWidth:1,data:null,yAxisID:"y",parsing:{xAxisKey:"timestamp",yAxisKey:null}},"counter-energy_imported":{label:"Zähler",unit:"kWh",jsonKey:null,borderColor:"rgba(255, 0, 0, 0.7)",backgroundColor:"rgba(255, 10, 13, 0.3)",fill:!0,pointStyle:"circle",pointRadius:0,pointHoverRadius:4,cubicInterpolationMode:"monotone",hidden:!1,borderWidth:1,data:null,yAxisID:"y2",parsing:{xAxisKey:"timestamp",yAxisKey:null}},"counter-energy_exported":{label:"Zähler",unit:"kWh",jsonKey:null,borderColor:"rgba(0, 255, 105, 0.7)",backgroundColor:"rgba(0, 255, 255, 0.3)",fill:!0,pointStyle:"circle",pointRadius:0,pointHoverRadius:4,cubicInterpolationMode:"monotone",hidden:!1,borderWidth:1,data:null,yAxisID:"y2",parsing:{xAxisKey:"timestamp",yAxisKey:null}},"pv-power_exported":{label:"PV",unit:"kW",jsonKey:null,borderColor:"rgba(40, 167, 69, 0.7)",backgroundColor:"rgba(10, 255, 13, 0.3)",fill:!0,pointStyle:"circle",pointRadius:0,pointHoverRadius:4,cubicInterpolationMode:"monotone",hidden:!0,borderWidth:1,data:null,yAxisID:"y",stack:"inverter-power",parsing:{xAxisKey:"timestamp",yAxisKey:null}},"pv-energy_exported":{label:"PV",unit:"kWh",jsonKey:null,borderColor:"rgba(40, 167, 69, 0.7)",backgroundColor:"rgba(10, 255, 13, 0.3)",fill:!0,pointStyle:"circle",pointRadius:0,pointHoverRadius:4,cubicInterpolationMode:"monotone",hidden:!0,borderWidth:1,data:null,yAxisID:"y2",stack:"inverter-exported",parsing:{xAxisKey:"timestamp",yAxisKey:null}},"bat-power_average":{label:"Speicher",unit:"kW",jsonKey:null,borderColor:"rgba(253, 126, 20, 0.7)",backgroundColor:"rgba(200, 255, 13, 0.3)",fill:!0,pointStyle:"circle",pointRadius:0,pointHoverRadius:4,cubicInterpolationMode:"monotone",hidden:!0,borderWidth:1,data:null,yAxisID:"y",stack:"battery-power",parsing:{xAxisKey:"timestamp",yAxisKey:null}},"bat-energy_imported":{label:"Speicher",unit:"kWh",jsonKey:null,borderColor:"rgba(253, 126, 20, 0.7)",backgroundColor:"rgba(200, 255, 13, 0.3)",fill:!0,pointStyle:"circle",pointRadius:0,pointHoverRadius:4,cubicInterpolationMode:"monotone",hidden:!0,borderWidth:1,data:null,yAxisID:"y2",stack:"battery-imported",parsing:{xAxisKey:"timestamp",yAxisKey:null}},"bat-energy_exported":{label:"Speicher",unit:"kWh",jsonKey:null,borderColor:"rgba(253, 126, 20, 0.7)",backgroundColor:"rgba(200, 255, 13, 0.3)",fill:!0,pointStyle:"circle",pointRadius:0,pointHoverRadius:4,cubicInterpolationMode:"monotone",hidden:!0,borderWidth:1,data:null,yAxisID:"y2",stack:"battery-exported",parsing:{xAxisKey:"timestamp",yAxisKey:null}},"bat-soc":{label:"Speicher SoC",unit:"%",jsonKey:null,borderColor:"rgba(253, 126, 20, 0.7)",backgroundColor:"rgba(200, 255, 13, 0.3)",borderDash:[10,5],hidden:!0,fill:!1,pointStyle:"circle",pointRadius:0,pointHoverRadius:4,cubicInterpolationMode:"monotone",borderWidth:2,data:null,yAxisID:"y3",parsing:{xAxisKey:"timestamp",yAxisKey:null}},"cp-power_average":{label:"Ladepunkt",unit:"kW",jsonKey:null,borderColor:"rgba(0, 0, 255, 0.7)",backgroundColor:"rgba(0, 0, 255, 0.3)",fill:!0,pointStyle:"circle",pointRadius:0,pointHoverRadius:4,cubicInterpolationMode:"monotone",hidden:!0,borderWidth:1,data:null,yAxisID:"y",stack:"charge-point-power",parsing:{xAxisKey:"timestamp",yAxisKey:null}},"cp-energy_imported":{label:"Ladepunkt",unit:"kWh",jsonKey:null,borderColor:"rgba(0, 0, 255, 0.7)",backgroundColor:"rgba(0, 0, 255, 0.3)",fill:!0,pointStyle:"circle",pointRadius:0,pointHoverRadius:4,cubicInterpolationMode:"monotone",hidden:!0,borderWidth:1,data:null,yAxisID:"y2",stack:"charge-point-imported",parsing:{xAxisKey:"timestamp",yAxisKey:null}},"cp-energy_imported_grid":{label:"Ladepunkt (Netzanteil)",unit:"kWh",type:"bar",jsonKey:null,borderColor:"rgba(255, 0, 0, 0.7)",backgroundColor:"rgba(0, 0, 255, 0.3)",fill:!0,pointStyle:"circle",pointRadius:0,pointHoverRadius:4,cubicInterpolationMode:"monotone",hidden:!0,borderWidth:3,data:null,yAxisID:"y2",stack:"charge-point-imported-source",parsing:{xAxisKey:"timestamp",yAxisKey:null}},"cp-energy_imported_pv":{label:"Ladepunkt (PV-Anteil)",unit:"kWh",type:"bar",jsonKey:null,borderColor:"rgba(40, 167, 69, 0.7)",backgroundColor:"rgba(0, 0, 255, 0.3)",fill:!0,pointStyle:"circle",pointRadius:0,pointHoverRadius:4,cubicInterpolationMode:"monotone",hidden:!0,borderWidth:3,data:null,yAxisID:"y2",stack:"charge-point-imported-source",parsing:{xAxisKey:"timestamp",yAxisKey:null}},"cp-energy_imported_bat":{label:"Ladepunkt (PV-Anteil)",unit:"kWh",type:"bar",jsonKey:null,borderColor:"rgba(253, 126, 20, 0.7)",backgroundColor:"rgba(0, 0, 255, 0.3)",fill:!0,pointStyle:"circle",pointRadius:0,pointHoverRadius:4,cubicInterpolationMode:"monotone",hidden:!0,borderWidth:3,data:null,yAxisID:"y2",stack:"charge-point-imported-source",parsing:{xAxisKey:"timestamp",yAxisKey:null}},"ev-soc":{label:"Fahrzeug SoC",unit:"%",jsonKey:null,borderColor:"rgba(0, 0, 255, 0.7)",backgroundColor:"rgba(0, 0, 255, 0.3)",borderDash:[10,5],hidden:!0,fill:!1,pointStyle:"circle",pointRadius:0,pointHoverRadius:4,cubicInterpolationMode:"monotone",borderWidth:2,data:null,yAxisID:"y3",parsing:{xAxisKey:"timestamp",yAxisKey:null}},"sh-power_average":{label:"SmartHome",unit:"kW",jsonKey:null,borderColor:"rgba(232, 62, 140, 0.7)",backgroundColor:"rgba(232, 72, 150, 0.3)",fill:!0,pointStyle:"circle",pointRadius:0,pointHoverRadius:4,cubicInterpolationMode:"monotone",hidden:!1,borderWidth:1,data:null,yAxisID:"y",parsing:{xAxisKey:"timestamp",yAxisKey:null}},"sh-energy_imported":{label:"SmartHome",unit:"kWh",jsonKey:null,borderColor:"rgba(232, 62, 140, 0.7)",backgroundColor:"rgba(232, 72, 150, 0.3)",fill:!0,pointStyle:"circle",pointRadius:0,pointHoverRadius:4,cubicInterpolationMode:"monotone",hidden:!1,borderWidth:1,data:null,yAxisID:"y2",parsing:{xAxisKey:"timestamp",yAxisKey:null}},"sh-energy_exported":{label:"SmartHome",unit:"kWh",jsonKey:null,borderColor:"rgba(232, 62, 140, 0.7)",backgroundColor:"rgba(232, 72, 150, 0.3)",fill:!0,pointStyle:"circle",pointRadius:0,pointHoverRadius:4,cubicInterpolationMode:"monotone",hidden:!1,borderWidth:1,data:null,yAxisID:"y2",parsing:{xAxisKey:"timestamp",yAxisKey:null}},"hc-power_imported":{label:"Hausverbrauch",unit:"kW",jsonKey:null,borderColor:"rgba(120, 122, 124, 0.7)",backgroundColor:"rgba(120, 122, 124, 0.3)",fill:!0,pointStyle:"circle",pointRadius:0,pointHoverRadius:4,cubicInterpolationMode:"monotone",hidden:!0,borderWidth:1,data:null,yAxisID:"y",parsing:{xAxisKey:"timestamp",yAxisKey:null}},"hc-energy_imported":{label:"Hausverbrauch",unit:"kWh",jsonKey:null,borderColor:"rgba(120, 122, 124, 0.7)",backgroundColor:"rgba(120, 122, 124, 0.3)",fill:!0,pointStyle:"circle",pointRadius:0,pointHoverRadius:4,cubicInterpolationMode:"monotone",hidden:!0,borderWidth:1,data:null,yAxisID:"y2",parsing:{xAxisKey:"timestamp",yAxisKey:null}},"hc-energy_imported_grid":{label:"Hausverbrauch (Netzanteil)",unit:"kWh",type:"bar",jsonKey:null,borderColor:"rgba(255, 0, 0, 0.7)",backgroundColor:"rgba(120, 122, 124, 0.3)",fill:!0,pointStyle:"circle",pointRadius:0,pointHoverRadius:4,cubicInterpolationMode:"monotone",hidden:!0,borderWidth:3,data:null,yAxisID:"y2",stack:"hc-energy-imported-source",parsing:{xAxisKey:"timestamp",yAxisKey:null}},"hc-energy_imported_pv":{label:"Hausverbrauch (PV-Anteil)",unit:"kWh",type:"bar",jsonKey:null,borderColor:"rgba(40, 167, 69, 0.7)",backgroundColor:"rgba(120, 122, 124, 0.3)",fill:!0,pointStyle:"circle",pointRadius:0,pointHoverRadius:4,cubicInterpolationMode:"monotone",hidden:!0,borderWidth:3,data:null,yAxisID:"y2",stack:"hc-energy-imported-source",parsing:{xAxisKey:"timestamp",yAxisKey:null}},"hc-energy_imported_bat":{label:"Hausverbrauch (PV-Anteil)",unit:"kWh",type:"bar",jsonKey:null,borderColor:"rgba(253, 126, 20, 0.7)",backgroundColor:"rgba(120, 122, 124, 0.3)",fill:!0,pointStyle:"circle",pointRadius:0,pointHoverRadius:4,cubicInterpolationMode:"monotone",hidden:!0,borderWidth:3,data:null,yAxisID:"y2",stack:"hc-energy-imported-source",parsing:{xAxisKey:"timestamp",yAxisKey:null}}},chartOptions:{plugins:{title:{display:!1},tooltip:{enabled:!0,callbacks:{label:e=>`${e.dataset.label}: ${e.formattedValue} ${e.dataset.unit}`}},legend:{display:!0},zoom:{pan:{enabled:!0,mode:"x",threshold:5},zoom:{wheel:{enabled:!0},pinch:{enabled:!0},mode:"x"}}},elements:{point:{radius:2}},responsive:!0,maintainAspectRatio:!1,interaction:{mode:"index",intersect:!1},scales:{x:{type:"time",time:{unit:"",tooltipFormat:""},display:!0,title:{display:!0,text:""},ticks:{source:"timestamp",font:{size:12},maxTicksLimit:0},grid:{}},y:{position:"left",type:"linear",display:"auto",suggestedMin:0,suggestedMax:0,title:{font:{size:12},display:!0,text:"Leistung [kW]"},grid:{},ticks:{font:{size:12},stepSize:.2,maxTicksLimit:11}},y2:{position:"left",type:"linear",display:"auto",suggestedMin:0,suggestedMax:0,title:{font:{size:12},display:!0,text:"Energie [kWh]"},grid:{},ticks:{font:{size:12},stepSize:.2,maxTicksLimit:11}},y3:{position:"right",type:"linear",display:"auto",suggestedMin:0,suggestedMax:100,title:{font:{size:12},display:!0,text:"SoC [%]"},grid:{display:!1},ticks:{font:{size:12},stepSize:10,maxTicksLimit:11}}}},chartDatasets:{datasets:[]}}},computed:{dateInput(){var e={title:"Datum",type:"date",min:"2018-01-01"};switch(this.chartRange){case"month":e={title:"Monat",type:"month",min:"2018-01"};break;case"year":e={title:"Jahr",type:"year",min:"2018"};break}return e},chartDate:{get(){var e=this.chartRequestDate.year;return this.chartRange!="year"&&(e=e+"-"+this.chartRequestDate.month),this.chartRange=="day"&&(e=e+"-"+this.chartRequestDate.day),e},set(e){let a=e.split("-");this.chartRequestDate.year=a[0],a.length>1?this.chartRequestDate.month=a[1]:this.chartRequestDate.month="",a.length>2?this.chartRequestDate.day=a[2]:this.chartRequestDate.day=""}},chartScaleX(){var e={unit:"minute",tooltipFormat:"DD T",text:"Zeit",maxTicksLimit:24};switch(this.chartRange){case"month":e={unit:"day",tooltipFormat:"DD",text:"Tag",maxTicksLimit:31};break;case"year":e={unit:"month",tooltipFormat:"LLLL yyyy",text:"Monat",maxTicksLimit:12};break}return e},commandData(){var e={date:this.chartRequestDate.year+this.chartRequestDate.month+this.chartRequestDate.day,day:this.chartRequestDate.year+this.chartRequestDate.month+this.chartRequestDate.day};switch(this.chartRange){case"month":e={date:this.chartRequestDate.year+this.chartRequestDate.month,month:this.chartRequestDate.year+this.chartRequestDate.month};break;case"year":e={date:this.chartRequestDate.year,year:this.chartRequestDate.year};break}return e},baseTopic(){var e="openWB/log/";switch(this.chartRange){case"day":e=e+"daily/";break;case"month":e=e+"monthly/";break;case"year":e=e+"yearly/";break}return e},chartDataRead(){return this.chartDataObject!=null},chartDataHasEntries(){return this.chartDataObject?this.chartDataObject.length>0:!1},chartTotals(){if(this.$store.state.mqtt[this.baseTopic+this.commandData.date]&&Object.prototype.hasOwnProperty.call(this.$store.state.mqtt[this.baseTopic+this.commandData.date],"totals")){var e=JSON.parse(JSON.stringify(this.$store.state.mqtt[this.baseTopic+this.commandData.date].totals));return delete e.energy_source,Object.keys(e.counter).forEach(a=>{Object.prototype.hasOwnProperty.call(e.counter[a],"grid")&&delete e.counter[a].grid}),e}},chartDataObject(){if(this.$store.state.mqtt[this.baseTopic+this.commandData.date]){var e=this.$store.state.mqtt[this.baseTopic+this.commandData.date];Object.prototype.hasOwnProperty.call(e,"entries")&&(e=e.entries);var a=JSON.parse(JSON.stringify(e)).map(r=>(r.timestamp=r.timestamp*1e3,r));return a}},chartData(){if(this.chartDataObject){var e=["pv","counter","bat","cp","sh","ev","hc"];const a=this.chartDataObject[this.chartDataObject.length-1];return a&&e.forEach(r=>{Object.prototype.hasOwnProperty.call(a,r)&&Object.entries(a[r]).forEach(([n,i])=>{Object.keys(i).forEach(t=>{this.initDataset(r,n,t)})})}),this.chartDatasets}}},methods:{handleChartClick(e){if(this.chartRange=="day")return;const a=this.$refs.myChart.chart;if(!a)return;const r=Q(a,e);if(!r.length)return;const{datasetIndex:n,index:i}=r[0],t=this.chartData.datasets[n].data[i].date;var l="",b="";switch(this.chartRange){case"month":l=t.substring(0,4)+"-"+t.substring(4,6)+"-"+t.substring(6),b="day";break;case"year":l=t.substring(0,4)+"-"+t.substring(4,6),b="month";break}this.blockChartInit=!0,this.chartDate=l,this.chartRange=b},getCardSubtype(e){switch(e){case"bat":return"warning";case"counter":return"danger";case"cp":return"primary";case"pv":return"success";case"sh":return"pink";default:return"secondary"}},getCardIcon(e){switch(e){case"bat":return["fas","car-battery"];case"counter":return["fas","gauge-high"];case"cp":return["fas","charging-station"];case"pv":return["fas","solar-panel"];case"sh":return["fas","house-signal"];case"hc":return["fas","house"];default:return}},getDatasetHidden(e,a){return console.debug("getDatasetHidden",e,a),!1},getTotalsLabel(e,a=void 0,r=void 0){var n="*test*";if(!a&&!r){switch(e){case"bat":return"Speicher";case"counter":return"Zähler";case"pv":return"Wechselrichter";case"cp":return"Ladepunkte";case"sh":return"SmartHome-Geräte";case"hc":return"Hausverbrauch";default:console.warn("unknown group key:",e)}return"*"+e+"*"}if(a&&!r){if(a=="all")return"Summe";if(Object.prototype.hasOwnProperty.call(this.$store.state.mqtt[this.baseTopic+this.commandData.date],"names"))return this.$store.state.mqtt[this.baseTopic+this.commandData.date].names[a]}if(a&&r){switch(e){case"bat":case"cp":switch(r){case"imported":case"energy_imported":return"Ladung";case"exported":case"energy_exported":return"Entladung";case"energy_imported_grid":return"Ladung (Netz-Anteil)";case"energy_imported_pv":return"Ladung (PV-Anteil)";case"energy_imported_bat":return"Ladung (Speicher-Anteil)";case"energy_imported_cp":return"Ladung (Ladepunkt-Anteil)";default:console.warn("unknown measurement key:",e,r)}break;case"counter":switch(r){case"imported":case"energy_imported":return"Bezug/Verbrauch";case"exported":case"energy_exported":return"Einspeisung/Erzeugung";default:console.warn("unknown measurement key:",e,r)}break;case"pv":switch(r){case"exported":case"energy_exported":return"Erzeugung";default:console.warn("unknown measurement key:",e,r)}break;case"sh":switch(r){case"imported":case"energy_imported":return"Verbrauch";case"exported":case"energy_exported":return"Erzeugung";default:console.warn("unknown measurement key:",e,r)}break;case"hc":switch(r){case"imported":case"energy_imported":return"Verbrauch";case"energy_imported_grid":return"Verbrauch (Netz-Anteil)";case"energy_imported_pv":return"Verbrauch (PV-Anteil)";case"energy_imported_bat":return"Verbrauch (Speicher-Anteil)";case"energy_imported_cp":return"Verbrauch (Ladepunkt-Anteil)";default:console.warn("unknown measurement key:",e,r)}break;default:console.warn("unknown group key:",e)}return"*"+e+"+"+a+"+"+r+"*"}return n},getDatasetLabel(e,a,r,n){var i=["*"+n],t=[];if(a=="all")switch(e!=="hc"&&t.push("Summe"),e){case"pv":i=["PV"];break;case"bat":switch(i=["Speicher"],r){case"soc":i.push("SoC");break}break;case"cp":i=["Ladepunkte"];break;case"hc":i=["Hausverbrauch"]}else Object.prototype.hasOwnProperty.call(this.$store.state.mqtt[this.baseTopic+this.commandData.date],"names")&&Object.prototype.hasOwnProperty.call(this.$store.state.mqtt[this.baseTopic+this.commandData.date].names,a)&&(i=[this.$store.state.mqtt[this.baseTopic+this.commandData.date].names[a]]);switch(e){case"bat":case"ev":case"cp":switch(r){case"soc":t.push("SoC");break;case"energy_imported":t.push("Ladung");break;case"energy_exported":t.push("Entladung");break;case"energy_imported_grid":t.push("Netz-Anteil");break;case"energy_imported_pv":t.push("PV-Anteil");break;case"energy_imported_bat":t.push("Speicher-Anteil");break;case"energy_imported_cp":t.push("Ladepunkt-Anteil");break}break;case"counter":switch(r){case"energy_imported":t.push("Bezug/Verbrauch");break;case"energy_exported":t.push("Einspeisung/Erzeugung");break}break;case"sh":switch(r){case"energy_imported":t.push("Verbrauch");break;case"energy_exported":t.push("Erzeugung");break}break;case"hc":switch(r){case"energy_imported_grid":t.push("Netz-Anteil");break;case"energy_imported_pv":t.push("PV-Anteil");break;case"energy_imported_bat":t.push("Speicher-Anteil");break;case"energy_imported_cp":t.push("Ladepunkt-Anteil");break}break}return`${i.join(" ")}${t.length?" ("+t.join(", ")+")":""}`},getDatasetIndex(e){let a=this.chartDatasets.datasets.findIndex(r=>r.jsonKey==e);if(a!=-1)return a},addDataset(e,a,r,n){var i=e+"-"+r;if(this.datasetTemplates[i]){var t=JSON.parse(JSON.stringify(this.datasetTemplates[i]));return t.parsing.yAxisKey=n,t.jsonKey=n,t.data=this.chartDataObject,t.label=this.getDatasetLabel(e,a,r,n),t.labelSuffix!=null&&(t.label=t.label+t.labelSuffix),a=="all"&&(["grid","pv","bat","cp"].includes(r.split("_").slice(-1)[0])||(t.hidden=!1,delete t.stack)),this.chartDatasets.datasets.push(t)-1}else console.warn("no matching template found for: "+n+" with template: "+i)},initDataset(e,a,r){var n=[];this.chartRange=="day"?n={counter:["power_average"],pv:["power_exported"],bat:["power_average","soc"],cp:["power_average"],sh:["power_average"],ev:["soc"],hc:["power_imported"]}:n={counter:["energy_imported","energy_exported"],pv:["energy_exported"],bat:["energy_imported","energy_exported"],cp:["energy_imported","energy_imported_grid","energy_imported_pv","energy_imported_bat"],sh:["energy_imported","energy_exported"],ev:[],hc:["energy_imported","energy_imported_grid","energy_imported_pv","energy_imported_bat"]};const i=e+"."+a+"."+r;if(n[e].includes(r)){var t=this.getDatasetIndex(i);const l=this.getDatasetHidden(e,a);t==null&&!l&&(t=this.addDataset(e,a,r,i)),t!=null&&l&&this.chartDatasets.datasets.splice(t,1)}else console.debug("skipping dataset:",i)},setupScaleX(){this.chartOptions.scales.x.time.unit=this.chartScaleX.unit,this.chartOptions.scales.x.time.tooltipFormat=this.chartScaleX.tooltipFormat,this.chartOptions.scales.x.title.text=this.chartScaleX.text,this.chartOptions.scales.x.ticks.maxTicksLimit=this.chartScaleX.maxTicksLimit},requestChart(){if(document.forms.chartForm.reportValidity()){this.setupScaleX(),this.chartDatasets.datasets=[];var a="";switch(this.chartRange){case"day":a="getDailyLog";break;case"month":a="getMonthlyLog";break;case"year":a="getYearlyLog";break}this.$emit("sendCommand",{command:a,data:this.commandData})}else{console.warn("form invalid");return}},clearChartData(){this.getWildcardIndexList(this.baseTopic+"+").forEach(e=>{this.$store.commit("removeTopic",`${this.baseTopic}${e}`)})},updateChart(){this.clearChartData(),this.requestChart()},init(){const e=new Date;this.currentDate=String(e.getFullYear()),this.chartRange!="year"&&(this.currentDate=this.currentDate+"-"+String(e.getMonth()+1).padStart(2,"0")),this.chartRange=="day"&&(this.currentDate=this.currentDate+"-"+String(e.getDate()).padStart(2,"0")),this.blockChartInit?this.blockChartInit=!1:this.initialDate==null||this.initialDate==""?this.chartDate=this.currentDate:this.chartDate=this.initialDate,this.updateChart()}},watch:{chartRange(){this.init()}},mounted(){this.init()}},ae={class:"chart"},re={name:"chartForm"},ie={key:1},ne={key:1},se={class:"openwb-chart"};function oe(e,a,r,n,i,t){const l=h("openwb-base-select-input"),b=h("openwb-base-text-input"),y=h("openwb-base-card"),_=h("openwb-base-alert"),R=h("chartjs-line"),S=h("font-awesome-icon"),w=h("openwb-base-heading");return s(),o("div",ae,[v("form",re,[c(y,{title:"Filter",collapsible:!0,collapsed:!1},{default:d(()=>[c(l,{title:"Zeitraum",modelValue:i.chartRange,"onUpdate:modelValue":a[0]||(a[0]=u=>i.chartRange=u),options:[{value:"day",text:"Tag"},{value:"month",text:"Monat"},{value:"year",text:"Jahr"}]},null,8,["modelValue"]),c(b,{title:t.dateInput.title,subtype:t.dateInput.type,min:t.dateInput.min,max:i.currentDate,showQuickButtons:!0,modelValue:t.chartDate,"onUpdate:modelValue":[a[1]||(a[1]=u=>t.chartDate=u),a[2]||(a[2]=u=>t.updateChart())]},null,8,["title","subtype","min","max","modelValue"])]),_:1}),t.chartDataRead?(s(),o("div",ie,[t.chartDataHasEntries?(s(),o("div",ne,[c(y,{title:"Diagramm",collapsible:!0,collapsed:!1},{default:d(()=>[v("div",se,[c(R,{ref:"myChart",data:t.chartData,options:i.chartOptions,onClick:t.handleChartClick},null,8,["data","options","onClick"])])]),_:1}),c(y,{title:"Summen",collapsible:!0,collapsed:!0},{default:d(()=>[(s(!0),o(k,null,x(t.chartTotals,(u,p)=>(s(),o("div",{key:p},[Object.keys(u).length>0?(s(),g(y,{key:0,collapsible:!0,collapsed:!0,subtype:t.getCardSubtype(p)},{header:d(()=>[c(S,{"fixed-width":"",icon:t.getCardIcon(p)},null,8,["icon"]),m(" "+A(t.getTotalsLabel(p)),1)]),default:d(()=>[(s(!0),o(k,null,x(u,(I,f)=>(s(),o("div",{key:f},[p!=="hc"?(s(),g(w,{key:0},{default:d(()=>[m(A(t.getTotalsLabel(p,f)),1)]),_:2},1024)):C("",!0),(s(!0),o(k,null,x(I,(W,D)=>(s(),o("div",{key:D},[c(b,{title:t.getTotalsLabel(p,f,D),readonly:"",class:"text-right",unit:"kWh","model-value":e.formatNumber(W/1e3,3)},null,8,["title","model-value"])]))),128))]))),128))]),_:2},1032,["subtype"])):C("",!0)]))),128))]),_:1})])):(s(),g(_,{key:0,subtype:"info"},{default:d(()=>[m(" Es konnten keine Daten für diesen Zeitraum gefunden werden. ")]),_:1}))])):(s(),g(_,{key:0,subtype:"info"},{default:d(()=>[m(" Es wurden noch keine Daten abgerufen. ")]),_:1}))])])}const me=ee(te,[["render",oe],["__scopeId","data-v-e00a7cd5"],["__file","/opt/openWB-dev/openwb-ui-settings/src/views/Chart.vue"]]);export{me as default}; diff --git a/web/settings/assets/CloudConfig-1fa5999c.js b/web/settings/assets/CloudConfig-512116d8.js similarity index 97% rename from web/settings/assets/CloudConfig-1fa5999c.js rename to web/settings/assets/CloudConfig-512116d8.js index 5d06ad1629..e0a90954ab 100644 --- a/web/settings/assets/CloudConfig-1fa5999c.js +++ b/web/settings/assets/CloudConfig-512116d8.js @@ -1 +1 @@ -import{l as S,a4 as q,F as P}from"./vendor-fortawesome-9fdc06a9.js";import{C as z}from"./index-131a952e.js";import{_ as Z,q as l,k as u,l as m,B as r,M as t,u as c,z as g,A as i,a3 as v,I,x as a,p as k}from"./vendor-f0f38b48.js";import"./vendor-bootstrap-384bc385.js";import"./vendor-jquery-8576ed22.js";import"./vendor-axios-e59ef189.js";import"./vendor-sortablejs-cbf37f8f.js";S.add(q);const M={name:"OpenwbCloudConfig",mixins:[z],emits:["sendCommand"],components:{FontAwesomeIcon:P},data(){return{mqttTopicsToSubscribe:["openWB/general/extern","openWB/system/dataprotection_acknowledged","openWB/system/mqtt/bridge/+","openWB/system/mqtt/valid_partner_ids"],enableNewCloudButton:!0,newCloudData:{email:"",username:"",partner:!1},enableCloudConnectButton:!0,connectCloudData:{username:"",password:"",partner:!1},enableRemoveCloudButton:!0,showCloudRemoveModal:!1}},computed:{cloudBridge:{get(){let o=this.getWildcardTopics("openWB/system/mqtt/bridge/+");for(const[e,y]of Object.entries(o))y.remote.is_openwb_cloud||delete o[e];return o}},cloudBridgeKey:{get(){for(const[o,e]of Object.entries(this.cloudBridge))if(e.remote.is_openwb_cloud)return o}},cloudSettings:{get(){return{username:this.cloudBridge[this.cloudBridgeKey].remote.username,password:this.cloudBridge[this.cloudBridgeKey].remote.password,partner:this.cloudBridge[this.cloudBridgeKey].access?this.cloudBridge[this.cloudBridgeKey].access.partner:!1}}}},methods:{getMqttBridgeIndex(o){return parseInt(o.match(/(?:\/)(\d+)$/)[1])},createCloud(){document.forms.cloudConfigCreateForm.reportValidity()&&(this.$emit("save"),this.$emit("sendCommand",{command:"initCloud",data:this.newCloudData}),this.enableNewCloudButton=!1)},connectCloud(){document.forms.cloudConfigConnectForm.reportValidity()&&(this.$emit("save"),this.$emit("sendCommand",{command:"connectCloud",data:this.connectCloudData}),this.enableCloudConnectButton=!1)},removeCloudModal(o){o.stopPropagation(),this.showCloudRemoveModal=!0},removeCloud(o){this.showCloudRemoveModal=!1,o=="confirm"&&(console.info("request removal of cloud"),this.updateState("openWB/system/mqtt/valid_partner_ids",[]),this.$emit("sendCommand",{command:"removeMqttBridge",data:{bridge:this.getMqttBridgeIndex(this.cloudBridgeKey)}}),this.enableCloudConnectButton=!0)}}},x={class:"cloud-config"},K={key:1},U={key:1,name:"cloudConfigCreateForm"},A=c("a",{href:"mailto:support@openwb.de",subject:"Cloud Zugangsdaten"}," support@openwb.de ",-1),N={key:0},R={key:1},F={class:"row justify-content-center"},j={key:2,name:"cloudConfigConnectForm"},E={key:0},G={key:1},T={class:"row justify-content-center"},L={key:3,name:"cloudConfigured"},O=c("span",null,[a(" Mit diesen Zugangsdaten können Sie sich in der "),c("a",{href:"https://remote.openwb.de/",target:"_blank",rel:"noopener noreferrer"}," openWB Cloud "),a(" anmelden. ")],-1),H=c("hr",null,null,-1),J={class:"row justify-content-center"};function Q(o,e,y,X,s,d){const D=l("openwb-base-modal-dialog"),h=l("router-link"),p=l("openwb-base-alert"),b=l("openwb-base-text-input"),w=l("openwb-base-button-group-input"),f=l("font-awesome-icon"),B=l("openwb-base-array-input"),C=l("openwb-base-click-button"),_=l("openwb-base-card"),W=l("openwb-base-heading"),V=l("openwb-base-submit-buttons");return u(),m(I,null,[r(D,{show:s.showCloudRemoveModal,title:"Cloud Zugang löschen",subtype:"danger",buttons:[{text:"Löschen",event:"confirm",subtype:"danger"}],onModalResult:e[0]||(e[0]=n=>d.removeCloud(n))},{default:t(()=>[a(" Wollen Sie den vorhandenen Cloud Zugang wirklich entfernen? Dieser Vorgang kann nicht rückgängig gemacht werden! ")]),_:1},8,["show"]),c("div",x,[o.$store.state.mqtt["openWB/system/dataprotection_acknowledged"]!==!0?(u(),g(p,{key:0,subtype:"danger"},{default:t(()=>[a(" Sie müssen der "),r(h,{to:"/System/LegalSettings"},{default:t(()=>[a(" Datenschutzerklärung ")]),_:1}),a(" zustimmen, um die openWB Cloud nutzen zu können. ")]),_:1})):(u(),m("div",K,[r(p,{subtype:"success"},{default:t(()=>[a(" Sie haben der "),r(h,{to:"/System/LegalSettings"},{default:t(()=>[a(" Datenschutzerklärung ")]),_:1}),a(" zugestimmt und können die openWB Cloud nutzen. ")]),_:1}),s.enableRemoveCloudButton?i("",!0):(u(),g(p,{key:0,subtype:"warning"},{default:t(()=>[a(" Der Zugang wurde entfernt. Bitte starten Sie die openWB neu, um die Änderungen anzuwenden! ")]),_:1})),d.cloudBridgeKey?i("",!0):(u(),m("form",U,[r(_,{title:"Neuen Zugang erstellen"},v({default:t(()=>[r(p,{subtype:"warning"},{default:t(()=>[a(" Derzeit können keine neuen Zugänge für die openWB Cloud angelegt werden. Bitte nutzen Sie die in/an der openWB notierten Zugangsdaten im unteren Bereich dieser Seite. Wenn bei einer gekauften openWB keine Zugangsdaten vorhanden sind, schreiben Sie bitte eine Mail unter Angabe der Bestell- und/oder Seriennummer an "),A,a(" . ")]),_:1}),o.$store.state.mqtt["openWB/general/extern"]===!0?(u(),m("div",N,[r(p,{subtype:"info"},{default:t(()=>[a(' Diese openWB befindet sich im Steuerungsmodus "secondary". Bitte richten Sie die openWB Cloud auf der übergeordneten primary openWB ein. ')]),_:1})])):(u(),m("div",R,[r(b,{title:"Benutzername",required:"",subtype:"user",pattern:"[a-zA-Z]+",modelValue:s.newCloudData.username,"onUpdate:modelValue":e[1]||(e[1]=n=>s.newCloudData.username=n),disabled:""},null,8,["modelValue"]),r(b,{title:"E-Mail",required:"",subtype:"email",modelValue:s.newCloudData.email,"onUpdate:modelValue":e[2]||(e[2]=n=>s.newCloudData.email=n),disabled:""},null,8,["modelValue"]),r(w,{disabled:"",title:"Zugang für Partner",buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}],modelValue:s.newCloudData.partner,"onUpdate:modelValue":e[3]||(e[3]=n=>s.newCloudData.partner=n)},{help:t(()=>[a(" Wenn diese openWB über einen Partner erworben wurde, kann hier ein Support-Zugang für diesen freigegeben werden. ")]),_:1},8,["modelValue"]),s.newCloudData.partner?(u(),g(B,{key:0,title:"Gültige Partner-IDs",noElementsMessage:"Keine Partner-ID zugeordnet.","model-value":o.$store.state.mqtt["openWB/system/mqtt/valid_partner_ids"],"onUpdate:modelValue":e[4]||(e[4]=n=>o.updateState("openWB/system/mqtt/valid_partner_ids",n))},{"input-prefix":t(()=>[r(f,{"fixed-width":"",icon:["fas","user-gear"]})]),"element-prefix":t(()=>[r(f,{"fixed-width":"",icon:["fas","user-gear"]})]),help:t(()=>[a(" Die Partner-ID erhältst Du von Deinem Installateur. Ist hier keine Partner-ID eingetragen, dann kann auch niemand - trotz aktiviertem Zugang für Partner - über das Partner-Portal auf diese openWB zugreifen! ")]),_:1},8,["model-value"])):i("",!0)]))]),_:2},[o.$store.state.mqtt["openWB/general/extern"]===!1&&o.$store.state.mqtt["openWB/system/dataprotection_acknowledged"]===!0?{name:"footer",fn:t(()=>[c("div",F,[r(C,{class:"col-4 btn-outline-success",disabled:""},{default:t(()=>[a(" Zugang erstellen ")]),_:1})])]),key:"0"}:void 0]),1024),s.enableNewCloudButton?i("",!0):(u(),g(p,{key:0,subtype:"info",class:"mb-2"},{default:t(()=>[a(" Der neue Zugang wird eingerichtet. Dieser Vorgang kann bis zu einer Minute dauern. Bitte warten. ")]),_:1}))])),d.cloudBridgeKey?i("",!0):(u(),m("form",j,[r(_,{title:"Vorhandenen Zugang einrichten"},v({default:t(()=>[o.$store.state.mqtt["openWB/general/extern"]===!0?(u(),m("div",E,[r(p,{subtype:"info"},{default:t(()=>[a(' Diese openWB befindet sich im Steuerungsmodus "secondary". Bitte richten Sie die openWB Cloud auf der übergeordneten primary openWB ein. ')]),_:1})])):(u(),m("div",G,[r(b,{title:"Benutzername",required:"",subtype:"user",modelValue:s.connectCloudData.username,"onUpdate:modelValue":e[5]||(e[5]=n=>s.connectCloudData.username=n)},null,8,["modelValue"]),r(b,{title:"Passwort",required:"",subtype:"password",modelValue:s.connectCloudData.password,"onUpdate:modelValue":e[6]||(e[6]=n=>s.connectCloudData.password=n)},null,8,["modelValue"]),r(w,{title:"Zugang für Partner",buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}],modelValue:s.connectCloudData.partner,"onUpdate:modelValue":e[7]||(e[7]=n=>s.connectCloudData.partner=n)},{help:t(()=>[a(" Wenn diese openWB über einen Partner erworben wurde, kann hier ein Support-Zugang für diesen freigegeben werden. ")]),_:1},8,["modelValue"]),s.connectCloudData.partner?(u(),g(B,{key:0,title:"Gültige Partner-IDs",noElementsMessage:"Keine Partner-ID zugeordnet.","model-value":o.$store.state.mqtt["openWB/system/mqtt/valid_partner_ids"],"onUpdate:modelValue":e[8]||(e[8]=n=>o.updateState("openWB/system/mqtt/valid_partner_ids",n))},{"input-prefix":t(()=>[r(f,{"fixed-width":"",icon:["fas","user-gear"]})]),"element-prefix":t(()=>[r(f,{"fixed-width":"",icon:["fas","user-gear"]})]),help:t(()=>[a(" Die Partner-ID erhältst Du von Deinem Installateur. Ist hier keine Partner-ID eingetragen, dann kann auch niemand - trotz aktiviertem Zugang für Partner - über das Partner-Portal auf diese openWB zugreifen! ")]),_:1},8,["model-value"])):i("",!0)]))]),_:2},[o.$store.state.mqtt["openWB/general/extern"]===!1&&o.$store.state.mqtt["openWB/system/dataprotection_acknowledged"]===!0?{name:"footer",fn:t(()=>[c("div",T,[r(C,{class:k(["col-4",s.enableCloudConnectButton?"btn-success":"btn-outline-success"]),disabled:!s.enableCloudConnectButton,onButtonClicked:d.connectCloud},{default:t(()=>[a(" Mit Cloud verbinden ")]),_:1},8,["class","disabled","onButtonClicked"])])]),key:"0"}:void 0]),1024)])),d.cloudBridgeKey?(u(),m("form",L,[!s.enableCloudConnectButton||!s.enableNewCloudButton?(u(),g(p,{key:0,subtype:"warning"},{default:t(()=>[a(" Der Zugang wurde eingerichtet. Bitte starten Sie die openWB neu, um die Änderungen anzuwenden! ")]),_:1})):i("",!0),r(_,{title:"Vorhandener Cloud Zugang"},{footer:t(()=>[c("div",J,[r(C,{class:k(["col-4",s.enableRemoveCloudButton?"btn-danger":"btn-outline-danger"]),disabled:!s.enableRemoveCloudButton,onButtonClicked:e[13]||(e[13]=n=>d.removeCloudModal(n))},{default:t(()=>[a(" Zugang löschen ")]),_:1},8,["class","disabled"])])]),default:t(()=>[r(W,null,{default:t(()=>[O]),_:1}),r(b,{title:"Benutzername",required:"",subtype:"user",modelValue:d.cloudSettings.username,"onUpdate:modelValue":e[9]||(e[9]=n=>d.cloudSettings.username=n),disabled:""},null,8,["modelValue"]),r(b,{title:"Passwort",required:"",subtype:"password",modelValue:d.cloudSettings.password,"onUpdate:modelValue":e[10]||(e[10]=n=>d.cloudSettings.password=n),disabled:""},null,8,["modelValue"]),H,r(w,{title:"Zugang für Partner",buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}],"model-value":d.cloudSettings.partner,"onUpdate:modelValue":e[11]||(e[11]=n=>o.updateState(d.cloudBridgeKey,n,"access.partner"))},{help:t(()=>[a(" Wenn diese openWB über einen Partner erworben wurde, kann hier ein Support-Zugang für diesen freigegeben werden. ")]),_:1},8,["model-value"]),d.cloudSettings.partner?(u(),g(B,{key:0,title:"Gültige Partner-IDs",noElementsMessage:"Keine Partner-ID zugeordnet.","model-value":o.$store.state.mqtt["openWB/system/mqtt/valid_partner_ids"],"onUpdate:modelValue":e[12]||(e[12]=n=>o.updateState("openWB/system/mqtt/valid_partner_ids",n))},{"input-prefix":t(()=>[r(f,{"fixed-width":"",icon:["fas","user-gear"]})]),"element-prefix":t(()=>[r(f,{"fixed-width":"",icon:["fas","user-gear"]})]),help:t(()=>[a(" Die Partner-ID erhältst Du von Deinem Installateur. Ist hier keine Partner-ID eingetragen, dann kann auch niemand - trotz aktiviertem Zugang für Partner - über das Partner-Portal auf diese openWB zugreifen! ")]),_:1},8,["model-value"])):i("",!0)]),_:1})])):i("",!0),d.cloudBridgeKey?(u(),g(V,{key:4,formName:"cloudConfigured",onSave:e[14]||(e[14]=n=>o.$emit("save")),onReset:e[15]||(e[15]=n=>o.$emit("reset")),onDefaults:e[16]||(e[16]=n=>o.$emit("defaults"))})):i("",!0)]))])],64)}const ae=Z(M,[["render",Q],["__file","/opt/openWB-dev/openwb-ui-settings/src/views/CloudConfig.vue"]]);export{ae as default}; +import{l as S,a6 as q,F as P}from"./vendor-fortawesome-542fe04f.js";import{C as z}from"./index-eaa58995.js";import{_ as Z,q as l,k as u,l as m,B as r,M as t,u as c,z as g,A as i,a3 as v,I,x as a,p as k}from"./vendor-493c2bec.js";import"./vendor-bootstrap-a615942d.js";import"./vendor-jquery-a64a4809.js";import"./vendor-axios-b1ba123b.js";import"./vendor-sortablejs-0b339223.js";S.add(q);const M={name:"OpenwbCloudConfig",mixins:[z],emits:["sendCommand"],components:{FontAwesomeIcon:P},data(){return{mqttTopicsToSubscribe:["openWB/general/extern","openWB/system/dataprotection_acknowledged","openWB/system/mqtt/bridge/+","openWB/system/mqtt/valid_partner_ids"],enableNewCloudButton:!0,newCloudData:{email:"",username:"",partner:!1},enableCloudConnectButton:!0,connectCloudData:{username:"",password:"",partner:!1},enableRemoveCloudButton:!0,showCloudRemoveModal:!1}},computed:{cloudBridge:{get(){let o=this.getWildcardTopics("openWB/system/mqtt/bridge/+");for(const[e,y]of Object.entries(o))y.remote.is_openwb_cloud||delete o[e];return o}},cloudBridgeKey:{get(){for(const[o,e]of Object.entries(this.cloudBridge))if(e.remote.is_openwb_cloud)return o}},cloudSettings:{get(){return{username:this.cloudBridge[this.cloudBridgeKey].remote.username,password:this.cloudBridge[this.cloudBridgeKey].remote.password,partner:this.cloudBridge[this.cloudBridgeKey].access?this.cloudBridge[this.cloudBridgeKey].access.partner:!1}}}},methods:{getMqttBridgeIndex(o){return parseInt(o.match(/(?:\/)(\d+)$/)[1])},createCloud(){document.forms.cloudConfigCreateForm.reportValidity()&&(this.$emit("save"),this.$emit("sendCommand",{command:"initCloud",data:this.newCloudData}),this.enableNewCloudButton=!1)},connectCloud(){document.forms.cloudConfigConnectForm.reportValidity()&&(this.$emit("save"),this.$emit("sendCommand",{command:"connectCloud",data:this.connectCloudData}),this.enableCloudConnectButton=!1)},removeCloudModal(o){o.stopPropagation(),this.showCloudRemoveModal=!0},removeCloud(o){this.showCloudRemoveModal=!1,o=="confirm"&&(console.info("request removal of cloud"),this.updateState("openWB/system/mqtt/valid_partner_ids",[]),this.$emit("sendCommand",{command:"removeMqttBridge",data:{bridge:this.getMqttBridgeIndex(this.cloudBridgeKey)}}),this.enableCloudConnectButton=!0)}}},x={class:"cloud-config"},K={key:1},U={key:1,name:"cloudConfigCreateForm"},A=c("a",{href:"mailto:support@openwb.de",subject:"Cloud Zugangsdaten"}," support@openwb.de ",-1),N={key:0},R={key:1},F={class:"row justify-content-center"},j={key:2,name:"cloudConfigConnectForm"},E={key:0},G={key:1},T={class:"row justify-content-center"},L={key:3,name:"cloudConfigured"},O=c("span",null,[a(" Mit diesen Zugangsdaten können Sie sich in der "),c("a",{href:"https://remote.openwb.de/",target:"_blank",rel:"noopener noreferrer"}," openWB Cloud "),a(" anmelden. ")],-1),H=c("hr",null,null,-1),J={class:"row justify-content-center"};function Q(o,e,y,X,s,d){const D=l("openwb-base-modal-dialog"),h=l("router-link"),p=l("openwb-base-alert"),b=l("openwb-base-text-input"),w=l("openwb-base-button-group-input"),f=l("font-awesome-icon"),B=l("openwb-base-array-input"),C=l("openwb-base-click-button"),_=l("openwb-base-card"),W=l("openwb-base-heading"),V=l("openwb-base-submit-buttons");return u(),m(I,null,[r(D,{show:s.showCloudRemoveModal,title:"Cloud Zugang löschen",subtype:"danger",buttons:[{text:"Löschen",event:"confirm",subtype:"danger"}],onModalResult:e[0]||(e[0]=n=>d.removeCloud(n))},{default:t(()=>[a(" Wollen Sie den vorhandenen Cloud Zugang wirklich entfernen? Dieser Vorgang kann nicht rückgängig gemacht werden! ")]),_:1},8,["show"]),c("div",x,[o.$store.state.mqtt["openWB/system/dataprotection_acknowledged"]!==!0?(u(),g(p,{key:0,subtype:"danger"},{default:t(()=>[a(" Sie müssen der "),r(h,{to:"/System/LegalSettings"},{default:t(()=>[a(" Datenschutzerklärung ")]),_:1}),a(" zustimmen, um die openWB Cloud nutzen zu können. ")]),_:1})):(u(),m("div",K,[r(p,{subtype:"success"},{default:t(()=>[a(" Sie haben der "),r(h,{to:"/System/LegalSettings"},{default:t(()=>[a(" Datenschutzerklärung ")]),_:1}),a(" zugestimmt und können die openWB Cloud nutzen. ")]),_:1}),s.enableRemoveCloudButton?i("",!0):(u(),g(p,{key:0,subtype:"warning"},{default:t(()=>[a(" Der Zugang wurde entfernt. Bitte starten Sie die openWB neu, um die Änderungen anzuwenden! ")]),_:1})),d.cloudBridgeKey?i("",!0):(u(),m("form",U,[r(_,{title:"Neuen Zugang erstellen"},v({default:t(()=>[r(p,{subtype:"warning"},{default:t(()=>[a(" Derzeit können keine neuen Zugänge für die openWB Cloud angelegt werden. Bitte nutzen Sie die in/an der openWB notierten Zugangsdaten im unteren Bereich dieser Seite. Wenn bei einer gekauften openWB keine Zugangsdaten vorhanden sind, schreiben Sie bitte eine Mail unter Angabe der Bestell- und/oder Seriennummer an "),A,a(" . ")]),_:1}),o.$store.state.mqtt["openWB/general/extern"]===!0?(u(),m("div",N,[r(p,{subtype:"info"},{default:t(()=>[a(' Diese openWB befindet sich im Steuerungsmodus "secondary". Bitte richten Sie die openWB Cloud auf der übergeordneten primary openWB ein. ')]),_:1})])):(u(),m("div",R,[r(b,{title:"Benutzername",required:"",subtype:"user",pattern:"[a-zA-Z]+",modelValue:s.newCloudData.username,"onUpdate:modelValue":e[1]||(e[1]=n=>s.newCloudData.username=n),disabled:""},null,8,["modelValue"]),r(b,{title:"E-Mail",required:"",subtype:"email",modelValue:s.newCloudData.email,"onUpdate:modelValue":e[2]||(e[2]=n=>s.newCloudData.email=n),disabled:""},null,8,["modelValue"]),r(w,{disabled:"",title:"Zugang für Partner",buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}],modelValue:s.newCloudData.partner,"onUpdate:modelValue":e[3]||(e[3]=n=>s.newCloudData.partner=n)},{help:t(()=>[a(" Wenn diese openWB über einen Partner erworben wurde, kann hier ein Support-Zugang für diesen freigegeben werden. ")]),_:1},8,["modelValue"]),s.newCloudData.partner?(u(),g(B,{key:0,title:"Gültige Partner-IDs",noElementsMessage:"Keine Partner-ID zugeordnet.","model-value":o.$store.state.mqtt["openWB/system/mqtt/valid_partner_ids"],"onUpdate:modelValue":e[4]||(e[4]=n=>o.updateState("openWB/system/mqtt/valid_partner_ids",n))},{"input-prefix":t(()=>[r(f,{"fixed-width":"",icon:["fas","user-gear"]})]),"element-prefix":t(()=>[r(f,{"fixed-width":"",icon:["fas","user-gear"]})]),help:t(()=>[a(" Die Partner-ID erhältst Du von Deinem Installateur. Ist hier keine Partner-ID eingetragen, dann kann auch niemand - trotz aktiviertem Zugang für Partner - über das Partner-Portal auf diese openWB zugreifen! ")]),_:1},8,["model-value"])):i("",!0)]))]),_:2},[o.$store.state.mqtt["openWB/general/extern"]===!1&&o.$store.state.mqtt["openWB/system/dataprotection_acknowledged"]===!0?{name:"footer",fn:t(()=>[c("div",F,[r(C,{class:"col-4 btn-outline-success",disabled:""},{default:t(()=>[a(" Zugang erstellen ")]),_:1})])]),key:"0"}:void 0]),1024),s.enableNewCloudButton?i("",!0):(u(),g(p,{key:0,subtype:"info",class:"mb-2"},{default:t(()=>[a(" Der neue Zugang wird eingerichtet. Dieser Vorgang kann bis zu einer Minute dauern. Bitte warten. ")]),_:1}))])),d.cloudBridgeKey?i("",!0):(u(),m("form",j,[r(_,{title:"Vorhandenen Zugang einrichten"},v({default:t(()=>[o.$store.state.mqtt["openWB/general/extern"]===!0?(u(),m("div",E,[r(p,{subtype:"info"},{default:t(()=>[a(' Diese openWB befindet sich im Steuerungsmodus "secondary". Bitte richten Sie die openWB Cloud auf der übergeordneten primary openWB ein. ')]),_:1})])):(u(),m("div",G,[r(b,{title:"Benutzername",required:"",subtype:"user",modelValue:s.connectCloudData.username,"onUpdate:modelValue":e[5]||(e[5]=n=>s.connectCloudData.username=n)},null,8,["modelValue"]),r(b,{title:"Passwort",required:"",subtype:"password",modelValue:s.connectCloudData.password,"onUpdate:modelValue":e[6]||(e[6]=n=>s.connectCloudData.password=n)},null,8,["modelValue"]),r(w,{title:"Zugang für Partner",buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}],modelValue:s.connectCloudData.partner,"onUpdate:modelValue":e[7]||(e[7]=n=>s.connectCloudData.partner=n)},{help:t(()=>[a(" Wenn diese openWB über einen Partner erworben wurde, kann hier ein Support-Zugang für diesen freigegeben werden. ")]),_:1},8,["modelValue"]),s.connectCloudData.partner?(u(),g(B,{key:0,title:"Gültige Partner-IDs",noElementsMessage:"Keine Partner-ID zugeordnet.","model-value":o.$store.state.mqtt["openWB/system/mqtt/valid_partner_ids"],"onUpdate:modelValue":e[8]||(e[8]=n=>o.updateState("openWB/system/mqtt/valid_partner_ids",n))},{"input-prefix":t(()=>[r(f,{"fixed-width":"",icon:["fas","user-gear"]})]),"element-prefix":t(()=>[r(f,{"fixed-width":"",icon:["fas","user-gear"]})]),help:t(()=>[a(" Die Partner-ID erhältst Du von Deinem Installateur. Ist hier keine Partner-ID eingetragen, dann kann auch niemand - trotz aktiviertem Zugang für Partner - über das Partner-Portal auf diese openWB zugreifen! ")]),_:1},8,["model-value"])):i("",!0)]))]),_:2},[o.$store.state.mqtt["openWB/general/extern"]===!1&&o.$store.state.mqtt["openWB/system/dataprotection_acknowledged"]===!0?{name:"footer",fn:t(()=>[c("div",T,[r(C,{class:k(["col-4",s.enableCloudConnectButton?"btn-success":"btn-outline-success"]),disabled:!s.enableCloudConnectButton,onButtonClicked:d.connectCloud},{default:t(()=>[a(" Mit Cloud verbinden ")]),_:1},8,["class","disabled","onButtonClicked"])])]),key:"0"}:void 0]),1024)])),d.cloudBridgeKey?(u(),m("form",L,[!s.enableCloudConnectButton||!s.enableNewCloudButton?(u(),g(p,{key:0,subtype:"warning"},{default:t(()=>[a(" Der Zugang wurde eingerichtet. Bitte starten Sie die openWB neu, um die Änderungen anzuwenden! ")]),_:1})):i("",!0),r(_,{title:"Vorhandener Cloud Zugang"},{footer:t(()=>[c("div",J,[r(C,{class:k(["col-4",s.enableRemoveCloudButton?"btn-danger":"btn-outline-danger"]),disabled:!s.enableRemoveCloudButton,onButtonClicked:e[13]||(e[13]=n=>d.removeCloudModal(n))},{default:t(()=>[a(" Zugang löschen ")]),_:1},8,["class","disabled"])])]),default:t(()=>[r(W,null,{default:t(()=>[O]),_:1}),r(b,{title:"Benutzername",required:"",subtype:"user",modelValue:d.cloudSettings.username,"onUpdate:modelValue":e[9]||(e[9]=n=>d.cloudSettings.username=n),disabled:""},null,8,["modelValue"]),r(b,{title:"Passwort",required:"",subtype:"password",modelValue:d.cloudSettings.password,"onUpdate:modelValue":e[10]||(e[10]=n=>d.cloudSettings.password=n),disabled:""},null,8,["modelValue"]),H,r(w,{title:"Zugang für Partner",buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}],"model-value":d.cloudSettings.partner,"onUpdate:modelValue":e[11]||(e[11]=n=>o.updateState(d.cloudBridgeKey,n,"access.partner"))},{help:t(()=>[a(" Wenn diese openWB über einen Partner erworben wurde, kann hier ein Support-Zugang für diesen freigegeben werden. ")]),_:1},8,["model-value"]),d.cloudSettings.partner?(u(),g(B,{key:0,title:"Gültige Partner-IDs",noElementsMessage:"Keine Partner-ID zugeordnet.","model-value":o.$store.state.mqtt["openWB/system/mqtt/valid_partner_ids"],"onUpdate:modelValue":e[12]||(e[12]=n=>o.updateState("openWB/system/mqtt/valid_partner_ids",n))},{"input-prefix":t(()=>[r(f,{"fixed-width":"",icon:["fas","user-gear"]})]),"element-prefix":t(()=>[r(f,{"fixed-width":"",icon:["fas","user-gear"]})]),help:t(()=>[a(" Die Partner-ID erhältst Du von Deinem Installateur. Ist hier keine Partner-ID eingetragen, dann kann auch niemand - trotz aktiviertem Zugang für Partner - über das Partner-Portal auf diese openWB zugreifen! ")]),_:1},8,["model-value"])):i("",!0)]),_:1})])):i("",!0),d.cloudBridgeKey?(u(),g(V,{key:4,formName:"cloudConfigured",onSave:e[14]||(e[14]=n=>o.$emit("save")),onReset:e[15]||(e[15]=n=>o.$emit("reset")),onDefaults:e[16]||(e[16]=n=>o.$emit("defaults"))})):i("",!0)]))])],64)}const ae=Z(M,[["render",Q],["__file","/opt/openWB-dev/openwb-ui-settings/src/views/CloudConfig.vue"]]);export{ae as default}; diff --git a/web/settings/assets/DataManagement-f3f8c9ad.js b/web/settings/assets/DataManagement-533b5636.js similarity index 54% rename from web/settings/assets/DataManagement-f3f8c9ad.js rename to web/settings/assets/DataManagement-533b5636.js index 043da9790b..3503196fe1 100644 --- a/web/settings/assets/DataManagement-f3f8c9ad.js +++ b/web/settings/assets/DataManagement-533b5636.js @@ -1 +1 @@ -import{l as V,a9 as z,aa as A,ab as R,ac as j,ad as H,F as P}from"./vendor-fortawesome-9fdc06a9.js";import{_ as v,C as E}from"./index-131a952e.js";import{_ as N}from"./dynamic-import-helper-be004503.js";import{_ as D,q as c,k as m,l as f,z as S,M as u,x as i,y as g,B as o,u as n,a1 as U,a2 as q,I as B,A as W,p as C,J as F,a3 as I}from"./vendor-f0f38b48.js";import"./vendor-bootstrap-384bc385.js";import"./vendor-jquery-8576ed22.js";import"./vendor-axios-e59ef189.js";import"./vendor-sortablejs-cbf37f8f.js";const G={name:"BackupCloudConfigFallback",emits:["update:configuration"],props:{backupCloud:{type:Object,required:!0}},methods:{updateConfiguration(t,e=void 0){this.$emit("update:configuration",{value:t,object:e})}}},J={class:"backup-cloud-fallback"},Z={key:1};function K(t,e,d,b,l,s){const p=c("openwb-base-alert"),r=c("openwb-base-textarea");return m(),f("div",J,[Object.keys(d.backupCloud.configuration).length==0?(m(),S(p,{key:0,subtype:"info"},{default:u(()=>[i(' Die Backup-Cloud "'+g(d.backupCloud.name)+'" bietet keine Einstellungen. ',1)]),_:1})):(m(),f("div",Z,[o(p,{subtype:"warning"},{default:u(()=>[i(' Es wurde keine Konfigurationsseite für die Backup-Cloud "'+g(d.backupCloud.name)+'" gefunden. Die Einstellungen können als JSON direkt bearbeitet werden. ',1)]),_:1}),o(r,{title:"Konfiguration",subtype:"json","model-value":d.backupCloud.configuration,"onUpdate:modelValue":e[0]||(e[0]=_=>s.updateConfiguration(_,"configuration"))},{help:u(()=>[i(" Bitte prüfen Sie, ob die Eingaben richtig interpretiert werden. ")]),_:1},8,["model-value"]),o(p,{subtype:"info"},{default:u(()=>[n("pre",null,g(JSON.stringify(d.backupCloud.configuration,void 0,2)),1)]),_:1})]))])}const $=D(G,[["render",K],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/backup_clouds/OpenwbBackupCloudConfigFallback.vue"]]),Q={name:"OpenwbBackupCloudProxy",emits:["update:configuration","sendCommand"],props:{backupCloud:{type:Object,required:!0}},computed:{myComponent(){return console.debug(`loading backup cloud: ${this.backupCloud.type}`),U({loader:()=>N(Object.assign({"./nextcloud/backup_cloud.vue":()=>v(()=>import("./backup_cloud-9f2fcfd9.js"),["assets/backup_cloud-9f2fcfd9.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./nfs/backup_cloud.vue":()=>v(()=>import("./backup_cloud-bd2a7ae2.js"),["assets/backup_cloud-bd2a7ae2.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./onedrive/backup_cloud.vue":()=>v(()=>import("./backup_cloud-879a1fbe.js"),["assets/backup_cloud-879a1fbe.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./samba/backup_cloud.vue":()=>v(()=>import("./backup_cloud-56c2247a.js"),["assets/backup_cloud-56c2247a.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"])}),`./${this.backupCloud.type}/backup_cloud.vue`),errorComponent:$})}},methods:{updateConfiguration(t){this.$emit("update:configuration",t)},sendCommand(t){this.$emit("sendCommand",t)}}};function X(t,e,d,b,l,s){const p=c("openwb-base-heading");return m(),f(B,null,[o(p,null,{default:u(()=>[i(' Einstellungen für Backup-Cloud Modul "'+g(d.backupCloud.name)+'" ',1)]),_:1}),(m(),S(q(s.myComponent),{backupCloud:d.backupCloud,"onUpdate:configuration":e[0]||(e[0]=r=>s.updateConfiguration(r)),onSendCommand:e[1]||(e[1]=r=>s.sendCommand(r))},null,40,["backupCloud"]))],64)}const Y=D(Q,[["render",X],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/backup_clouds/OpenwbBackupCloudProxy.vue"]]);V.add(z,A,R,j,H);const ee={name:"OpenwbSystem",mixins:[E],emits:["sendCommand"],components:{FontAwesomeIcon:P,OpenwbBackupCloudProxy:Y},data(){return{mqttTopicsToSubscribe:["openWB/system/configurable/backup_clouds","openWB/system/backup_cloud/config","openWB/system/backup_cloud/backup_before_update","openWB/system/device/+/component/+/config","openWB/chargepoint/+/config","openWB/vehicle/+/name","openWB/LegacySmartHome/config/get/Devices/+/device_configured","openWB/LegacySmartHome/config/get/Devices/+/device_name"],warningAcknowledged:!1,selectedRestoreFile:void 0,restoreUploadDone:!1,selectedDataMigrationFile:void 0,dataMigrationUploadDone:!1,dataMigrationConfig:[{sectionName:"Ladepunkte",sectionComponents:[{key:"cp1",label:"Ladepunkt 1",validTypes:["chargePoint"]},{key:"cp2",label:"Ladepunkt 2",validTypes:["chargePoint"]},{key:"cp3",label:"Ladepunkt 3",validTypes:["chargePoint"]},{key:"cp4",label:"Ladepunkt 4",validTypes:["chargePoint"]},{key:"cp5",label:"Ladepunkt 5",validTypes:["chargePoint"]},{key:"cp6",label:"Ladepunkt 6",validTypes:["chargePoint"]},{key:"cp7",label:"Ladepunkt 7",validTypes:["chargePoint"]},{key:"cp8",label:"Ladepunkt 8",validTypes:["chargePoint"]}]},{sectionName:"Zähler",sectionComponents:[{key:"evu",label:"EVU",validTypes:["counter"]},{key:"consumer1",label:"Verbraucher 1",validTypes:["counter"]},{key:"consumer2",label:"Verbraucher 2",validTypes:["counter"]},{key:"consumer3",label:"Verbraucher 3",validTypes:["counter"]}]},{sectionName:"Wechselrichter",sectionComponents:[{key:"pvAll",label:"Wechselrichter (Summe)",validTypes:["inverter"],help:"Die 1.9er Version von openWB speichert lediglich die Summen-Leistung aller Wechselrichter."}]},{sectionName:"Batteriespeicher",sectionComponents:[{key:"bat",label:"Speicher 1",validTypes:["battery"]}]},{sectionName:"Fahrzeuge",sectionComponents:[{key:"ev1",label:"Fahrzeug von Ladepunkt 1",validTypes:["vehicle"]},{key:"ev2",label:"Fahrzeug von Ladepunkt 2",validTypes:["vehicle"]}]},{sectionName:"SmartHome 2.0",sectionComponents:[{key:"sh1",label:"Gerät 1",validTypes:["smartHome"]},{key:"sh2",label:"Gerät 2",validTypes:["smartHome"]},{key:"sh3",label:"Gerät 3",validTypes:["smartHome"]},{key:"sh4",label:"Gerät 4",validTypes:["smartHome"]},{key:"sh5",label:"Gerät 5",validTypes:["smartHome"]},{key:"sh6",label:"Gerät 6",validTypes:["smartHome"]},{key:"sh7",label:"Gerät 7",validTypes:["smartHome"]},{key:"sh8",label:"Gerät 8",validTypes:["smartHome"]},{key:"sh9",label:"Gerät 9",validTypes:["smartHome"]},{key:"sh10",label:"Gerät 10",validTypes:["smartHome"]}]}],dataMigrationMapping:{cp1:void 0,cp2:void 0,cp3:void 0,cp4:void 0,cp5:void 0,cp6:void 0,cp7:void 0,cp8:void 0,evu:void 0,pvAll:void 0,bat:void 0,consumer1:void 0,consumer2:void 0,consumer3:void 0,sh1:void 0,sh2:void 0,sh3:void 0,sh4:void 0,sh5:void 0,sh6:void 0,sh7:void 0,sh8:void 0,sh9:void 0,sh10:void 0,ev1:void 0,ev2:void 0}}},computed:{backupCloudList(){return this.$store.state.mqtt["openWB/system/configurable/backup_clouds"]},componentConfigurations(){return this.getWildcardTopics("openWB/system/device/+/component/+/config")},chargePointOptions(){let t=this.getWildcardTopics("openWB/chargepoint/+/config");var e=[];for(const d of Object.values(t))e.push({value:d.id,text:d.name});return e},counterOptions(){var t=[];for(const e of Object.values(this.componentConfigurations))this.isComponentType(e.type,"counter")&&t.push({value:e.id,text:e.name});return t},inverterOptions(){var t=[];for(const e of Object.values(this.componentConfigurations))this.isComponentType(e.type,"inverter")&&t.push({value:e.id,text:e.name});return t},batteryOptions(){var t=[];for(const e of Object.values(this.componentConfigurations))this.isComponentType(e.type,"bat")&&t.push({value:e.id,text:e.name});return t},vehicleOptions(){let t=this.getWildcardTopics("openWB/vehicle/+/name");var e=[];for(const[d,b]of Object.entries(t)){let l=parseInt(d.match(/\/(\d\d?)\//)[1]);e.push({value:l,text:b})}return e},smartHomeOptions(){let t=this.getWildcardTopics("openWB/LegacySmartHome/config/get/Devices/+/device_configured");var e=[];for(const[d,b]of Object.entries(t))if(b==1){let l=parseInt(d.match(/\/(\d\d?)\//)[1]);e.push({value:l,text:this.$store.state.mqtt[`openWB/LegacySmartHome/config/get/Devices/${l}/device_name`]})}return e}},methods:{isComponentType(t,e){return t.split("_").includes(e)},getBackupCloudDefaultConfiguration(t){const e=this.backupCloudList.find(d=>d.value==t);return Object.prototype.hasOwnProperty.call(e,"defaults")?{...JSON.parse(JSON.stringify(e.defaults))}:(console.warn("no default configuration found for backup cloud type!",t),{})},sendSystemCommand(t,e={}){this.$emit("sendCommand",{command:t,data:e})},getMigrationOptions(t){var e=[{value:void 0,text:"-- nicht übernehmen --"}];return t.includes("chargePoint")&&e.push(...this.chargePointOptions),t.includes("counter")&&e.push(...this.counterOptions),t.includes("inverter")&&e.push(...this.inverterOptions),t.includes("battery")&&e.push(...this.batteryOptions),t.includes("vehicle")&&e.push(...this.vehicleOptions),t.includes("smartHome")&&e.push(...this.smartHomeOptions),e},updateConfiguration(t,e){console.debug("updateConfiguration",t,e),this.updateState(t,e.value,e.object)},updateSelectedBackupCloud(t){this.updateState("openWB/system/backup_cloud/config",t,"type"),this.updateState("openWB/system/backup_cloud/config",this.getBackupCloudDefaultConfiguration(t))},updateSelectedRestoreFile(t){this.selectedRestoreFile=t.target.files[0]},updateSelectedDataMigrationFile(t){this.selectedDataMigrationFile=t.target.files[0]},uploadFile(t,e,d){return new Promise(b=>{if(e!==void 0){let l=new FormData;l.append("file",e),l.append("target",t),this.axios.post(location.protocol+"//"+location.host+"/openWB/web/settings/uploadFile.php",l,{headers:{"Content-Type":"multipart/form-data"}}).then(()=>{this.$root.postClientMessage(d,"success"),b(!0)}).catch(s=>{if(s.response){console.error(s.response.status,s.response.data);var p="Hochladen der Datei fehlgeschlagen!
"+s.response.status+": "+s.response.data}else s.request?(console.error(s.request),p+="Es wurde keine Antwort vom Server empfangen."):(console.error("Error",s.message),p+="Es ist ein unbekannter Fehler aufgetreten.");this.$root.postClientMessage(p,"danger"),b(!1)})}else console.error("no file selected for upload"),b(!1)})},async uploadRestoreFile(){const t="Die Sicherungsdatei wurde erfolgreich hochgeladen. Sie können die Wiederherstellung jetzt starten.";this.restoreUploadDone=await this.uploadFile("restore",this.selectedRestoreFile,t)},async uploadDataMigrationFile(){const t="Die Sicherungsdatei wurde erfolgreich hochgeladen. Sie können den Import jetzt starten.";this.dataMigrationUploadDone=await this.uploadFile("migrate",this.selectedDataMigrationFile,t)},restoreBackup(){this.sendSystemCommand("restoreBackup"),this.$store.commit("storeLocal",{name:"reloadRequired",value:!0})},dataMigration(){this.sendSystemCommand("dataMigration",this.dataMigrationMapping)},factoryReset(){this.sendSystemCommand("factoryReset",{}),this.$store.commit("storeLocal",{name:"reloadRequired",value:!0})}}},te={class:"system"},ne=n("h2",null,"Achtung!",-1),oe=n("p",null," Vor allen Aktionen auf dieser Seite ist sicherzustellen, dass kein Ladevorgang aktiv ist! Zur Sicherheit bitte zusätzlich alle Fahrzeuge von der Ladestation / den Ladestationen abstecken! ",-1),se={key:0},ie={name:"backupForm"},ae=n("a",{href:"/openWB/data/backup/",target:"_blank"},"hier",-1),le={class:"row justify-content-center"},ue={class:"col-md-4 d-flex py-1 justify-content-center"},de=n("hr",null,null,-1),re={name:"restoreForm"},ce=n("br",null,null,-1),pe={class:"input-group"},me={class:"input-group-prepend"},be={class:"input-group-text"},he={class:"custom-file"},fe={id:"input-file-label",class:"custom-file-label",for:"input-file","data-browse":"Suchen"},ge={class:"input-group-append"},_e=["disabled"],ke={class:"row justify-content-center"},ye={class:"col-md-4 d-flex py-1 justify-content-center"},ve=n("hr",null,null,-1),Ce={name:"cloudBackupForm"},we=n("br",null,null,-1),Be=n("a",{href:"https://github.com/openWB/core/wiki/Cloud-Sicherung",target:"_blank",rel:"noopener noreferrer"}," hier ",-1),De={key:0},Se={name:"dataMigrationForm"},Oe=n("br",null,null,-1),We=n("br",null,null,-1),Fe={class:"input-group"},Me={class:"input-group-prepend"},xe={class:"input-group-text"},Te={class:"custom-file"},Le={id:"data-migration-file-label",class:"custom-file-label",for:"data-migration-file","data-browse":"Suchen"},Ve={class:"input-group-append"},ze=["disabled"],Ae={class:"row justify-content-center"},Re={class:"col-md-4 d-flex py-1 justify-content-center"},je={name:"resetForm"},He={class:"row justify-content-center"},Pe={class:"col-md-4 d-flex py-1 justify-content-center"};function Ee(t,e,d,b,l,s){const p=c("openwb-base-button-group-input"),r=c("openwb-base-alert"),_=c("openwb-base-heading"),h=c("font-awesome-icon"),y=c("openwb-base-click-button"),O=c("openwb-base-select-input"),M=c("openwb-base-button-input"),x=c("openwb-backup-cloud-proxy"),T=c("openwb-base-submit-buttons"),w=c("openwb-base-card");return m(),f("div",te,[o(r,{subtype:"danger"},{default:u(()=>[ne,oe,o(p,{title:"Ich habe die Warnung verstanden",buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],modelValue:this.warningAcknowledged,"onUpdate:modelValue":e[0]||(e[0]=a=>this.warningAcknowledged=a)},null,8,["modelValue"])]),_:1}),l.warningAcknowledged?(m(),f("div",se,[o(w,{title:"Sicherung / Wiederherstellung",subtype:"success",collapsible:!0,collapsed:!0},{default:u(()=>[n("form",ie,[o(_,null,{default:u(()=>[i("Sicherung")]),_:1}),o(r,{subtype:"danger"},{default:u(()=>[i(' Aktuell können nur Sicherungen wiederhergestellt werden, die in den Entwicklungszweigen "master", "Beta" oder "Release" erstellt wurden! ')]),_:1}),o(r,{subtype:"info"},{default:u(()=>[i(" Nachdem die Sicherung abgeschlossen ist, kann die erstellte Datei über den Link in der Benachrichtigung oder "),ae,i(" heruntergeladen werden. ")]),_:1}),n("div",le,[n("div",ue,[o(y,{class:"btn-success clickable",onButtonClicked:e[1]||(e[1]=a=>s.sendSystemCommand("createBackup",{use_extended_filename:!0}))},{default:u(()=>[i(" Sicherung erstellen "),o(h,{"fixed-width":"",icon:["fas","archive"]})]),_:1})])])]),de,n("form",re,[o(_,null,{default:u(()=>[i("Wiederherstellung")]),_:1}),o(r,{subtype:"danger"},{default:u(()=>[i(" Für die Wiederherstellung wird eine aktive Internetverbindung benötigt."),ce,i(' Aktuell können nur Sicherungen wiederhergestellt werden, die in den Entwicklungszweigen "master", "Beta" oder "Release" erstellt wurden! ')]),_:1}),n("div",pe,[n("div",me,[n("div",be,[o(h,{"fixed-width":"",icon:["fas","file-archive"]})])]),n("div",he,[n("input",{id:"input-file",type:"file",class:"custom-file-input",accept:".tar.gz,application/gzip,application/tar+gzip",onChange:e[2]||(e[2]=a=>s.updateSelectedRestoreFile(a))},null,32),n("label",fe,g(l.selectedRestoreFile?l.selectedRestoreFile.name:"Bitte eine Datei auswählen"),1)]),n("div",ge,[n("button",{class:C(["btn",l.selectedRestoreFile?"btn-success clickable":"btn-outline-success"]),disabled:!l.selectedRestoreFile,type:"button",onClick:e[3]||(e[3]=a=>s.uploadRestoreFile())},[i(" Hochladen "),o(h,{"fixed-width":"",icon:["fas","upload"]})],10,_e)])]),n("div",ke,[n("div",ye,[o(y,{class:C(l.restoreUploadDone?"btn-success clickable":"btn-outline-success"),disabled:!l.restoreUploadDone,onButtonClicked:e[4]||(e[4]=a=>s.restoreBackup())},{default:u(()=>[i(" Wiederherstellung starten "),o(h,{"fixed-width":"",icon:["fas","box-open"]})]),_:1},8,["class","disabled"])])])]),ve,n("form",Ce,[o(_,null,{default:u(()=>[i(" Automatische Sicherung in einen Cloud-Dienst ")]),_:1}),o(r,{subtype:"info"},{default:u(()=>[i(" Zwischen Mitternacht und 5:00 Uhr wird automatisch eine Sicherung erstellt und in den angegebenen Cloud-Dienst (nicht openWB Cloud!) hochgeladen. Ist kein Cloud-Dienst konfiguriert, wird keine automatische Sicherung erstellt. Die automatische Sicherung kann unabhängig von der openWB Cloud genutzt werden."),we,i(" Die Anleitung zur Konfiguration des Cloud-Dienstes findest Du "),Be,i(" . ")]),_:1}),o(O,{class:"mb-2",title:"Backup-Cloud",options:s.backupCloudList,"model-value":t.$store.state.mqtt["openWB/system/backup_cloud/config"].type,"onUpdate:modelValue":e[5]||(e[5]=a=>s.updateSelectedBackupCloud(a))},null,8,["options","model-value"]),t.$store.state.mqtt["openWB/system/backup_cloud/config"].type?(m(),f("div",De,[o(p,{title:"Option Sicherung vor System Update",buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":t.$store.state.mqtt["openWB/system/backup_cloud/backup_before_update"],"onUpdate:modelValue":e[6]||(e[6]=a=>t.updateState("openWB/system/backup_cloud/backup_before_update",a))},null,8,["model-value"]),o(M,{title:"Manuelle Cloud-Sicherung",buttonText:"Sicherung erstellen und hochladen",subtype:"success",onButtonClicked:e[7]||(e[7]=a=>s.sendSystemCommand("createCloudBackup",{}))}),o(x,{backupCloud:t.$store.state.mqtt["openWB/system/backup_cloud/config"],"onUpdate:configuration":e[8]||(e[8]=a=>s.updateConfiguration("openWB/system/backup_cloud/config",a)),onSendCommand:e[9]||(e[9]=a=>s.sendSystemCommand(a.command,a.args))},null,8,["backupCloud"])])):W("",!0),o(T,{formName:"cloudBackupForm",hideReset:!0,hideDefaults:!0,onSave:e[10]||(e[10]=a=>t.$emit("save")),onReset:e[11]||(e[11]=a=>t.$emit("reset")),onDefaults:e[12]||(e[12]=a=>t.$emit("defaults"))})])]),_:1}),o(w,{title:"Datenübernahme",subtype:"success",collapsible:!0,collapsed:!0},{default:u(()=>[n("form",Se,[o(r,{subtype:"info"},{default:u(()=>[i(" Hier kann die Sicherung einer älteren 1.9er Version hochgeladen werden, um vorhandene historische Daten (Diagramme und Ladeprotokolle) sowie Cloud-Daten und Seriennummer in diese Installation zu importieren. Die Zuordnung zwischen den alten und neuen Komponenten muss manuell durchgeführt werden. ")]),_:1}),o(r,{subtype:"danger"},{default:u(()=>[i(" Die Portierung kann bei vielen historischen Daten von mehreren Jahren durchaus bis zu 30 Minuten dauern. Die openWB in dieser Zeit bitte nicht herunterfahren! Du erhältst eine Meldung, wenn die Datenübernahme abgeschlossen ist."),Oe,i(" Vor der Datenübernahme unbedingt eine Sicherung erstellen."),We,i(" Die Datenübernahme kann nur durch Einspielen einer Sicherung rückgängig gemacht werden! ")]),_:1}),n("div",Fe,[n("div",Me,[n("div",xe,[o(h,{"fixed-width":"",icon:["fas","file-archive"]})])]),n("div",Te,[n("input",{id:"data-migration-file",type:"file",class:"custom-file-input",accept:".tar.gz,application/gzip,application/tar+gzip",onChange:e[13]||(e[13]=a=>s.updateSelectedDataMigrationFile(a))},null,32),n("label",Le,g(l.selectedDataMigrationFile?l.selectedDataMigrationFile.name:"Bitte eine Datei auswählen"),1)]),n("div",Ve,[n("button",{class:C(["btn",l.selectedDataMigrationFile?"btn-success clickable":"btn-outline-success"]),disabled:!l.selectedDataMigrationFile,type:"button",onClick:e[14]||(e[14]=a=>s.uploadDataMigrationFile())},[i(" Hochladen "),o(h,{"fixed-width":"",icon:["fas","upload"]})],10,ze)])]),o(_,null,{default:u(()=>[i("Zuordnung der Komponenten")]),_:1}),(m(!0),f(B,null,F(l.dataMigrationConfig,a=>(m(),f("div",{key:a.sectionName},[o(_,null,{default:u(()=>[i(g(a.sectionName),1)]),_:2},1024),(m(!0),f(B,null,F(a.sectionComponents,k=>(m(),S(O,{key:k.key,title:k.label,options:s.getMigrationOptions(k.validTypes),modelValue:l.dataMigrationMapping[k.key],"onUpdate:modelValue":L=>l.dataMigrationMapping[k.key]=L},I({_:2},[k.help?{name:"help",fn:u(()=>[i(g(k.help),1)]),key:"0"}:void 0]),1032,["title","options","modelValue","onUpdate:modelValue"]))),128))]))),128)),n("div",Ae,[n("div",Re,[o(y,{class:C(l.dataMigrationUploadDone?"btn-success clickable":"btn-outline-success"),disabled:!l.dataMigrationUploadDone,onButtonClicked:e[15]||(e[15]=a=>s.dataMigration())},{default:u(()=>[i(" Datenübernahme starten "),o(h,{"fixed-width":"",icon:["fas","box-open"]})]),_:1},8,["class","disabled"])])])])]),_:1}),n("form",je,[o(w,{title:"Zurücksetzen",subtype:"danger",collapsible:!0,collapsed:!0},{footer:u(()=>[n("div",He,[n("div",Pe,[o(y,{class:"btn-danger clickable",onButtonClicked:e[16]||(e[16]=a=>s.factoryReset())},{default:u(()=>[o(h,{"fixed-width":"",icon:["fas","skull-crossbones"]}),i(" Zurücksetzen "),o(h,{"fixed-width":"",icon:["fas","skull-crossbones"]})]),_:1})])])]),default:u(()=>[o(r,{subtype:"danger"},{default:u(()=>[i(" Alle Einstellungen, angelegte Geräte/Komponenten, Ladepunkte und Fahrzeuge, etc, Tages-, Monats- und Jahresauswertungen sowie das Ladeprotokoll werden unwiederbringlich gelöscht. Auch die Vorkonfiguration im Auslieferungszustand wird gelöscht. Die openWB muss danach komplett neu eingerichtet werden. Die openWB wird hierfür automatisch neu gestartet. Bitte erstelle vor dem Zurücksetzen eine Sicherung! ")]),_:1})]),_:1})])])):W("",!0)])}const $e=D(ee,[["render",Ee],["__file","/opt/openWB-dev/openwb-ui-settings/src/views/DataManagement.vue"]]);export{$e as default}; +import{l as V,ab as z,ac as j,ad as A,ae as R,af as H,F as P}from"./vendor-fortawesome-542fe04f.js";import{_ as v,C as E}from"./index-eaa58995.js";import{_ as N}from"./dynamic-import-helper-be004503.js";import{_ as D,q as c,k as m,l as f,z as S,M as l,x as s,y as g,B as o,u as n,a1 as U,a2 as I,I as B,A as W,p as C,J as F,a3 as q}from"./vendor-493c2bec.js";import"./vendor-bootstrap-a615942d.js";import"./vendor-jquery-a64a4809.js";import"./vendor-axios-b1ba123b.js";import"./vendor-sortablejs-0b339223.js";const G={name:"BackupCloudConfigFallback",emits:["update:configuration"],props:{backupCloud:{type:Object,required:!0}},methods:{updateConfiguration(t,e=void 0){this.$emit("update:configuration",{value:t,object:e})}}},J={class:"backup-cloud-fallback"},Z={key:1};function K(t,e,d,b,u,i){const p=c("openwb-base-alert"),r=c("openwb-base-textarea");return m(),f("div",J,[Object.keys(d.backupCloud.configuration).length==0?(m(),S(p,{key:0,subtype:"info"},{default:l(()=>[s(' Die Backup-Cloud "'+g(d.backupCloud.name)+'" bietet keine Einstellungen. ',1)]),_:1})):(m(),f("div",Z,[o(p,{subtype:"warning"},{default:l(()=>[s(' Es wurde keine Konfigurationsseite für die Backup-Cloud "'+g(d.backupCloud.name)+'" gefunden. Die Einstellungen können als JSON direkt bearbeitet werden. ',1)]),_:1}),o(r,{title:"Konfiguration",subtype:"json","model-value":d.backupCloud.configuration,"onUpdate:modelValue":e[0]||(e[0]=_=>i.updateConfiguration(_,"configuration"))},{help:l(()=>[s(" Bitte prüfen Sie, ob die Eingaben richtig interpretiert werden. ")]),_:1},8,["model-value"]),o(p,{subtype:"info"},{default:l(()=>[n("pre",null,g(JSON.stringify(d.backupCloud.configuration,void 0,2)),1)]),_:1})]))])}const $=D(G,[["render",K],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/backup_clouds/OpenwbBackupCloudConfigFallback.vue"]]),Q={name:"OpenwbBackupCloudProxy",emits:["update:configuration","sendCommand"],props:{backupCloud:{type:Object,required:!0}},computed:{myComponent(){return console.debug(`loading backup cloud: ${this.backupCloud.type}`),U({loader:()=>N(Object.assign({"./nextcloud/backup_cloud.vue":()=>v(()=>import("./backup_cloud-da728d0d.js"),["assets/backup_cloud-da728d0d.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./nfs/backup_cloud.vue":()=>v(()=>import("./backup_cloud-1032af80.js"),["assets/backup_cloud-1032af80.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./onedrive/backup_cloud.vue":()=>v(()=>import("./backup_cloud-e0f25455.js"),["assets/backup_cloud-e0f25455.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./samba/backup_cloud.vue":()=>v(()=>import("./backup_cloud-7c272c6d.js"),["assets/backup_cloud-7c272c6d.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"])}),`./${this.backupCloud.type}/backup_cloud.vue`),errorComponent:$})}},methods:{updateConfiguration(t){this.$emit("update:configuration",t)},sendCommand(t){this.$emit("sendCommand",t)}}};function X(t,e,d,b,u,i){const p=c("openwb-base-heading");return m(),f(B,null,[o(p,null,{default:l(()=>[s(' Einstellungen für Backup-Cloud Modul "'+g(d.backupCloud.name)+'" ',1)]),_:1}),(m(),S(I(i.myComponent),{backupCloud:d.backupCloud,"onUpdate:configuration":e[0]||(e[0]=r=>i.updateConfiguration(r)),onSendCommand:e[1]||(e[1]=r=>i.sendCommand(r))},null,40,["backupCloud"]))],64)}const Y=D(Q,[["render",X],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/backup_clouds/OpenwbBackupCloudProxy.vue"]]);V.add(z,j,A,R,H);const ee={name:"OpenwbSystem",mixins:[E],emits:["sendCommand"],components:{FontAwesomeIcon:P,OpenwbBackupCloudProxy:Y},data(){return{mqttTopicsToSubscribe:["openWB/system/configurable/backup_clouds","openWB/system/backup_cloud/config","openWB/system/backup_cloud/backup_before_update","openWB/system/device/+/component/+/config","openWB/chargepoint/+/config","openWB/vehicle/+/name","openWB/LegacySmartHome/config/get/Devices/+/device_configured","openWB/LegacySmartHome/config/get/Devices/+/device_name"],warningAcknowledged:!1,selectedRestoreFile:void 0,restoreUploadDone:!1,selectedDataMigrationFile:void 0,dataMigrationUploadDone:!1,dataMigrationConfig:[{sectionName:"Ladepunkte",sectionComponents:[{key:"cp1",label:"Ladepunkt 1",validTypes:["chargePoint"]},{key:"cp2",label:"Ladepunkt 2",validTypes:["chargePoint"]},{key:"cp3",label:"Ladepunkt 3",validTypes:["chargePoint"]},{key:"cp4",label:"Ladepunkt 4",validTypes:["chargePoint"]},{key:"cp5",label:"Ladepunkt 5",validTypes:["chargePoint"]},{key:"cp6",label:"Ladepunkt 6",validTypes:["chargePoint"]},{key:"cp7",label:"Ladepunkt 7",validTypes:["chargePoint"]},{key:"cp8",label:"Ladepunkt 8",validTypes:["chargePoint"]}]},{sectionName:"Zähler",sectionComponents:[{key:"evu",label:"EVU",validTypes:["counter"]},{key:"consumer1",label:"Verbraucher 1",validTypes:["counter"]},{key:"consumer2",label:"Verbraucher 2",validTypes:["counter"]},{key:"consumer3",label:"Verbraucher 3",validTypes:["counter"]}]},{sectionName:"Wechselrichter",sectionComponents:[{key:"pvAll",label:"Wechselrichter (Summe)",validTypes:["inverter"],help:"Die 1.9er Version von openWB speichert lediglich die Summen-Leistung aller Wechselrichter."}]},{sectionName:"Batteriespeicher",sectionComponents:[{key:"bat",label:"Speicher 1",validTypes:["battery"]}]},{sectionName:"Fahrzeuge",sectionComponents:[{key:"ev1",label:"Fahrzeug von Ladepunkt 1",validTypes:["vehicle"]},{key:"ev2",label:"Fahrzeug von Ladepunkt 2",validTypes:["vehicle"]}]},{sectionName:"SmartHome 2.0",sectionComponents:[{key:"sh1",label:"Gerät 1",validTypes:["smartHome"]},{key:"sh2",label:"Gerät 2",validTypes:["smartHome"]},{key:"sh3",label:"Gerät 3",validTypes:["smartHome"]},{key:"sh4",label:"Gerät 4",validTypes:["smartHome"]},{key:"sh5",label:"Gerät 5",validTypes:["smartHome"]},{key:"sh6",label:"Gerät 6",validTypes:["smartHome"]},{key:"sh7",label:"Gerät 7",validTypes:["smartHome"]},{key:"sh8",label:"Gerät 8",validTypes:["smartHome"]},{key:"sh9",label:"Gerät 9",validTypes:["smartHome"]},{key:"sh10",label:"Gerät 10",validTypes:["smartHome"]}]}],dataMigrationMapping:{cp1:void 0,cp2:void 0,cp3:void 0,cp4:void 0,cp5:void 0,cp6:void 0,cp7:void 0,cp8:void 0,evu:void 0,pvAll:void 0,bat:void 0,consumer1:void 0,consumer2:void 0,consumer3:void 0,sh1:void 0,sh2:void 0,sh3:void 0,sh4:void 0,sh5:void 0,sh6:void 0,sh7:void 0,sh8:void 0,sh9:void 0,sh10:void 0,ev1:void 0,ev2:void 0}}},computed:{backupCloudList(){return this.$store.state.mqtt["openWB/system/configurable/backup_clouds"]},componentConfigurations(){return this.getWildcardTopics("openWB/system/device/+/component/+/config")},chargePointOptions(){let t=this.getWildcardTopics("openWB/chargepoint/+/config");var e=[];for(const d of Object.values(t))e.push({value:d.id,text:d.name});return e},counterOptions(){var t=[];for(const e of Object.values(this.componentConfigurations))this.isComponentType(e.type,"counter")&&t.push({value:e.id,text:e.name});return t},inverterOptions(){var t=[];for(const e of Object.values(this.componentConfigurations))this.isComponentType(e.type,"inverter")&&t.push({value:e.id,text:e.name});return t},batteryOptions(){var t=[];for(const e of Object.values(this.componentConfigurations))this.isComponentType(e.type,"bat")&&t.push({value:e.id,text:e.name});return t},vehicleOptions(){let t=this.getWildcardTopics("openWB/vehicle/+/name");var e=[];for(const[d,b]of Object.entries(t)){let u=parseInt(d.match(/\/(\d\d?)\//)[1]);e.push({value:u,text:b})}return e},smartHomeOptions(){let t=this.getWildcardTopics("openWB/LegacySmartHome/config/get/Devices/+/device_configured");var e=[];for(const[d,b]of Object.entries(t))if(b==1){let u=parseInt(d.match(/\/(\d\d?)\//)[1]);e.push({value:u,text:this.$store.state.mqtt[`openWB/LegacySmartHome/config/get/Devices/${u}/device_name`]})}return e}},methods:{isComponentType(t,e){return t.split("_").includes(e)},getBackupCloudDefaultConfiguration(t){const e=this.backupCloudList.find(d=>d.value==t);return Object.prototype.hasOwnProperty.call(e,"defaults")?{...JSON.parse(JSON.stringify(e.defaults))}:(console.warn("no default configuration found for backup cloud type!",t),{})},sendSystemCommand(t,e={}){this.$emit("sendCommand",{command:t,data:e})},getMigrationOptions(t){var e=[{value:void 0,text:"-- nicht übernehmen --"}];return t.includes("chargePoint")&&e.push(...this.chargePointOptions),t.includes("counter")&&e.push(...this.counterOptions),t.includes("inverter")&&e.push(...this.inverterOptions),t.includes("battery")&&e.push(...this.batteryOptions),t.includes("vehicle")&&e.push(...this.vehicleOptions),t.includes("smartHome")&&e.push(...this.smartHomeOptions),e},updateConfiguration(t,e){console.debug("updateConfiguration",t,e),this.updateState(t,e.value,e.object)},updateSelectedBackupCloud(t){this.updateState("openWB/system/backup_cloud/config",t,"type"),this.updateState("openWB/system/backup_cloud/config",this.getBackupCloudDefaultConfiguration(t))},updateSelectedRestoreFile(t){this.selectedRestoreFile=t.target.files[0]},updateSelectedDataMigrationFile(t){this.selectedDataMigrationFile=t.target.files[0]},uploadFile(t,e,d){return new Promise(b=>{if(e!==void 0){let u=new FormData;u.append("file",e),u.append("target",t),this.axios.post(location.protocol+"//"+location.host+"/openWB/web/settings/uploadFile.php",u,{headers:{"Content-Type":"multipart/form-data"}}).then(()=>{this.$root.postClientMessage(d,"success"),b(!0)}).catch(i=>{if(i.response){console.error(i.response.status,i.response.data);var p="Hochladen der Datei fehlgeschlagen!
"+i.response.status+": "+i.response.data}else i.request?(console.error(i.request),p+="Es wurde keine Antwort vom Server empfangen."):(console.error("Error",i.message),p+="Es ist ein unbekannter Fehler aufgetreten.");this.$root.postClientMessage(p,"danger"),b(!1)})}else console.error("no file selected for upload"),b(!1)})},async uploadRestoreFile(){const t="Die Sicherungsdatei wurde erfolgreich hochgeladen. Sie können die Wiederherstellung jetzt starten.";this.restoreUploadDone=await this.uploadFile("restore",this.selectedRestoreFile,t)},async uploadDataMigrationFile(){const t="Die Sicherungsdatei wurde erfolgreich hochgeladen. Sie können den Import jetzt starten.";this.dataMigrationUploadDone=await this.uploadFile("migrate",this.selectedDataMigrationFile,t)},restoreBackup(){this.sendSystemCommand("restoreBackup"),this.$store.commit("storeLocal",{name:"reloadRequired",value:!0})},dataMigration(){this.sendSystemCommand("dataMigration",this.dataMigrationMapping)},factoryReset(){this.sendSystemCommand("factoryReset",{}),this.$store.commit("storeLocal",{name:"reloadRequired",value:!0})}}},te={class:"system"},ne=n("h2",null,"Achtung!",-1),oe=n("p",null," Vor allen Aktionen auf dieser Seite ist sicherzustellen, dass kein Ladevorgang aktiv ist! Zur Sicherheit bitte zusätzlich alle Fahrzeuge von der Ladestation / den Ladestationen abstecken! ",-1),se={key:0},ie={name:"backupForm"},ae=n("a",{href:"/openWB/data/backup/",target:"_blank"},"hier",-1),le={class:"row justify-content-center"},ue={class:"col-md-4 d-flex py-1 justify-content-center"},de=n("hr",null,null,-1),re={name:"restoreForm"},ce=n("br",null,null,-1),pe={class:"input-group"},me={class:"input-group-prepend"},be={class:"input-group-text"},he={class:"custom-file"},fe={id:"input-file-label",class:"custom-file-label",for:"input-file","data-browse":"Suchen"},ge={class:"input-group-append"},_e=["disabled"],ke={class:"row justify-content-center"},ye={class:"col-md-4 d-flex py-1 justify-content-center"},ve=n("hr",null,null,-1),Ce={name:"cloudBackupForm"},we=n("br",null,null,-1),Be=n("a",{href:"https://github.com/openWB/core/wiki/Cloud-Sicherung",target:"_blank",rel:"noopener noreferrer"}," hier ",-1),De={key:0},Se={name:"dataMigrationForm"},Oe=n("br",null,null,-1),We=n("br",null,null,-1),Fe={class:"input-group"},Me={class:"input-group-prepend"},xe={class:"input-group-text"},Te={class:"custom-file"},Le={id:"data-migration-file-label",class:"custom-file-label",for:"data-migration-file","data-browse":"Suchen"},Ve={class:"input-group-append"},ze=["disabled"],je={class:"row justify-content-center"},Ae={class:"col-md-4 d-flex py-1 justify-content-center"},Re={name:"resetForm"},He={class:"row justify-content-center"},Pe={class:"col-md-4 d-flex py-1 justify-content-center"};function Ee(t,e,d,b,u,i){const p=c("openwb-base-button-group-input"),r=c("openwb-base-alert"),_=c("openwb-base-heading"),h=c("font-awesome-icon"),y=c("openwb-base-click-button"),O=c("openwb-base-select-input"),M=c("openwb-base-button-input"),x=c("openwb-backup-cloud-proxy"),T=c("openwb-base-submit-buttons"),w=c("openwb-base-card");return m(),f("div",te,[o(r,{subtype:"danger"},{default:l(()=>[ne,oe,o(p,{title:"Ich habe die Warnung verstanden",buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],modelValue:this.warningAcknowledged,"onUpdate:modelValue":e[0]||(e[0]=a=>this.warningAcknowledged=a)},null,8,["modelValue"])]),_:1}),u.warningAcknowledged?(m(),f("div",se,[o(w,{title:"Sicherung / Wiederherstellung",subtype:"success",collapsible:!0,collapsed:!0},{default:l(()=>[n("form",ie,[o(_,null,{default:l(()=>[s("Sicherung")]),_:1}),o(r,{subtype:"danger"},{default:l(()=>[s(' Aktuell können nur Sicherungen wiederhergestellt werden, die in den Entwicklungszweigen "master", "Beta" oder "Release" erstellt wurden! ')]),_:1}),o(r,{subtype:"info"},{default:l(()=>[s(" Nachdem die Sicherung abgeschlossen ist, kann die erstellte Datei über den Link in der Benachrichtigung oder "),ae,s(" heruntergeladen werden. ")]),_:1}),n("div",le,[n("div",ue,[o(y,{class:"btn-success clickable",onButtonClicked:e[1]||(e[1]=a=>i.sendSystemCommand("createBackup",{use_extended_filename:!0}))},{default:l(()=>[s(" Sicherung erstellen "),o(h,{"fixed-width":"",icon:["fas","archive"]})]),_:1})])])]),de,n("form",re,[o(_,null,{default:l(()=>[s("Wiederherstellung")]),_:1}),o(r,{subtype:"danger"},{default:l(()=>[s(" Für die Wiederherstellung wird eine aktive Internetverbindung benötigt."),ce,s(' Aktuell können nur Sicherungen wiederhergestellt werden, die in den Entwicklungszweigen "master", "Beta" oder "Release" erstellt wurden! ')]),_:1}),n("div",pe,[n("div",me,[n("div",be,[o(h,{"fixed-width":"",icon:["fas","file-archive"]})])]),n("div",he,[n("input",{id:"input-file",type:"file",class:"custom-file-input",accept:".tar.gz,application/gzip,application/tar+gzip",onChange:e[2]||(e[2]=a=>i.updateSelectedRestoreFile(a))},null,32),n("label",fe,g(u.selectedRestoreFile?u.selectedRestoreFile.name:"Bitte eine Datei auswählen"),1)]),n("div",ge,[n("button",{class:C(["btn",u.selectedRestoreFile?"btn-success clickable":"btn-outline-success"]),disabled:!u.selectedRestoreFile,type:"button",onClick:e[3]||(e[3]=a=>i.uploadRestoreFile())},[s(" Hochladen "),o(h,{"fixed-width":"",icon:["fas","upload"]})],10,_e)])]),n("div",ke,[n("div",ye,[o(y,{class:C(u.restoreUploadDone?"btn-success clickable":"btn-outline-success"),disabled:!u.restoreUploadDone,onButtonClicked:e[4]||(e[4]=a=>i.restoreBackup())},{default:l(()=>[s(" Wiederherstellung starten "),o(h,{"fixed-width":"",icon:["fas","box-open"]})]),_:1},8,["class","disabled"])])])]),ve,n("form",Ce,[o(_,null,{default:l(()=>[s(" Automatische Sicherung in einen Cloud-Dienst ")]),_:1}),o(r,{subtype:"info"},{default:l(()=>[s(" Zwischen Mitternacht und 5:00 Uhr wird automatisch eine Sicherung erstellt und in den angegebenen Cloud-Dienst (nicht openWB Cloud!) hochgeladen. Ist kein Cloud-Dienst konfiguriert, wird keine automatische Sicherung erstellt. Die automatische Sicherung kann unabhängig von der openWB Cloud genutzt werden."),we,s(" Die Anleitung zur Konfiguration des Cloud-Dienstes findest Du "),Be,s(" . ")]),_:1}),o(O,{class:"mb-2",title:"Backup-Cloud",options:i.backupCloudList,"model-value":t.$store.state.mqtt["openWB/system/backup_cloud/config"].type,"onUpdate:modelValue":e[5]||(e[5]=a=>i.updateSelectedBackupCloud(a))},null,8,["options","model-value"]),t.$store.state.mqtt["openWB/system/backup_cloud/config"].type?(m(),f("div",De,[o(p,{title:"Sicherung vor System Update",buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":t.$store.state.mqtt["openWB/system/backup_cloud/backup_before_update"],"onUpdate:modelValue":e[6]||(e[6]=a=>t.updateState("openWB/system/backup_cloud/backup_before_update",a))},{help:l(()=>[s(" Ist diese Option aktiviert, dann wird vor jedem System-Update automatisch eine Sicherung erstellt und diese in die Backup-Cloud hochgeladen. ")]),_:1},8,["model-value"]),o(M,{title:"Manuelle Cloud-Sicherung",buttonText:"Sicherung erstellen und hochladen",subtype:"success",onButtonClicked:e[7]||(e[7]=a=>i.sendSystemCommand("createCloudBackup",{}))}),o(x,{backupCloud:t.$store.state.mqtt["openWB/system/backup_cloud/config"],"onUpdate:configuration":e[8]||(e[8]=a=>i.updateConfiguration("openWB/system/backup_cloud/config",a)),onSendCommand:e[9]||(e[9]=a=>i.sendSystemCommand(a.command,a.args))},null,8,["backupCloud"])])):W("",!0),o(T,{formName:"cloudBackupForm",hideReset:!0,hideDefaults:!0,onSave:e[10]||(e[10]=a=>t.$emit("save")),onReset:e[11]||(e[11]=a=>t.$emit("reset")),onDefaults:e[12]||(e[12]=a=>t.$emit("defaults"))})])]),_:1}),o(w,{title:"Datenübernahme",subtype:"success",collapsible:!0,collapsed:!0},{default:l(()=>[n("form",Se,[o(r,{subtype:"info"},{default:l(()=>[s(" Hier kann die Sicherung einer älteren 1.9er Version hochgeladen werden, um vorhandene historische Daten (Diagramme und Ladeprotokolle) sowie Cloud-Daten und Seriennummer in diese Installation zu importieren. Die Zuordnung zwischen den alten und neuen Komponenten muss manuell durchgeführt werden. ")]),_:1}),o(r,{subtype:"danger"},{default:l(()=>[s(" Die Portierung kann bei vielen historischen Daten von mehreren Jahren durchaus bis zu 30 Minuten dauern. Die openWB in dieser Zeit bitte nicht herunterfahren! Du erhältst eine Meldung, wenn die Datenübernahme abgeschlossen ist."),Oe,s(" Vor der Datenübernahme unbedingt eine Sicherung erstellen."),We,s(" Die Datenübernahme kann nur durch Einspielen einer Sicherung rückgängig gemacht werden! ")]),_:1}),n("div",Fe,[n("div",Me,[n("div",xe,[o(h,{"fixed-width":"",icon:["fas","file-archive"]})])]),n("div",Te,[n("input",{id:"data-migration-file",type:"file",class:"custom-file-input",accept:".tar.gz,application/gzip,application/tar+gzip",onChange:e[13]||(e[13]=a=>i.updateSelectedDataMigrationFile(a))},null,32),n("label",Le,g(u.selectedDataMigrationFile?u.selectedDataMigrationFile.name:"Bitte eine Datei auswählen"),1)]),n("div",Ve,[n("button",{class:C(["btn",u.selectedDataMigrationFile?"btn-success clickable":"btn-outline-success"]),disabled:!u.selectedDataMigrationFile,type:"button",onClick:e[14]||(e[14]=a=>i.uploadDataMigrationFile())},[s(" Hochladen "),o(h,{"fixed-width":"",icon:["fas","upload"]})],10,ze)])]),o(_,null,{default:l(()=>[s("Zuordnung der Komponenten")]),_:1}),(m(!0),f(B,null,F(u.dataMigrationConfig,a=>(m(),f("div",{key:a.sectionName},[o(_,null,{default:l(()=>[s(g(a.sectionName),1)]),_:2},1024),(m(!0),f(B,null,F(a.sectionComponents,k=>(m(),S(O,{key:k.key,title:k.label,options:i.getMigrationOptions(k.validTypes),modelValue:u.dataMigrationMapping[k.key],"onUpdate:modelValue":L=>u.dataMigrationMapping[k.key]=L},q({_:2},[k.help?{name:"help",fn:l(()=>[s(g(k.help),1)]),key:"0"}:void 0]),1032,["title","options","modelValue","onUpdate:modelValue"]))),128))]))),128)),n("div",je,[n("div",Ae,[o(y,{class:C(u.dataMigrationUploadDone?"btn-success clickable":"btn-outline-success"),disabled:!u.dataMigrationUploadDone,onButtonClicked:e[15]||(e[15]=a=>i.dataMigration())},{default:l(()=>[s(" Datenübernahme starten "),o(h,{"fixed-width":"",icon:["fas","box-open"]})]),_:1},8,["class","disabled"])])])])]),_:1}),n("form",Re,[o(w,{title:"Zurücksetzen",subtype:"danger",collapsible:!0,collapsed:!0},{footer:l(()=>[n("div",He,[n("div",Pe,[o(y,{class:"btn-danger clickable",onButtonClicked:e[16]||(e[16]=a=>i.factoryReset())},{default:l(()=>[o(h,{"fixed-width":"",icon:["fas","skull-crossbones"]}),s(" Zurücksetzen "),o(h,{"fixed-width":"",icon:["fas","skull-crossbones"]})]),_:1})])])]),default:l(()=>[o(r,{subtype:"danger"},{default:l(()=>[s(" Alle Einstellungen, angelegte Geräte/Komponenten, Ladepunkte und Fahrzeuge, etc, Tages-, Monats- und Jahresauswertungen sowie das Ladeprotokoll werden unwiederbringlich gelöscht. Auch die Vorkonfiguration im Auslieferungszustand wird gelöscht. Die openWB muss danach komplett neu eingerichtet werden. Die openWB wird hierfür automatisch neu gestartet. Bitte erstelle vor dem Zurücksetzen eine Sicherung! ")]),_:1})]),_:1})])])):W("",!0)])}const $e=D(ee,[["render",Ee],["__file","/opt/openWB-dev/openwb-ui-settings/src/views/DataManagement.vue"]]);export{$e as default}; diff --git a/web/settings/assets/DebugConfig-97077e70.js b/web/settings/assets/DebugConfig-52bfd306.js similarity index 91% rename from web/settings/assets/DebugConfig-97077e70.js rename to web/settings/assets/DebugConfig-52bfd306.js index dbb10e763a..85d376190d 100644 --- a/web/settings/assets/DebugConfig-97077e70.js +++ b/web/settings/assets/DebugConfig-52bfd306.js @@ -1,2 +1,2 @@ -import{C as k}from"./index-131a952e.js";import{l as B,a5 as D,a6 as L,F as W}from"./vendor-fortawesome-9fdc06a9.js";import{_ as f,q as s,k as r,z as w,M as i,B as a,p as C,O as x,u as v,y as F,l as _,I as y,J as N,x as b}from"./vendor-f0f38b48.js";import"./vendor-bootstrap-384bc385.js";import"./vendor-jquery-8576ed22.js";import"./vendor-axios-e59ef189.js";import"./vendor-sortablejs-cbf37f8f.js";B.add(D,L);const $={name:"OpenwbLogCard",components:{FontAwesomeIcon:W},props:{title:{type:String,required:!0},logFile:{type:String,required:!0}},data(){return{logData:"-- noch nicht geladen --",loading:!1}},methods:{async getFilePromise(n,e=!1){return this.axios.get(location.protocol+"//"+location.host+n).then(t=>t.data).catch(t=>t.response?t.response.status==404&&e?"":`A 404 is expected if running node.js dev server! +import{C as k}from"./index-eaa58995.js";import{l as B,a7 as D,a8 as L,F as W}from"./vendor-fortawesome-542fe04f.js";import{_ as f,q as s,k as r,z as w,M as i,B as a,p as C,O as x,u as v,y as F,l as _,I as y,J as N,x as b}from"./vendor-493c2bec.js";import"./vendor-bootstrap-a615942d.js";import"./vendor-jquery-a64a4809.js";import"./vendor-axios-b1ba123b.js";import"./vendor-sortablejs-0b339223.js";B.add(D,L);const $={name:"OpenwbLogCard",components:{FontAwesomeIcon:W},props:{title:{type:String,required:!0},logFile:{type:String,required:!0}},data(){return{logData:"-- noch nicht geladen --",loading:!1}},methods:{async getFilePromise(n,e=!1){return this.axios.get(location.protocol+"//"+location.host+n).then(t=>t.data).catch(t=>t.response?t.response.status==404&&e?"":`A 404 is expected if running node.js dev server! `+t.response.status+" "+t.response.statusText+": "+t.response.request.responseURL:t.request?t.request:t.message)},loadLog(n){this.logData="wird aktualisiert...",this.loading=!0;var e="";this.getFilePromise(n+".1",!0).then(t=>{e=t,this.getFilePromise(n).then(d=>{e+=d,this.logData=e,this.loading=!1})})}}},S={class:"log-data mb-0"};function I(n,e,t,d,l,g){const u=s("font-awesome-icon"),p=s("openwb-base-avatar"),m=s("openwb-base-card");return r(),w(m,{title:t.title,class:"log-card mt-3",collapsible:!0,collapsed:!0},{actions:i(()=>[a(p,{class:"bg-success clickable",onClick:e[0]||(e[0]=x(c=>g.loadLog(t.logFile),["stop"]))},{default:i(()=>[a(u,{"fixed-width":"",class:C(l.loading?"fa-spin-pulse":""),icon:l.loading?["fas","spinner"]:["fas","file-download"]},null,8,["class","icon"])]),_:1})]),default:i(()=>[v("pre",S,F(l.logData),1)]),_:1},8,["title"])}const P=f($,[["render",I],["__scopeId","data-v-a320c3d6"],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/debug_config/LogCard.vue"]]),q={name:"OpenwbDebugging",mixins:[k],components:{OpenwbLogCard:P},data(){return{mqttTopicsToSubscribe:["openWB/general/extern","openWB/system/debug_level"],logFiles:[{title:"Main-Log",fileName:"/openWB/ramdisk/main.log"},{title:"Log des internen Ladepunktes",fileName:"/openWB/ramdisk/internal_chargepoint.log"},{title:"MQTT-Log",fileName:"/openWB/ramdisk/mqtt.log"},{title:"SoC-Log",fileName:"/openWB/ramdisk/soc.log"},{title:"Protokoll des letzten Updates",fileName:"/openWB/data/log/update.log"},{title:"Protokoll des Remote-Dienstes",fileName:"/openWB/ramdisk/remote_support.log"},{title:"Protokoll des SmartHome Dienstes",fileName:"/openWB/ramdisk/smarthome.log"},{title:"Protokoll der Datenmigration",fileName:"/openWB/data/log/data_migration.log"}]}}},z={class:"debugging"},V={name:"debugConfigForm"};function T(n,e,t,d,l,g){const u=s("openwb-base-button-group-input"),p=s("openwb-base-alert"),m=s("openwb-base-card"),c=s("openwb-base-submit-buttons"),h=s("openwb-log-card");return r(),_("div",z,[v("form",V,[a(m,{title:"Protokollierung"},{default:i(()=>[a(u,{title:"Debug Level",buttons:[{buttonValue:30,text:"Warnungen und Fehler"},{buttonValue:20,text:"Info"},{buttonValue:10,text:"Details"}],"model-value":n.$store.state.mqtt["openWB/system/debug_level"],"onUpdate:modelValue":e[0]||(e[0]=o=>n.updateState("openWB/system/debug_level",o))},{help:i(()=>[b(' Wenn der Debug Level auf "Info" oder "Details" gesetzt wird, werden mehr Informationen in die Logdateien geschrieben. Im normalen Betrieb sollte immer "Warnungen und Fehler" gewählt werden, um die Schreibvorgänge auf der SD-Karte zu reduzieren. ')]),_:1},8,["model-value"]),a(p,{subtype:"warning"},{default:i(()=>[b(' Achtung! In den Einstellungen "Info" und "Details" können in den Logdateien sensible Daten wie Benutzernamen und Kennwörter enthalten sein. Diese sollten vor dem Veröffentlichen z.B. im Forum unkenntlich gemacht werden. Private IP-Adressen (z.B. 192.168.x.x) müssen nicht maskiert werden, da diese nicht über das Internet erreichbar sind. ')]),_:1})]),_:1}),a(c,{formName:"debugConfigForm",onSave:e[1]||(e[1]=o=>n.$emit("save")),onReset:e[2]||(e[2]=o=>n.$emit("reset")),onDefaults:e[3]||(e[3]=o=>n.$emit("defaults"))})]),(r(!0),_(y,null,N(l.logFiles,o=>(r(),w(h,{key:o.fileName,title:o.title,"log-file":o.fileName},null,8,["title","log-file"]))),128))])}const j=f(q,[["render",T],["__file","/opt/openWB-dev/openwb-ui-settings/src/views/DebugConfig.vue"]]);export{j as default}; diff --git a/web/settings/assets/GeneralChargeConfig-a4ad1dc4.js b/web/settings/assets/GeneralChargeConfig-492c2730.js similarity index 91% rename from web/settings/assets/GeneralChargeConfig-a4ad1dc4.js rename to web/settings/assets/GeneralChargeConfig-492c2730.js index ca9ab83410..248fab6685 100644 --- a/web/settings/assets/GeneralChargeConfig-a4ad1dc4.js +++ b/web/settings/assets/GeneralChargeConfig-492c2730.js @@ -1 +1 @@ -import{_ as b,C as T}from"./index-131a952e.js";import{_ as $}from"./dynamic-import-helper-be004503.js";import{_ as h,q as a,k as s,l as p,B as n,M as o,x as r,y as _,u as c,a1 as E,z as k,a2 as V,I as P,A as W}from"./vendor-f0f38b48.js";import"./vendor-fortawesome-9fdc06a9.js";import"./vendor-bootstrap-384bc385.js";import"./vendor-jquery-8576ed22.js";import"./vendor-axios-e59ef189.js";import"./vendor-sortablejs-cbf37f8f.js";const q={name:"ElectricityTariffConfigFallback",emits:["update:configuration"],props:{electricityTariff:{type:Object,required:!0}},methods:{updateConfiguration(e,t=void 0){this.$emit("update:configuration",{value:e,object:t})}}},A={class:"backup-cloud-fallback"};function O(e,t,l,y,v,d){const u=a("openwb-base-alert"),f=a("openwb-base-textarea");return s(),p("div",A,[n(u,{subtype:"warning"},{default:o(()=>[r(' Es wurde keine Konfigurationsseite für den Anbieter "'+_(l.electricityTariff.name)+'" gefunden. Die Einstellungen können als JSON direkt bearbeitet werden. ',1)]),_:1}),n(f,{title:"Konfiguration",subtype:"json","model-value":l.electricityTariff.configuration,"onUpdate:modelValue":t[0]||(t[0]=g=>d.updateConfiguration(g,"configuration"))},{help:o(()=>[r(" Bitte prüfen Sie, ob die Eingaben richtig interpretiert werden. ")]),_:1},8,["model-value"]),n(u,{subtype:"info"},{default:o(()=>[c("pre",null,_(JSON.stringify(l.electricityTariff.configuration,void 0,2)),1)]),_:1})])}const F=h(q,[["render",O],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/electricity_tariffs/OpenwbElectricityTariffConfigFallback.vue"]]),L={name:"OpenwbElectricityTariffProxy",emits:["update:configuration"],props:{electricityTariff:{type:Object,required:!0}},computed:{myComponent(){return console.debug(`loading electricity tariff cloud: ${this.electricityTariff.type}`),E({loader:()=>$(Object.assign({"./awattar/electricity_tariff.vue":()=>b(()=>import("./electricity_tariff-e64977a9.js"),["assets/electricity_tariff-e64977a9.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./tibber/electricity_tariff.vue":()=>b(()=>import("./electricity_tariff-101d262d.js"),["assets/electricity_tariff-101d262d.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./voltego/electricity_tariff.vue":()=>b(()=>import("./electricity_tariff-9689c403.js"),["assets/electricity_tariff-9689c403.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"])}),`./${this.electricityTariff.type}/electricity_tariff.vue`),errorComponent:F})}},methods:{updateConfiguration(e){this.$emit("update:configuration",e)}}};function N(e,t,l,y,v,d){const u=a("openwb-base-heading");return s(),p(P,null,[n(u,null,{default:o(()=>[r(' Einstellungen für Modul "'+_(l.electricityTariff.name)+'" ',1)]),_:1}),(s(),k(V(d.myComponent),{electricityTariff:l.electricityTariff,"onUpdate:configuration":t[0]||(t[0]=f=>d.updateConfiguration(f))},null,40,["electricityTariff"]))],64)}const D=h(L,[["render",N],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/electricity_tariffs/OpenwbElectricityTariffProxy.vue"]]),U={name:"OpenwbGeneralChargeConfig",mixins:[T],components:{OpenwbElectricityTariffProxy:D},data(){return{mqttTopicsToSubscribe:["openWB/general/extern","openWB/general/chargemode_config/retry_failed_phase_switches","openWB/general/chargemode_config/unbalanced_load","openWB/general/chargemode_config/unbalanced_load_limit","openWB/general/prices/bat","openWB/general/prices/grid","openWB/general/prices/pv","openWB/optional/et/provider","openWB/system/configurable/electricity_tariffs"]}},computed:{electricityTariffList(){return this.$store.state.mqtt["openWB/system/configurable/electricity_tariffs"]}},methods:{getElectricityTariffDefaultConfiguration(e){const t=this.electricityTariffList.find(l=>l.value==e);return Object.prototype.hasOwnProperty.call(t,"defaults")?{...t.defaults}:(console.warn("no default configuration found for electricity tariff type!",e),{})},updateSelectedElectricityTariff(e){this.updateState("openWB/optional/et/provider",e,"type"),this.updateState("openWB/optional/et/provider",this.getElectricityTariffDefaultConfiguration(e))},updateConfiguration(e,t){console.debug("updateConfiguration",e,t),this.updateState(e,t.value,t.object)}}},Z={class:"generalChargeConfig"},j={name:"generalChargeConfigForm"},I={key:0},R={key:1},x=c("br",null,null,-1),G=c("br",null,null,-1),J=c("hr",null,null,-1),K=c("br",null,null,-1),H={key:0},M={key:1},Q=c("br",null,null,-1),X={key:0};function Y(e,t,l,y,v,d){const u=a("openwb-base-alert"),f=a("openwb-base-button-group-input"),g=a("openwb-base-range-input"),w=a("openwb-base-heading"),m=a("openwb-base-number-input"),B=a("openwb-base-card"),S=a("openwb-base-select-input"),z=a("openwb-electricity-tariff-proxy"),C=a("openwb-base-submit-buttons");return s(),p("div",Z,[c("form",j,[n(B,{title:"Allgemein"},{default:o(()=>[e.$store.state.mqtt["openWB/general/extern"]===!0?(s(),p("div",I,[n(u,{subtype:"info"},{default:o(()=>[r(' Diese Einstellungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. ')]),_:1})])):(s(),p("div",R,[n(f,{title:"Begrenzung der Schieflast",buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":e.$store.state.mqtt["openWB/general/chargemode_config/unbalanced_load"],"onUpdate:modelValue":t[0]||(t[0]=i=>e.updateState("openWB/general/chargemode_config/unbalanced_load",i))},{help:o(()=>[r(" Wenn diese Option aktiviert ist, werden nicht-dreiphasige Ladevorgänge so geregelt, dass am Netzanschlusspunkt (EVU-Zähler) die eingestellte Grenze für die Schieflast nicht überschritten wird. Hierfür muss der EVU-Zähler einzelne Phasenströme bereitstellen!"),x,r(' Weiterhin müssen bei den Ladepunkten sowie Fahrzeugen sämtliche Angaben zur Anzahl angeschlossener/unterstützter Phasen und der Phasenrotation hinterlegt werden, damit der Regelung bekannt ist, welcher Ladevorgang welche Phase am Netzanschluss beeinflusst. siehe "Konfiguration - Ladepunkte -> elektrischer Anschluss - Phase 1" und "Konfiguration - Fahrzeuge -> Fahrzeug-Profile" ')]),_:1},8,["model-value"]),e.$store.state.mqtt["openWB/general/chargemode_config/unbalanced_load"]?(s(),k(g,{key:0,title:"Erlaubte Schieflast",min:10,max:32,step:1,unit:"A","model-value":e.$store.state.mqtt["openWB/general/chargemode_config/unbalanced_load_limit"],"onUpdate:modelValue":t[1]||(t[1]=i=>e.updateState("openWB/general/chargemode_config/unbalanced_load_limit",i))},{help:o(()=>[r(" Hiermit wird festgelegt, welche Schieflast am Netzanschlusspunkt erlaubt ist. Bei Überschreitung werden gezielt einzelne Ladevorgänge in der Leistung begrenzt. ")]),_:1},8,["model-value"])):W("",!0),n(f,{title:"Phasenumschaltung wiederholt anstoßen",buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":e.$store.state.mqtt["openWB/general/chargemode_config/retry_failed_phase_switches"],"onUpdate:modelValue":t[2]||(t[2]=i=>e.updateState("openWB/general/chargemode_config/retry_failed_phase_switches",i))},{help:o(()=>[r(" Wenn diese Option aktiviert ist, werden bis zu drei Umschaltversuche vorgenommen, wenn die vorgegebene und genutzte Phasenzahl nicht übereinstimmen. Wird die Option deaktiviert, wird nur eine Umschaltung durchgeführt."),G,r(" Die gezählten Fehlversuche werden mit dem Abstecken zurückgesetzt. ")]),_:1},8,["model-value"]),J,n(w,null,{help:o(()=>[r(" Zur Berechnung der Ladekosten im Lade-Log werden stundenweise die Anteile der Stromquellen (Speicher, Netz, PV) berechnet und mit den hier angegebenen Preisen multipliziert."),K,r(" Ist die Abrechnung über das Ladeprotokoll, z.B. mit dem Arbeitgeber, vereinbart, ist bei allen drei Feldern der vereinbarte Preis einzutragen. ")]),default:o(()=>[r(" Berechnung der Ladekosten ")]),_:1}),n(m,{title:"Preis für Netzbezug",step:.001,precision:3,unit:"ct/kWh","model-value":e.$store.state.mqtt["openWB/general/prices/grid"]*1e5,"onUpdate:modelValue":t[3]||(t[3]=i=>e.updateState("openWB/general/prices/grid",parseFloat((i/1e5).toFixed(7))))},{help:o(()=>[r(" Ist ein Anbieter für variable Stromtarife konfiguriert, wird statt des hier angegebenen Netzpreises der dynamische Strompreis des Anbieters verwendet (stündliche Aktualisierung durch den Anbieter). ")]),_:1},8,["model-value"]),n(m,{title:"Preis für Speicherentladung",step:.001,precision:3,unit:"ct/kWh","model-value":e.$store.state.mqtt["openWB/general/prices/bat"]*1e5,"onUpdate:modelValue":t[4]||(t[4]=i=>e.updateState("openWB/general/prices/bat",parseFloat((i/1e5).toFixed(7))))},null,8,["model-value"]),n(m,{title:"Preis für PV-Strom",step:.001,precision:3,unit:"ct/kWh","model-value":e.$store.state.mqtt["openWB/general/prices/pv"]*1e5,"onUpdate:modelValue":t[5]||(t[5]=i=>e.updateState("openWB/general/prices/pv",parseFloat((i/1e5).toFixed(7))))},null,8,["model-value"])]))]),_:1}),n(B,{title:"Optional"},{default:o(()=>[e.$store.state.mqtt["openWB/general/extern"]===!0?(s(),p("div",H,[n(u,{subtype:"info"},{default:o(()=>[r(' Diese Einstellungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. ')]),_:1})])):(s(),p("div",M,[n(w,null,{default:o(()=>[r(" Variable Stromtarife ")]),_:1}),n(u,{subtype:"info"},{default:o(()=>[r(" Bei Sofort- und Zeitladen wird nur geladen, wenn der Strompreis unter dem maximalen angegeben Strompreis liegt. Für Zielladen wird die Ladedauer ermittelt und dann zu den günstigsten Stunden geladen."),Q,r(" Wenn keine Preise abgefragt werden können, wird bei Sofort- und Zeitladen immer geladen und bei Zielladen zunächst mit PV-Überschuss und zum Erreichen des Zieltermins mit Netzstrom. ")]),_:1}),n(S,{class:"mb-2",title:"Anbieter",options:d.electricityTariffList,"model-value":e.$store.state.mqtt["openWB/optional/et/provider"]?e.$store.state.mqtt["openWB/optional/et/provider"].type:"","onUpdate:modelValue":t[6]||(t[6]=i=>d.updateSelectedElectricityTariff(i))},null,8,["options","model-value"]),e.$store.state.mqtt["openWB/optional/et/provider"]&&e.$store.state.mqtt["openWB/optional/et/provider"].type?(s(),p("div",X,[n(z,{electricityTariff:e.$store.state.mqtt["openWB/optional/et/provider"],"onUpdate:configuration":t[7]||(t[7]=i=>d.updateConfiguration("openWB/optional/et/provider",i))},null,8,["electricityTariff"])])):W("",!0)]))]),_:1}),n(C,{formName:"generalChargeConfigForm",onSave:t[8]||(t[8]=i=>e.$emit("save")),onReset:t[9]||(t[9]=i=>e.$emit("reset")),onDefaults:t[10]||(t[10]=i=>e.$emit("defaults"))})])])}const le=h(U,[["render",Y],["__file","/opt/openWB-dev/openwb-ui-settings/src/views/GeneralChargeConfig.vue"]]);export{le as default}; +import{_ as b,C as T}from"./index-eaa58995.js";import{_ as $}from"./dynamic-import-helper-be004503.js";import{_ as h,q as a,k as s,l as p,B as n,M as o,x as r,y as _,u as c,a1 as E,z as k,a2 as V,I as P,A as W}from"./vendor-493c2bec.js";import"./vendor-fortawesome-542fe04f.js";import"./vendor-bootstrap-a615942d.js";import"./vendor-jquery-a64a4809.js";import"./vendor-axios-b1ba123b.js";import"./vendor-sortablejs-0b339223.js";const q={name:"ElectricityTariffConfigFallback",emits:["update:configuration"],props:{electricityTariff:{type:Object,required:!0}},methods:{updateConfiguration(e,t=void 0){this.$emit("update:configuration",{value:e,object:t})}}},A={class:"backup-cloud-fallback"};function O(e,t,l,y,v,d){const u=a("openwb-base-alert"),f=a("openwb-base-textarea");return s(),p("div",A,[n(u,{subtype:"warning"},{default:o(()=>[r(' Es wurde keine Konfigurationsseite für den Anbieter "'+_(l.electricityTariff.name)+'" gefunden. Die Einstellungen können als JSON direkt bearbeitet werden. ',1)]),_:1}),n(f,{title:"Konfiguration",subtype:"json","model-value":l.electricityTariff.configuration,"onUpdate:modelValue":t[0]||(t[0]=g=>d.updateConfiguration(g,"configuration"))},{help:o(()=>[r(" Bitte prüfen Sie, ob die Eingaben richtig interpretiert werden. ")]),_:1},8,["model-value"]),n(u,{subtype:"info"},{default:o(()=>[c("pre",null,_(JSON.stringify(l.electricityTariff.configuration,void 0,2)),1)]),_:1})])}const F=h(q,[["render",O],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/electricity_tariffs/OpenwbElectricityTariffConfigFallback.vue"]]),L={name:"OpenwbElectricityTariffProxy",emits:["update:configuration"],props:{electricityTariff:{type:Object,required:!0}},computed:{myComponent(){return console.debug(`loading electricity tariff cloud: ${this.electricityTariff.type}`),E({loader:()=>$(Object.assign({"./awattar/electricity_tariff.vue":()=>b(()=>import("./electricity_tariff-44aa80d9.js"),["assets/electricity_tariff-44aa80d9.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./tibber/electricity_tariff.vue":()=>b(()=>import("./electricity_tariff-2cf8bb76.js"),["assets/electricity_tariff-2cf8bb76.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./voltego/electricity_tariff.vue":()=>b(()=>import("./electricity_tariff-314675ce.js"),["assets/electricity_tariff-314675ce.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"])}),`./${this.electricityTariff.type}/electricity_tariff.vue`),errorComponent:F})}},methods:{updateConfiguration(e){this.$emit("update:configuration",e)}}};function N(e,t,l,y,v,d){const u=a("openwb-base-heading");return s(),p(P,null,[n(u,null,{default:o(()=>[r(' Einstellungen für Modul "'+_(l.electricityTariff.name)+'" ',1)]),_:1}),(s(),k(V(d.myComponent),{electricityTariff:l.electricityTariff,"onUpdate:configuration":t[0]||(t[0]=f=>d.updateConfiguration(f))},null,40,["electricityTariff"]))],64)}const D=h(L,[["render",N],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/electricity_tariffs/OpenwbElectricityTariffProxy.vue"]]),U={name:"OpenwbGeneralChargeConfig",mixins:[T],components:{OpenwbElectricityTariffProxy:D},data(){return{mqttTopicsToSubscribe:["openWB/general/extern","openWB/general/chargemode_config/retry_failed_phase_switches","openWB/general/chargemode_config/unbalanced_load","openWB/general/chargemode_config/unbalanced_load_limit","openWB/general/prices/bat","openWB/general/prices/grid","openWB/general/prices/pv","openWB/optional/et/provider","openWB/system/configurable/electricity_tariffs"]}},computed:{electricityTariffList(){return this.$store.state.mqtt["openWB/system/configurable/electricity_tariffs"]}},methods:{getElectricityTariffDefaultConfiguration(e){const t=this.electricityTariffList.find(l=>l.value==e);return Object.prototype.hasOwnProperty.call(t,"defaults")?{...t.defaults}:(console.warn("no default configuration found for electricity tariff type!",e),{})},updateSelectedElectricityTariff(e){this.updateState("openWB/optional/et/provider",e,"type"),this.updateState("openWB/optional/et/provider",this.getElectricityTariffDefaultConfiguration(e))},updateConfiguration(e,t){console.debug("updateConfiguration",e,t),this.updateState(e,t.value,t.object)}}},Z={class:"generalChargeConfig"},j={name:"generalChargeConfigForm"},I={key:0},R={key:1},x=c("br",null,null,-1),G=c("br",null,null,-1),J=c("hr",null,null,-1),K=c("br",null,null,-1),H={key:0},M={key:1},Q=c("br",null,null,-1),X={key:0};function Y(e,t,l,y,v,d){const u=a("openwb-base-alert"),f=a("openwb-base-button-group-input"),g=a("openwb-base-range-input"),w=a("openwb-base-heading"),m=a("openwb-base-number-input"),B=a("openwb-base-card"),S=a("openwb-base-select-input"),z=a("openwb-electricity-tariff-proxy"),C=a("openwb-base-submit-buttons");return s(),p("div",Z,[c("form",j,[n(B,{title:"Allgemein"},{default:o(()=>[e.$store.state.mqtt["openWB/general/extern"]===!0?(s(),p("div",I,[n(u,{subtype:"info"},{default:o(()=>[r(' Diese Einstellungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. ')]),_:1})])):(s(),p("div",R,[n(f,{title:"Begrenzung der Schieflast",buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":e.$store.state.mqtt["openWB/general/chargemode_config/unbalanced_load"],"onUpdate:modelValue":t[0]||(t[0]=i=>e.updateState("openWB/general/chargemode_config/unbalanced_load",i))},{help:o(()=>[r(" Wenn diese Option aktiviert ist, werden nicht-dreiphasige Ladevorgänge so geregelt, dass am Netzanschlusspunkt (EVU-Zähler) die eingestellte Grenze für die Schieflast nicht überschritten wird. Hierfür muss der EVU-Zähler einzelne Phasenströme bereitstellen!"),x,r(' Weiterhin müssen bei den Ladepunkten sowie Fahrzeugen sämtliche Angaben zur Anzahl angeschlossener/unterstützter Phasen und der Phasenrotation hinterlegt werden, damit der Regelung bekannt ist, welcher Ladevorgang welche Phase am Netzanschluss beeinflusst. siehe "Konfiguration - Ladepunkte -> elektrischer Anschluss - Phase 1" und "Konfiguration - Fahrzeuge -> Fahrzeug-Profile" ')]),_:1},8,["model-value"]),e.$store.state.mqtt["openWB/general/chargemode_config/unbalanced_load"]?(s(),k(g,{key:0,title:"Erlaubte Schieflast",min:10,max:32,step:1,unit:"A","model-value":e.$store.state.mqtt["openWB/general/chargemode_config/unbalanced_load_limit"],"onUpdate:modelValue":t[1]||(t[1]=i=>e.updateState("openWB/general/chargemode_config/unbalanced_load_limit",i))},{help:o(()=>[r(" Hiermit wird festgelegt, welche Schieflast am Netzanschlusspunkt erlaubt ist. Bei Überschreitung werden gezielt einzelne Ladevorgänge in der Leistung begrenzt. ")]),_:1},8,["model-value"])):W("",!0),n(f,{title:"Phasenumschaltung wiederholt anstoßen",buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":e.$store.state.mqtt["openWB/general/chargemode_config/retry_failed_phase_switches"],"onUpdate:modelValue":t[2]||(t[2]=i=>e.updateState("openWB/general/chargemode_config/retry_failed_phase_switches",i))},{help:o(()=>[r(" Wenn diese Option aktiviert ist, werden bis zu drei Umschaltversuche vorgenommen, wenn die vorgegebene und genutzte Phasenzahl nicht übereinstimmen. Wird die Option deaktiviert, wird nur eine Umschaltung durchgeführt."),G,r(" Die gezählten Fehlversuche werden mit dem Abstecken zurückgesetzt. ")]),_:1},8,["model-value"]),J,n(w,null,{help:o(()=>[r(" Zur Berechnung der Ladekosten im Lade-Log werden stundenweise die Anteile der Stromquellen (Speicher, Netz, PV) berechnet und mit den hier angegebenen Preisen multipliziert."),K,r(" Ist die Abrechnung über das Ladeprotokoll, z.B. mit dem Arbeitgeber, vereinbart, ist bei allen drei Feldern der vereinbarte Preis einzutragen. ")]),default:o(()=>[r(" Berechnung der Ladekosten ")]),_:1}),n(m,{title:"Preis für Netzbezug",step:.001,precision:3,unit:"ct/kWh","model-value":e.$store.state.mqtt["openWB/general/prices/grid"]*1e5,"onUpdate:modelValue":t[3]||(t[3]=i=>e.updateState("openWB/general/prices/grid",parseFloat((i/1e5).toFixed(7))))},{help:o(()=>[r(" Ist ein Anbieter für variable Stromtarife konfiguriert, wird statt des hier angegebenen Netzpreises der dynamische Strompreis des Anbieters verwendet (stündliche Aktualisierung durch den Anbieter). ")]),_:1},8,["model-value"]),n(m,{title:"Preis für Speicherentladung",step:.001,precision:3,unit:"ct/kWh","model-value":e.$store.state.mqtt["openWB/general/prices/bat"]*1e5,"onUpdate:modelValue":t[4]||(t[4]=i=>e.updateState("openWB/general/prices/bat",parseFloat((i/1e5).toFixed(7))))},null,8,["model-value"]),n(m,{title:"Preis für PV-Strom",step:.001,precision:3,unit:"ct/kWh","model-value":e.$store.state.mqtt["openWB/general/prices/pv"]*1e5,"onUpdate:modelValue":t[5]||(t[5]=i=>e.updateState("openWB/general/prices/pv",parseFloat((i/1e5).toFixed(7))))},null,8,["model-value"])]))]),_:1}),n(B,{title:"Optional"},{default:o(()=>[e.$store.state.mqtt["openWB/general/extern"]===!0?(s(),p("div",H,[n(u,{subtype:"info"},{default:o(()=>[r(' Diese Einstellungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. ')]),_:1})])):(s(),p("div",M,[n(w,null,{default:o(()=>[r(" Variable Stromtarife ")]),_:1}),n(u,{subtype:"info"},{default:o(()=>[r(" Bei Sofort- und Zeitladen wird nur geladen, wenn der Strompreis unter dem maximalen angegeben Strompreis liegt. Für Zielladen wird die Ladedauer ermittelt und dann zu den günstigsten Stunden geladen."),Q,r(" Wenn keine Preise abgefragt werden können, wird bei Sofort- und Zeitladen immer geladen und bei Zielladen zunächst mit PV-Überschuss und zum Erreichen des Zieltermins mit Netzstrom. ")]),_:1}),n(S,{class:"mb-2",title:"Anbieter",options:d.electricityTariffList,"model-value":e.$store.state.mqtt["openWB/optional/et/provider"]?e.$store.state.mqtt["openWB/optional/et/provider"].type:"","onUpdate:modelValue":t[6]||(t[6]=i=>d.updateSelectedElectricityTariff(i))},null,8,["options","model-value"]),e.$store.state.mqtt["openWB/optional/et/provider"]&&e.$store.state.mqtt["openWB/optional/et/provider"].type?(s(),p("div",X,[n(z,{electricityTariff:e.$store.state.mqtt["openWB/optional/et/provider"],"onUpdate:configuration":t[7]||(t[7]=i=>d.updateConfiguration("openWB/optional/et/provider",i))},null,8,["electricityTariff"])])):W("",!0)]))]),_:1}),n(C,{formName:"generalChargeConfigForm",onSave:t[8]||(t[8]=i=>e.$emit("save")),onReset:t[9]||(t[9]=i=>e.$emit("reset")),onDefaults:t[10]||(t[10]=i=>e.$emit("defaults"))})])])}const le=h(U,[["render",Y],["__file","/opt/openWB-dev/openwb-ui-settings/src/views/GeneralChargeConfig.vue"]]);export{le as default}; diff --git a/web/settings/assets/GeneralConfig-24f78660.js b/web/settings/assets/GeneralConfig-24f78660.js deleted file mode 100644 index a1c0872b78..0000000000 --- a/web/settings/assets/GeneralConfig-24f78660.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as B,C as E}from"./index-131a952e.js";import{_ as C}from"./dynamic-import-helper-be004503.js";import{l as D,X as O,Y as V,F as q}from"./vendor-fortawesome-9fdc06a9.js";import{_ as w,q as p,k as a,l as m,z as f,M as o,x as r,y as c,B as t,u as b,a1 as k,a2 as S,I as R,A as h}from"./vendor-f0f38b48.js";import"./vendor-bootstrap-384bc385.js";import"./vendor-jquery-8576ed22.js";import"./vendor-axios-e59ef189.js";import"./vendor-sortablejs-cbf37f8f.js";const L={name:"WebThemeFallback",emits:["update:configuration"],props:{webTheme:{type:Object,required:!0}},methods:{updateConfiguration(e,n=void 0){this.$emit("update:configuration",{value:e,object:n})}}},x={class:"web-theme-fallback"},P={key:1};function N(e,n,i,v,W,u){const s=p("openwb-base-alert"),d=p("openwb-base-textarea");return a(),m("div",x,[Object.keys(i.webTheme.configuration).length==0?(a(),f(s,{key:0,subtype:"info"},{default:o(()=>[r(' Das Web Theme "'+c(i.webTheme.name)+'" bietet keine Einstellungen. ',1)]),_:1})):(a(),m("div",P,[t(s,{subtype:"warning"},{default:o(()=>[r(' Es wurde keine Konfigurationsseite für das Web Theme "'+c(i.webTheme.name)+'" gefunden. Die Einstellungen können als JSON direkt bearbeitet werden. ',1)]),_:1}),t(d,{title:"Theme Konfiguration",subtype:"json","model-value":i.webTheme.configuration,"onUpdate:modelValue":n[0]||(n[0]=g=>u.updateConfiguration(g,"configuration"))},{help:o(()=>[r(" Bitte prüfen Sie, ob die Eingaben richtig interpretiert werden. ")]),_:1},8,["model-value"]),t(s,{subtype:"info"},{default:o(()=>[b("pre",null,c(JSON.stringify(i.webTheme.configuration,void 0,2)),1)]),_:1})]))])}const A=w(L,[["render",N],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/web_themes/OpenwbWebThemeFallback.vue"]]);D.add(O,V);const F={name:"OpenwbWebThemeProxy",emits:["update:configuration"],props:{webTheme:{type:Object,required:!0}},components:{FontAwesomeIcon:q},computed:{myComponent(){return console.debug(`loading web theme: ${this.webTheme.name}`),k({loader:()=>C(Object.assign({}),`./${this.webTheme.type}/webTheme.vue`),errorComponent:A})}},methods:{updateConfiguration(e){this.$emit("update:configuration",e)}}};function U(e,n,i,v,W,u){const s=p("font-awesome-icon"),d=p("openwb-base-alert"),g=p("openwb-base-heading");return a(),m(R,null,[i.webTheme.official?(a(),f(d,{key:0,subtype:"success"},{default:o(()=>[t(s,{"fixed-width":"",icon:["fas","certificate"]}),r(' Das ausgewählte Web Theme "'+c(i.webTheme.name)+'" wird von openWB gepflegt. ',1)]),_:1})):(a(),f(d,{key:1,subtype:"info"},{default:o(()=>[t(s,{"fixed-width":"",icon:["fas","people-group"]}),r(" Das ausgewählte Theme wird in unserer Community gepflegt. Rückfragen oder Probleme bitte im Forum diskutieren. ")]),_:1})),t(g,null,{default:o(()=>[r(' Einstellungen für Web Theme "'+c(i.webTheme.name)+'" ',1)]),_:1}),(a(),f(S(u.myComponent),{webTheme:i.webTheme,"onUpdate:configuration":n[0]||(n[0]=_=>u.updateConfiguration(_))},null,40,["webTheme"]))],64)}const j=w(F,[["render",U],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/web_themes/OpenwbWebThemeProxy.vue"]]),M={name:"RippleControlReceiverConfigFallback",emits:["update:configuration"],props:{rippleControlReceiver:{type:Object,required:!0}},methods:{updateConfiguration(e,n=void 0){this.$emit("update:configuration",{value:e,object:n})}}},G={class:"ripple-control-receiver-fallback"},I={key:1};function K(e,n,i,v,W,u){const s=p("openwb-base-alert"),d=p("openwb-base-textarea");return a(),m("div",G,[Object.keys(i.rippleControlReceiver.configuration).length==0?(a(),f(s,{key:0,subtype:"info"},{default:o(()=>[r(' Das RSE-Modul "'+c(i.rippleControlReceiver.name)+'" bietet keine Einstellungen. ',1)]),_:1})):(a(),m("div",I,[t(s,{subtype:"warning"},{default:o(()=>[r(' Es wurde keine Konfigurationsseite für das RSE-Modul "'+c(i.rippleControlReceiver.name)+'" gefunden. Die Einstellungen können als JSON direkt bearbeitet werden. ',1)]),_:1}),t(d,{title:"Konfiguration",subtype:"json","model-value":i.rippleControlReceiver.configuration,"onUpdate:modelValue":n[0]||(n[0]=g=>u.updateConfiguration(g,"configuration"))},{help:o(()=>[r(" Bitte prüfen Sie, ob die Eingaben richtig interpretiert werden. ")]),_:1},8,["model-value"]),t(s,{subtype:"info"},{default:o(()=>[b("pre",null,c(JSON.stringify(i.rippleControlReceiver.configuration,void 0,2)),1)]),_:1})]))])}const H=w(M,[["render",K],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/ripple_control_receivers/OpenwbRippleControlReceiverConfigFallback.vue"]]),J={name:"OpenwbRippleControlReceiverProxy",emits:["update:configuration","sendCommand"],props:{rippleControlReceiver:{type:Object,required:!0}},computed:{myComponent(){return console.debug(`loading backup cloud: ${this.rippleControlReceiver.type}`),k({loader:()=>C(Object.assign({"./dimm_kit/ripple_control_receiver.vue":()=>B(()=>import("./ripple_control_receiver-bd6d3e2c.js"),["assets/ripple_control_receiver-bd6d3e2c.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./gpio/ripple_control_receiver.vue":()=>B(()=>import("./ripple_control_receiver-8b8f9ef4.js"),["assets/ripple_control_receiver-8b8f9ef4.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"])}),`./${this.rippleControlReceiver.type}/ripple_control_receiver.vue`),errorComponent:H})}},methods:{updateConfiguration(e){this.$emit("update:configuration",e)},sendCommand(e){this.$emit("sendCommand",e)}}};function Z(e,n,i,v,W,u){const s=p("openwb-base-heading");return a(),m(R,null,[t(s,null,{default:o(()=>[r(' Einstellungen für RSE-Modul "'+c(i.rippleControlReceiver.name)+'" ',1)]),_:1}),(a(),f(S(u.myComponent),{rippleControlReceiver:i.rippleControlReceiver,"onUpdate:configuration":n[0]||(n[0]=d=>u.updateConfiguration(d)),onSendCommand:n[1]||(n[1]=d=>u.sendCommand(d))},null,40,["rippleControlReceiver"]))],64)}const X=w(J,[["render",Z],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/ripple_control_receivers/OpenwbRippleControlReceiverProxy.vue"]]),Y={name:"OpenwbGeneralConfig",mixins:[E],components:{OpenwbWebThemeProxy:j,OpenwbRippleControlReceiverProxy:X},data(){return{mqttTopicsToSubscribe:["openWB/general/extern","openWB/general/control_interval","openWB/general/grid_protection_configured","openWB/general/external_buttons_hw","openWB/general/modbus_control","openWB/general/notifications/selected","openWB/general/notifications/configuration","openWB/general/notifications/start_charging","openWB/general/notifications/stop_charging","openWB/general/notifications/plug","openWB/general/notifications/smart_home","openWB/general/price_kwh","openWB/general/range_unit","openWB/general/ripple_control_receiver/module","openWB/general/web_theme","openWB/system/configurable/ripple_control_receivers","openWB/system/configurable/web_themes"]}},computed:{webThemeList:{get(){return this.$store.state.mqtt["openWB/system/configurable/web_themes"]}},webThemeGroupList:{get(){let e=[{label:"openWB",options:[]},{label:"Community",options:[]}];return this.webThemeList.forEach(n=>{n.official===!0?e[0].options.push(n):e[1].options.push(n)}),e}},rippleControlReceiverList(){return this.$store.state.mqtt["openWB/system/configurable/ripple_control_receivers"]}},methods:{getWebThemeDefaults(e){const n=this.webThemeList.find(i=>i.value==e);return Object.prototype.hasOwnProperty.call(n,"defaults")?{...JSON.parse(JSON.stringify(n.defaults))}:(console.warn("no default configuration found for web theme type!",e),{})},updateSelectedWebTheme(e){this.updateState("openWB/general/web_theme",this.getWebThemeDefaults(e))},updateConfiguration(e,n){console.debug("updateConfiguration",e,n),this.updateState(e,n.value,n.object)},getRippleControlReceiverDefaultConfiguration(e){const n=this.rippleControlReceiverList.find(i=>i.value==e);return Object.prototype.hasOwnProperty.call(n,"defaults")?{...n.defaults}:(console.warn("no default configuration found for electricity tariff type!",e),{})},updateSelectedRippleControlReceiverModule(e){this.updateState("openWB/general/ripple_control_receiver/module",e,"type"),this.updateState("openWB/general/ripple_control_receiver/module",this.getRippleControlReceiverDefaultConfiguration(e))}}},Q={class:"generalConfig"},ee={name:"generalConfigForm"},ne=b("br",null,null,-1),te=b("br",null,null,-1),oe=b("br",null,null,-1),re=b("a",{href:"https://openwb.de/main/?page_id=1025",target:"_blank",rel:"noopener noreferrer"}," Homepage ",-1),ie=b("a",{href:"https://openwb.de/main/wp-content/uploads/2023/10/ModbusTCP-openWB-series2-Pro-1.pdf",target:"_blank",rel:"noopener noreferrer"}," hier ",-1),ae={key:1},le={key:0},se={key:1},ue=b("br",null,null,-1),de=b("span",{class:"text-danger"},' Nicht nur die Regelung der PV geführten Ladung, sondern auch die Ladestromänderung, beispielsweise “Stop“ etc., werden dann nur noch in diesem Intervall ausgeführt. Die Regelung wird insgesamt träger. Solange es keinen triftigen Grund gibt, sollte "Normal" gewählt werden. ',-1),pe=b("br",null,null,-1),me=b("span",{class:"text-danger"}," Die Option ist nur aktiv, wenn der EVU-Zähler die Frequenz übermittelt. ",-1),be=b("hr",null,null,-1),ge={key:2},ce={key:0},fe={key:1},_e={key:0},he=b("hr",null,null,-1);function we(e,n,i,v,W,u){const s=p("openwb-base-alert"),d=p("openwb-base-button-group-input"),g=p("openwb-base-card"),_=p("openwb-base-heading"),y=p("openwb-base-select-input"),T=p("openwb-ripple-control-receiver-proxy"),$=p("openwb-web-theme-proxy"),z=p("openwb-base-submit-buttons");return a(),m("div",Q,[b("form",ee,[t(g,{title:"Steuerungsmodus"},{default:o(()=>[t(s,{subtype:"info"},{default:o(()=>[r(' Wird für den Steuerungsmodus "primary" gewählt, übernimmt diese openWB die alleinige Regelung und steuert ggf. vorhandene weitere openWB (z.B. externe openWB im Steuermodus secondary, openWB Pro, Satellit u.a.) fern. Sie werden in den Ladepunkt-Einstellungen der primary-openWB hinzugefügt. '),ne,te,r(' Wird für den Steuerungsmodus "secondary" gewählt, übernimmt diese openWB keine Regelung und muss von einer anderen primary openWB ferngesteuert werden. Wichtig ist, dass in der secondary-openWB eine "interne openWB" mit der korrekten Bauart (= openWB-Hardwarevariante z.B. "Custom, Standard, Standard+, Duo, Buchse") konfiguriert ist. Bei einer Duo sind zwei "interne openWB" zu konfigurieren. Im "secondary"-Modus bleiben alle ausgeblendeten Einstellungen unbeachtet.'),oe,r(" Eine bebilderte Anleitung zur Konfiguration der Ladepunkte findest Du auf der "),re,r(". ")]),_:1}),t(d,{title:"Steuerungsmodus",buttons:[{buttonValue:!1,text:"primary",class:"btn-outline-danger"},{buttonValue:!0,text:"secondary",class:"btn-outline-success"}],"model-value":e.$store.state.mqtt["openWB/general/extern"],"onUpdate:modelValue":n[0]||(n[0]=l=>e.updateState("openWB/general/extern",l))},null,8,["model-value"]),e.$store.state.mqtt["openWB/general/extern"]===!0?(a(),f(d,{key:0,title:"Steuerung über Modbus als secondary",buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}],"model-value":e.$store.state.mqtt["openWB/general/modbus_control"],"onUpdate:modelValue":n[1]||(n[1]=l=>e.updateState("openWB/general/modbus_control",l))},{help:o(()=>[r(" Im secondary-Modus kann die openWB über die Modbus-Schnittstelle gesteuert werden. Die Register sind "),ie,r(" dokumentiert. Bei aktivierter Modbus-Schnittstelle darf die openWB nicht von einer primary-openWB gesteuert werden. ")]),_:1},8,["model-value"])):h("",!0),e.$store.state.mqtt["openWB/general/extern"]===!0&&e.$store.state.mqtt["openWB/general/modbus_control"]!==!0?(a(),m("div",ae,[t(s,{subtype:"info"},{default:o(()=>[r(' Wenn die Steuerung über Modbus auf "Aus" geändert wird, muss danach ein Neustart durchgeführt werden! ')]),_:1})])):h("",!0)]),_:1}),t(g,{title:"Hardware"},{default:o(()=>[e.$store.state.mqtt["openWB/general/extern"]===!0?(a(),m("div",le,[t(s,{subtype:"info"},{default:o(()=>[r(' Diese Einstellungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. ')]),_:1})])):(a(),m("div",se,[t(d,{title:"Geschwindigkeit Regelintervall",buttons:[{buttonValue:10,text:"Normal",class:"btn-outline-success"},{buttonValue:20,text:"Langsam",class:"btn-outline-warning"},{buttonValue:60,text:"Sehr Langsam",class:"btn-outline-danger"}],"model-value":e.$store.state.mqtt["openWB/general/control_interval"],"onUpdate:modelValue":n[2]||(n[2]=l=>e.updateState("openWB/general/control_interval",l))},{help:o(()=>[r(' Sollten Probleme oder Fehlermeldungen auftauchen, stelle bitte zunächst das Regelintervall auf "Normal". Werden Module genutzt, welche z.B. eine Online-API zur Abfrage nutzen (höhere Latenzzeiten) oder möchte man weniger Regeleingriffe, so kann man das Regelintervall auf "Langsam" (20 Sekunden) herabsetzen. Die Einstellung „Sehr Langsam“ führt zu einer Regelzeit von 60 Sekunden.'),ue,de]),_:1},8,["model-value"]),t(d,{title:"Netzschutz",buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}],"model-value":e.$store.state.mqtt["openWB/general/grid_protection_configured"],"onUpdate:modelValue":n[3]||(n[3]=l=>e.updateState("openWB/general/grid_protection_configured",l))},{help:o(()=>[r(' Diese Option ist standardmäßig aktiviert und sollte so belassen werden. Bei Unterschreitung einer kritischen Frequenz des Stromnetzes wird die Ladung nach einer zufälligen Zeit zwischen 1 und 90 Sekunden pausiert. Der Lademodus wechselt auf "Stop". Sobald die Frequenz wieder in einem normalen Bereich ist wird automatisch der zuletzt gewählte Lademodus wieder aktiviert. Ebenso wird die Ladung bei Überschreiten von 51,8 Hz unterbrochen. Dies ist dann der Fall, wenn der Energieversorger Wartungsarbeiten am (Teil-)Netz durchführt und auf einen vorübergehenden Generator-Betrieb umschaltet. Die Erhöhung der Frequenz wird durchgeführt, um die PV Anlagen abzuschalten.'),pe,me]),_:1},8,["model-value"])])),be,t(_,{class:"mt-0"},{default:o(()=>[r(" Steuerbare Verbrauchseinrichtung ")]),_:1}),t(s,{sub_type:"info"},{default:o(()=>[r(' Aktuell unterstützt openWB die eingehende Steuerung als "Steuerbare Verbrauchseinrichtung" nur über potentialfreie Kontakte (Rundsteuerempfänger, RSE). Ebenfalls können derzeit bei Auslösung des RSE nur alle Ladevorgänge komplett beendet werden. Die Unterstützung von "Dimmung" im Sinne von §14a EnWG wird umgesetzt, sobald wir weitere Informationen von den Netzbetreibern erhalten, wie die Ansteuerung technisch umgesetzt wird. ')]),_:1}),t(y,{class:"mb-2",title:"Anbindung RSE-Kontakt",options:u.rippleControlReceiverList,"model-value":e.$store.state.mqtt["openWB/general/ripple_control_receiver/module"]?e.$store.state.mqtt["openWB/general/ripple_control_receiver/module"].type:"","onUpdate:modelValue":n[4]||(n[4]=l=>u.updateSelectedRippleControlReceiverModule(l))},null,8,["options","model-value"]),e.$store.state.mqtt["openWB/general/ripple_control_receiver/module"]&&e.$store.state.mqtt["openWB/general/ripple_control_receiver/module"].type?(a(),m("div",ge,[t(T,{rippleControlReceiver:e.$store.state.mqtt["openWB/general/ripple_control_receiver/module"],"onUpdate:configuration":n[5]||(n[5]=l=>u.updateConfiguration("openWB/general/ripple_control_receiver/module",l))},null,8,["rippleControlReceiver"])])):h("",!0)]),_:1}),t(g,{title:"Darstellung"},{default:o(()=>[e.$store.state.mqtt["openWB/general/extern"]===!0?(a(),m("div",ce,[t(s,{subtype:"info"},{default:o(()=>[r(' Diese Einstellungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. ')]),_:1})])):(a(),m("div",fe,[t(_,{class:"mt-0"},{default:o(()=>[r(" Hauptseite ")]),_:1}),e.$store.state.mqtt["openWB/general/web_theme"]!==void 0?(a(),m("div",_e,[t(y,{class:"mb-2",title:"Theme",groups:u.webThemeGroupList,"model-value":e.$store.state.mqtt["openWB/general/web_theme"].type,"onUpdate:modelValue":n[6]||(n[6]=l=>u.updateSelectedWebTheme(l))},null,8,["groups","model-value"]),e.$store.state.mqtt["openWB/general/web_theme"].type?(a(),f($,{key:0,webTheme:e.$store.state.mqtt["openWB/general/web_theme"],"onUpdate:configuration":n[7]||(n[7]=l=>u.updateConfiguration("openWB/general/web_theme",l))},null,8,["webTheme"])):h("",!0)])):h("",!0),he,t(_,null,{default:o(()=>[r(" Lade-Log ")]),_:1}),t(d,{title:"Einheit für Entfernungen","model-value":e.$store.state.mqtt["openWB/general/range_unit"],"onUpdate:modelValue":n[8]||(n[8]=l=>e.updateState("openWB/general/range_unit",l)),buttons:[{buttonValue:"km",text:"Kilometer"},{buttonValue:"mi",text:"Meilen"}]},null,8,["model-value"])]))]),_:1}),t(z,{formName:"generalConfigForm",onSave:n[9]||(n[9]=l=>e.$emit("save")),onReset:n[10]||(n[10]=l=>e.$emit("reset")),onDefaults:n[11]||(n[11]=l=>e.$emit("defaults"))})])])}const Te=w(Y,[["render",we],["__file","/opt/openWB-dev/openwb-ui-settings/src/views/GeneralConfig.vue"]]);export{Te as default}; diff --git a/web/settings/assets/GeneralConfig-507be735.js b/web/settings/assets/GeneralConfig-507be735.js new file mode 100644 index 0000000000..1959ad5082 --- /dev/null +++ b/web/settings/assets/GeneralConfig-507be735.js @@ -0,0 +1 @@ +import{_ as B,C as E}from"./index-eaa58995.js";import{_ as C}from"./dynamic-import-helper-be004503.js";import{l as D,X as O,Y as V,F as q}from"./vendor-fortawesome-542fe04f.js";import{_ as w,q as p,k as a,l as m,z as f,M as o,x as i,y as c,B as t,u as g,a1 as k,a2 as S,I as R,A as h}from"./vendor-493c2bec.js";import"./vendor-bootstrap-a615942d.js";import"./vendor-jquery-a64a4809.js";import"./vendor-axios-b1ba123b.js";import"./vendor-sortablejs-0b339223.js";const L={name:"WebThemeFallback",emits:["update:configuration"],props:{webTheme:{type:Object,required:!0}},methods:{updateConfiguration(e,n=void 0){this.$emit("update:configuration",{value:e,object:n})}}},x={class:"web-theme-fallback"},P={key:1};function N(e,n,r,v,W,u){const s=p("openwb-base-alert"),d=p("openwb-base-textarea");return a(),m("div",x,[Object.keys(r.webTheme.configuration).length==0?(a(),f(s,{key:0,subtype:"info"},{default:o(()=>[i(' Das Web Theme "'+c(r.webTheme.name)+'" bietet keine Einstellungen. ',1)]),_:1})):(a(),m("div",P,[t(s,{subtype:"warning"},{default:o(()=>[i(' Es wurde keine Konfigurationsseite für das Web Theme "'+c(r.webTheme.name)+'" gefunden. Die Einstellungen können als JSON direkt bearbeitet werden. ',1)]),_:1}),t(d,{title:"Theme Konfiguration",subtype:"json","model-value":r.webTheme.configuration,"onUpdate:modelValue":n[0]||(n[0]=b=>u.updateConfiguration(b,"configuration"))},{help:o(()=>[i(" Bitte prüfen Sie, ob die Eingaben richtig interpretiert werden. ")]),_:1},8,["model-value"]),t(s,{subtype:"info"},{default:o(()=>[g("pre",null,c(JSON.stringify(r.webTheme.configuration,void 0,2)),1)]),_:1})]))])}const A=w(L,[["render",N],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/web_themes/OpenwbWebThemeFallback.vue"]]);D.add(O,V);const F={name:"OpenwbWebThemeProxy",emits:["update:configuration"],props:{webTheme:{type:Object,required:!0}},components:{FontAwesomeIcon:q},computed:{myComponent(){return console.debug(`loading web theme: ${this.webTheme.name}`),k({loader:()=>C(Object.assign({}),`./${this.webTheme.type}/webTheme.vue`),errorComponent:A})}},methods:{updateConfiguration(e){this.$emit("update:configuration",e)}}};function U(e,n,r,v,W,u){const s=p("font-awesome-icon"),d=p("openwb-base-alert"),b=p("openwb-base-heading");return a(),m(R,null,[r.webTheme.official?(a(),f(d,{key:0,subtype:"success"},{default:o(()=>[t(s,{"fixed-width":"",icon:["fas","certificate"]}),i(' Das ausgewählte Web Theme "'+c(r.webTheme.name)+'" wird von openWB gepflegt. ',1)]),_:1})):(a(),f(d,{key:1,subtype:"info"},{default:o(()=>[t(s,{"fixed-width":"",icon:["fas","people-group"]}),i(" Das ausgewählte Theme wird in unserer Community gepflegt. Rückfragen oder Probleme bitte im Forum diskutieren. ")]),_:1})),t(b,null,{default:o(()=>[i(' Einstellungen für Web Theme "'+c(r.webTheme.name)+'" ',1)]),_:1}),(a(),f(S(u.myComponent),{webTheme:r.webTheme,"onUpdate:configuration":n[0]||(n[0]=_=>u.updateConfiguration(_))},null,40,["webTheme"]))],64)}const j=w(F,[["render",U],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/web_themes/OpenwbWebThemeProxy.vue"]]),M={name:"RippleControlReceiverConfigFallback",emits:["update:configuration"],props:{rippleControlReceiver:{type:Object,required:!0}},methods:{updateConfiguration(e,n=void 0){this.$emit("update:configuration",{value:e,object:n})}}},G={class:"ripple-control-receiver-fallback"},I={key:1};function K(e,n,r,v,W,u){const s=p("openwb-base-alert"),d=p("openwb-base-textarea");return a(),m("div",G,[Object.keys(r.rippleControlReceiver.configuration).length==0?(a(),f(s,{key:0,subtype:"info"},{default:o(()=>[i(' Das RSE-Modul "'+c(r.rippleControlReceiver.name)+'" bietet keine Einstellungen. ',1)]),_:1})):(a(),m("div",I,[t(s,{subtype:"warning"},{default:o(()=>[i(' Es wurde keine Konfigurationsseite für das RSE-Modul "'+c(r.rippleControlReceiver.name)+'" gefunden. Die Einstellungen können als JSON direkt bearbeitet werden. ',1)]),_:1}),t(d,{title:"Konfiguration",subtype:"json","model-value":r.rippleControlReceiver.configuration,"onUpdate:modelValue":n[0]||(n[0]=b=>u.updateConfiguration(b,"configuration"))},{help:o(()=>[i(" Bitte prüfen Sie, ob die Eingaben richtig interpretiert werden. ")]),_:1},8,["model-value"]),t(s,{subtype:"info"},{default:o(()=>[g("pre",null,c(JSON.stringify(r.rippleControlReceiver.configuration,void 0,2)),1)]),_:1})]))])}const H=w(M,[["render",K],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/ripple_control_receivers/OpenwbRippleControlReceiverConfigFallback.vue"]]),J={name:"OpenwbRippleControlReceiverProxy",emits:["update:configuration","sendCommand"],props:{rippleControlReceiver:{type:Object,required:!0}},computed:{myComponent(){return console.debug(`loading backup cloud: ${this.rippleControlReceiver.type}`),k({loader:()=>C(Object.assign({"./dimm_kit/ripple_control_receiver.vue":()=>B(()=>import("./ripple_control_receiver-b8a18a85.js"),["assets/ripple_control_receiver-b8a18a85.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./gpio/ripple_control_receiver.vue":()=>B(()=>import("./ripple_control_receiver-51118774.js"),["assets/ripple_control_receiver-51118774.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"])}),`./${this.rippleControlReceiver.type}/ripple_control_receiver.vue`),errorComponent:H})}},methods:{updateConfiguration(e){this.$emit("update:configuration",e)},sendCommand(e){this.$emit("sendCommand",e)}}};function Z(e,n,r,v,W,u){const s=p("openwb-base-heading");return a(),m(R,null,[t(s,null,{default:o(()=>[i(' Einstellungen für RSE-Modul "'+c(r.rippleControlReceiver.name)+'" ',1)]),_:1}),(a(),f(S(u.myComponent),{rippleControlReceiver:r.rippleControlReceiver,"onUpdate:configuration":n[0]||(n[0]=d=>u.updateConfiguration(d)),onSendCommand:n[1]||(n[1]=d=>u.sendCommand(d))},null,40,["rippleControlReceiver"]))],64)}const X=w(J,[["render",Z],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/ripple_control_receivers/OpenwbRippleControlReceiverProxy.vue"]]),Y={name:"OpenwbGeneralConfig",mixins:[E],components:{OpenwbWebThemeProxy:j,OpenwbRippleControlReceiverProxy:X},data(){return{mqttTopicsToSubscribe:["openWB/general/extern","openWB/general/control_interval","openWB/general/grid_protection_configured","openWB/general/external_buttons_hw","openWB/general/modbus_control","openWB/general/notifications/selected","openWB/general/notifications/configuration","openWB/general/notifications/start_charging","openWB/general/notifications/stop_charging","openWB/general/notifications/plug","openWB/general/notifications/smart_home","openWB/general/price_kwh","openWB/general/range_unit","openWB/general/ripple_control_receiver/module","openWB/general/web_theme","openWB/system/configurable/ripple_control_receivers","openWB/system/configurable/web_themes"]}},computed:{webThemeList:{get(){return this.$store.state.mqtt["openWB/system/configurable/web_themes"]}},webThemeGroupList:{get(){let e=[{label:"openWB",options:[]},{label:"Community",options:[]}];return this.webThemeList.forEach(n=>{n.official===!0?e[0].options.push(n):e[1].options.push(n)}),e}},rippleControlReceiverList(){return this.$store.state.mqtt["openWB/system/configurable/ripple_control_receivers"]}},methods:{getWebThemeDefaults(e){const n=this.webThemeList.find(r=>r.value==e);return Object.prototype.hasOwnProperty.call(n,"defaults")?{...JSON.parse(JSON.stringify(n.defaults))}:(console.warn("no default configuration found for web theme type!",e),{})},updateSelectedWebTheme(e){this.updateState("openWB/general/web_theme",this.getWebThemeDefaults(e))},updateConfiguration(e,n){console.debug("updateConfiguration",e,n),this.updateState(e,n.value,n.object)},getRippleControlReceiverDefaultConfiguration(e){const n=this.rippleControlReceiverList.find(r=>r.value==e);return Object.prototype.hasOwnProperty.call(n,"defaults")?{...n.defaults}:(console.warn("no default configuration found for electricity tariff type!",e),{})},updateSelectedRippleControlReceiverModule(e){this.updateState("openWB/general/ripple_control_receiver/module",e,"type"),this.updateState("openWB/general/ripple_control_receiver/module",this.getRippleControlReceiverDefaultConfiguration(e))}}},Q={class:"generalConfig"},ee={name:"generalConfigForm"},ne=g("p",null,' Wird für den Steuerungsmodus "primary" gewählt, übernimmt diese openWB die alleinige Regelung und steuert ggf. vorhandene weitere openWB (z.B. externe openWB im Steuermodus secondary, openWB Pro, Satellit u.a.) fern. Sie werden in den Ladepunkt-Einstellungen der primary-openWB hinzugefügt. ',-1),te=g("p",null,[i(' Wird für den Steuerungsmodus "secondary" gewählt, übernimmt diese openWB keine Regelung und muss von einer anderen primary openWB ferngesteuert werden. Wichtig ist, dass in der secondary-openWB eine "interne openWB" mit der korrekten Bauart (= openWB-Hardwarevariante z.B. "Custom, Standard, Standard+, Duo, Buchse") konfiguriert ist. Bei einer Duo sind zwei "interne openWB" zu konfigurieren. Im "secondary"-Modus bleiben alle ausgeblendeten Einstellungen unbeachtet.'),g("br"),i(" Eine bebilderte Anleitung zur Konfiguration der Ladepunkte findest Du auf der "),g("a",{href:"https://openwb.de/main/?page_id=1025",target:"_blank",rel:"noopener noreferrer"}," Homepage "),i(". ")],-1),oe=g("a",{href:"https://openwb.de/main/wp-content/uploads/2023/10/ModbusTCP-openWB-series2-Pro-1.pdf",target:"_blank",rel:"noopener noreferrer"}," hier ",-1),re={key:1},ie={key:0},ae={key:1},le=g("br",null,null,-1),se=g("span",{class:"text-danger"},' Nicht nur die Regelung der PV geführten Ladung, sondern auch die Ladestromänderung, beispielsweise “Stop“ etc., werden dann nur noch in diesem Intervall ausgeführt. Die Regelung wird insgesamt träger. Solange es keinen triftigen Grund gibt, sollte "Normal" gewählt werden. ',-1),ue=g("br",null,null,-1),de=g("span",{class:"text-danger"}," Die Option ist nur aktiv, wenn der EVU-Zähler die Frequenz übermittelt. ",-1),pe=g("hr",null,null,-1),me={key:2},ge={key:0},be={key:1},ce={key:0},fe=g("hr",null,null,-1);function _e(e,n,r,v,W,u){const s=p("openwb-base-alert"),d=p("openwb-base-button-group-input"),b=p("openwb-base-card"),_=p("openwb-base-heading"),y=p("openwb-base-select-input"),T=p("openwb-ripple-control-receiver-proxy"),$=p("openwb-web-theme-proxy"),z=p("openwb-base-submit-buttons");return a(),m("div",Q,[g("form",ee,[t(b,{title:"Steuerungsmodus"},{default:o(()=>[t(s,{subtype:"info"},{default:o(()=>[ne,te]),_:1}),t(d,{title:"Steuerungsmodus",buttons:[{buttonValue:!1,text:"primary",class:"btn-outline-danger"},{buttonValue:!0,text:"secondary",class:"btn-outline-success"}],"model-value":e.$store.state.mqtt["openWB/general/extern"],"onUpdate:modelValue":n[0]||(n[0]=l=>e.updateState("openWB/general/extern",l))},null,8,["model-value"]),e.$store.state.mqtt["openWB/general/extern"]===!0?(a(),f(d,{key:0,title:"Steuerung über Modbus als secondary",buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}],"model-value":e.$store.state.mqtt["openWB/general/modbus_control"],"onUpdate:modelValue":n[1]||(n[1]=l=>e.updateState("openWB/general/modbus_control",l))},{help:o(()=>[i(" Im secondary-Modus kann die openWB über die Modbus-Schnittstelle gesteuert werden. Die Register sind "),oe,i(" dokumentiert. Bei aktivierter Modbus-Schnittstelle darf die openWB nicht von einer primary-openWB gesteuert werden. ")]),_:1},8,["model-value"])):h("",!0),e.$store.state.mqtt["openWB/general/extern"]===!0&&e.$store.state.mqtt["openWB/general/modbus_control"]!==!0?(a(),m("div",re,[t(s,{subtype:"info"},{default:o(()=>[i(' Wenn die Steuerung über Modbus auf "Aus" geändert wird, muss danach ein Neustart durchgeführt werden! ')]),_:1})])):h("",!0)]),_:1}),t(b,{title:"Hardware"},{default:o(()=>[e.$store.state.mqtt["openWB/general/extern"]===!0?(a(),m("div",ie,[t(s,{subtype:"info"},{default:o(()=>[i(' Diese Einstellungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. ')]),_:1})])):(a(),m("div",ae,[t(d,{title:"Geschwindigkeit Regelintervall",buttons:[{buttonValue:10,text:"Normal",class:"btn-outline-success"},{buttonValue:20,text:"Langsam",class:"btn-outline-warning"},{buttonValue:60,text:"Sehr Langsam",class:"btn-outline-danger"}],"model-value":e.$store.state.mqtt["openWB/general/control_interval"],"onUpdate:modelValue":n[2]||(n[2]=l=>e.updateState("openWB/general/control_interval",l))},{help:o(()=>[i(' Sollten Probleme oder Fehlermeldungen auftauchen, stelle bitte zunächst das Regelintervall auf "Normal". Werden Module genutzt, welche z.B. eine Online-API zur Abfrage nutzen (höhere Latenzzeiten) oder möchte man weniger Regeleingriffe, so kann man das Regelintervall auf "Langsam" (20 Sekunden) herabsetzen. Die Einstellung „Sehr Langsam“ führt zu einer Regelzeit von 60 Sekunden.'),le,se]),_:1},8,["model-value"]),t(d,{title:"Netzschutz",buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}],"model-value":e.$store.state.mqtt["openWB/general/grid_protection_configured"],"onUpdate:modelValue":n[3]||(n[3]=l=>e.updateState("openWB/general/grid_protection_configured",l))},{help:o(()=>[i(' Diese Option ist standardmäßig aktiviert und sollte so belassen werden. Bei Unterschreitung einer kritischen Frequenz des Stromnetzes wird die Ladung nach einer zufälligen Zeit zwischen 1 und 90 Sekunden pausiert. Der Lademodus wechselt auf "Stop". Sobald die Frequenz wieder in einem normalen Bereich ist wird automatisch der zuletzt gewählte Lademodus wieder aktiviert. Ebenso wird die Ladung bei Überschreiten von 51,8 Hz unterbrochen. Dies ist dann der Fall, wenn der Energieversorger Wartungsarbeiten am (Teil-)Netz durchführt und auf einen vorübergehenden Generator-Betrieb umschaltet. Die Erhöhung der Frequenz wird durchgeführt, um die PV Anlagen abzuschalten.'),ue,de]),_:1},8,["model-value"])])),pe,t(_,{class:"mt-0"},{default:o(()=>[i(" Steuerbare Verbrauchseinrichtung ")]),_:1}),t(s,{sub_type:"info"},{default:o(()=>[i(' Aktuell unterstützt openWB die eingehende Steuerung als "Steuerbare Verbrauchseinrichtung" nur über potentialfreie Kontakte (Rundsteuerempfänger, RSE). Ebenfalls können derzeit bei Auslösung des RSE nur alle Ladevorgänge komplett beendet werden. Die Unterstützung von "Dimmung" im Sinne von §14a EnWG wird umgesetzt, sobald wir weitere Informationen von den Netzbetreibern erhalten, wie die Ansteuerung technisch umgesetzt wird. ')]),_:1}),t(y,{class:"mb-2",title:"Anbindung RSE-Kontakt",options:u.rippleControlReceiverList,"model-value":e.$store.state.mqtt["openWB/general/ripple_control_receiver/module"]?e.$store.state.mqtt["openWB/general/ripple_control_receiver/module"].type:"","onUpdate:modelValue":n[4]||(n[4]=l=>u.updateSelectedRippleControlReceiverModule(l))},null,8,["options","model-value"]),e.$store.state.mqtt["openWB/general/ripple_control_receiver/module"]&&e.$store.state.mqtt["openWB/general/ripple_control_receiver/module"].type?(a(),m("div",me,[t(T,{rippleControlReceiver:e.$store.state.mqtt["openWB/general/ripple_control_receiver/module"],"onUpdate:configuration":n[5]||(n[5]=l=>u.updateConfiguration("openWB/general/ripple_control_receiver/module",l))},null,8,["rippleControlReceiver"])])):h("",!0)]),_:1}),t(b,{title:"Darstellung"},{default:o(()=>[e.$store.state.mqtt["openWB/general/extern"]===!0?(a(),m("div",ge,[t(s,{subtype:"info"},{default:o(()=>[i(' Diese Einstellungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. ')]),_:1})])):(a(),m("div",be,[t(_,{class:"mt-0"},{default:o(()=>[i(" Hauptseite ")]),_:1}),e.$store.state.mqtt["openWB/general/web_theme"]!==void 0?(a(),m("div",ce,[t(y,{class:"mb-2",title:"Theme",groups:u.webThemeGroupList,"model-value":e.$store.state.mqtt["openWB/general/web_theme"].type,"onUpdate:modelValue":n[6]||(n[6]=l=>u.updateSelectedWebTheme(l))},null,8,["groups","model-value"]),e.$store.state.mqtt["openWB/general/web_theme"].type?(a(),f($,{key:0,webTheme:e.$store.state.mqtt["openWB/general/web_theme"],"onUpdate:configuration":n[7]||(n[7]=l=>u.updateConfiguration("openWB/general/web_theme",l))},null,8,["webTheme"])):h("",!0)])):h("",!0),fe,t(_,null,{default:o(()=>[i(" Lade-Log ")]),_:1}),t(d,{title:"Einheit für Entfernungen","model-value":e.$store.state.mqtt["openWB/general/range_unit"],"onUpdate:modelValue":n[8]||(n[8]=l=>e.updateState("openWB/general/range_unit",l)),buttons:[{buttonValue:"km",text:"Kilometer"},{buttonValue:"mi",text:"Meilen"}]},null,8,["model-value"])]))]),_:1}),t(z,{formName:"generalConfigForm",onSave:n[9]||(n[9]=l=>e.$emit("save")),onReset:n[10]||(n[10]=l=>e.$emit("reset")),onDefaults:n[11]||(n[11]=l=>e.$emit("defaults"))})])])}const Se=w(Y,[["render",_e],["__file","/opt/openWB-dev/openwb-ui-settings/src/views/GeneralConfig.vue"]]);export{Se as default}; diff --git a/web/settings/assets/HardwareInstallation-5beb6277.js b/web/settings/assets/HardwareInstallation-5beb6277.js new file mode 100644 index 0000000000..dcf90bc83d --- /dev/null +++ b/web/settings/assets/HardwareInstallation-5beb6277.js @@ -0,0 +1 @@ +import{l as G,d as N,t as U,$ as F,a0 as H,P as J,O as Z,N as $,F as Q}from"./vendor-fortawesome-542fe04f.js";import{_ as e,C as X}from"./index-eaa58995.js";import{_ as M}from"./dynamic-import-helper-be004503.js";import{_ as y,q as m,k as d,l as p,z as E,M as o,y as l,x as a,B as n,u as c,a1 as W,a2 as Y,I as P,J as f,p as h,A as w,R as ee,S as _e}from"./vendor-493c2bec.js";import"./vendor-bootstrap-a615942d.js";import"./vendor-jquery-a64a4809.js";import"./vendor-axios-b1ba123b.js";import"./vendor-sortablejs-0b339223.js";const te={name:"DeviceFallback",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},deviceType:String,componentId:{default:void 0},componentType:String},methods:{updateConfiguration(_,i=void 0){this.$emit("update:configuration",{value:_,object:i})}}},oe={class:"device-fallback"},ie={key:0},re={key:1},ne={key:1},ue={key:0},de={key:1};function ve(_,i,u,O,s,r){const T=m("openwb-base-alert"),L=m("openwb-base-textarea");return d(),p("div",oe,[Object.keys(u.configuration).length==0?(d(),E(T,{key:0,subtype:"info"},{default:o(()=>[u.componentType?(d(),p("span",ie,' Der Komponenten-Typ "'+l(u.componentType)+'" ',1)):(d(),p("span",re,'Der Gerät-Typ "'+l(u.deviceType)+'"',1)),a(" bietet keine Einstellungen. ")]),_:1})):(d(),p("div",ne,[n(T,{subtype:"warning"},{default:o(()=>[a(" Es wurde keine Konfigurationsseite für den "),u.componentType?(d(),p("span",ue,' Komponenten-Typ "'+l(u.componentType)+'" ',1)):(d(),p("span",de,'Geräte-Typ "'+l(u.deviceType)+'"',1)),a(" gefunden. Die Einstellungen können als JSON direkt bearbeitet werden. ")]),_:1}),n(L,{title:"Konfiguration",subtype:"json","model-value":u.configuration,"onUpdate:modelValue":i[0]||(i[0]=A=>r.updateConfiguration(A,"configuration"))},{help:o(()=>[a(" Bitte prüfen Sie, ob die Eingaben richtig interpretiert werden. ")]),_:1},8,["model-value"]),n(T,{subtype:"info"},{default:o(()=>[c("pre",null,l(JSON.stringify(u.configuration,void 0,2)),1)]),_:1})]))])}const S=y(te,[["render",ve],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/OpenwbDeviceConfigFallback.vue"]]),ae={name:"OpenwbConfigProxy",emits:["update:configuration"],props:{deviceId:{required:!0},deviceType:{type:String,required:!0},componentId:{default:void 0},componentType:{type:String,default:void 0},configuration:{type:Object,required:!0}},computed:{myComponent(){return console.debug(`loading component: ${this.deviceType} / ${this.componentType}`),this.componentType!==void 0?W({loader:()=>M(Object.assign({"./alpha_ess/bat.vue":()=>e(()=>import("./bat-73e388f2.js"),["assets/bat-73e388f2.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./alpha_ess/counter.vue":()=>e(()=>import("./counter-b78ae2ee.js"),["assets/counter-b78ae2ee.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./alpha_ess/device.vue":()=>e(()=>import("./device-0e3e273b.js"),["assets/device-0e3e273b.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./alpha_ess/inverter.vue":()=>e(()=>import("./inverter-510165be.js"),["assets/inverter-510165be.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./azzurro_sofar/bat.vue":()=>e(()=>import("./bat-8ec081ab.js"),["assets/bat-8ec081ab.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./azzurro_sofar/counter.vue":()=>e(()=>import("./counter-6bdbec27.js"),["assets/counter-6bdbec27.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./azzurro_sofar/device.vue":()=>e(()=>import("./device-d146daed.js"),["assets/device-d146daed.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./azzurro_sofar/inverter.vue":()=>e(()=>import("./inverter-4fcfa366.js"),["assets/inverter-4fcfa366.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./azzurro_zcs/bat.vue":()=>e(()=>import("./bat-c125f636.js"),["assets/bat-c125f636.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./azzurro_zcs/counter.vue":()=>e(()=>import("./counter-1aece25f.js"),["assets/counter-1aece25f.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./azzurro_zcs/device.vue":()=>e(()=>import("./device-586935d9.js"),["assets/device-586935d9.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./azzurro_zcs/inverter.vue":()=>e(()=>import("./inverter-a3cf5fad.js"),["assets/inverter-a3cf5fad.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./batterx/bat.vue":()=>e(()=>import("./bat-066870ba.js"),["assets/bat-066870ba.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./batterx/counter.vue":()=>e(()=>import("./counter-ffdb32b2.js"),["assets/counter-ffdb32b2.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./batterx/device.vue":()=>e(()=>import("./device-c84b158a.js"),["assets/device-c84b158a.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./batterx/external_inverter.vue":()=>e(()=>import("./external_inverter-65985343.js"),["assets/external_inverter-65985343.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./batterx/inverter.vue":()=>e(()=>import("./inverter-a5b4895f.js"),["assets/inverter-a5b4895f.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./benning/device.vue":()=>e(()=>import("./device-4b160c8c.js"),["assets/device-4b160c8c.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./benning/inverter.vue":()=>e(()=>import("./inverter-b0b0b85e.js"),["assets/inverter-b0b0b85e.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./byd/bat.vue":()=>e(()=>import("./bat-b69d82cb.js"),["assets/bat-b69d82cb.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./byd/device.vue":()=>e(()=>import("./device-83f5a3c0.js"),["assets/device-83f5a3c0.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./carlo_gavazzi/counter.vue":()=>e(()=>import("./counter-d2851623.js"),["assets/counter-d2851623.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./carlo_gavazzi/device.vue":()=>e(()=>import("./device-32864a60.js"),["assets/device-32864a60.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./deye/bat.vue":()=>e(()=>import("./bat-bdf353f6.js"),["assets/bat-bdf353f6.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./deye/counter.vue":()=>e(()=>import("./counter-55d1eddb.js"),["assets/counter-55d1eddb.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./deye/device.vue":()=>e(()=>import("./device-a1c7ee46.js"),["assets/device-a1c7ee46.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./deye/inverter.vue":()=>e(()=>import("./inverter-1d0f5934.js"),["assets/inverter-1d0f5934.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./discovergy/counter.vue":()=>e(()=>import("./counter-2e43dbb6.js"),["assets/counter-2e43dbb6.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./discovergy/device.vue":()=>e(()=>import("./device-6f1703f6.js"),["assets/device-6f1703f6.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./discovergy/inverter.vue":()=>e(()=>import("./inverter-9719f3b8.js"),["assets/inverter-9719f3b8.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./e3dc/bat.vue":()=>e(()=>import("./bat-6b076989.js"),["assets/bat-6b076989.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./e3dc/counter.vue":()=>e(()=>import("./counter-21d4a182.js"),["assets/counter-21d4a182.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./e3dc/device.vue":()=>e(()=>import("./device-25364ec6.js"),["assets/device-25364ec6.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./e3dc/external_inverter.vue":()=>e(()=>import("./external_inverter-3064ce51.js"),["assets/external_inverter-3064ce51.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./e3dc/inverter.vue":()=>e(()=>import("./inverter-74d81991.js"),["assets/inverter-74d81991.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./enphase/counter.vue":()=>e(()=>import("./counter-17141a06.js"),["assets/counter-17141a06.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./enphase/device.vue":()=>e(()=>import("./device-247ea21b.js"),["assets/device-247ea21b.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./enphase/inverter.vue":()=>e(()=>import("./inverter-32d66b9c.js"),["assets/inverter-32d66b9c.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./fems/bat.vue":()=>e(()=>import("./bat-c354b4f4.js"),["assets/bat-c354b4f4.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./fems/counter.vue":()=>e(()=>import("./counter-ead472d2.js"),["assets/counter-ead472d2.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./fems/device.vue":()=>e(()=>import("./device-581affae.js"),["assets/device-581affae.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./fems/inverter.vue":()=>e(()=>import("./inverter-1594bd50.js"),["assets/inverter-1594bd50.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./fronius/bat.vue":()=>e(()=>import("./bat-1302bc88.js"),["assets/bat-1302bc88.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./fronius/counter_s0.vue":()=>e(()=>import("./counter_s0-2800db05.js"),["assets/counter_s0-2800db05.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./fronius/counter_sm.vue":()=>e(()=>import("./counter_sm-090ceac8.js"),["assets/counter_sm-090ceac8.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./fronius/device.vue":()=>e(()=>import("./device-e3af0f3b.js"),["assets/device-e3af0f3b.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./fronius/inverter.vue":()=>e(()=>import("./inverter-aa1b4ac1.js"),["assets/inverter-aa1b4ac1.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./fronius/inverter_secondary.vue":()=>e(()=>import("./inverter_secondary-e5c8d921.js"),["assets/inverter_secondary-e5c8d921.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./good_we/bat.vue":()=>e(()=>import("./bat-a8167815.js"),["assets/bat-a8167815.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./good_we/counter.vue":()=>e(()=>import("./counter-2b3e2322.js"),["assets/counter-2b3e2322.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./good_we/device.vue":()=>e(()=>import("./device-71c8ac32.js"),["assets/device-71c8ac32.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./good_we/inverter.vue":()=>e(()=>import("./inverter-6ff72e01.js"),["assets/inverter-6ff72e01.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./http/bat.vue":()=>e(()=>import("./bat-1f70eddd.js"),["assets/bat-1f70eddd.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./http/counter.vue":()=>e(()=>import("./counter-fb53b27a.js"),["assets/counter-fb53b27a.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./http/device.vue":()=>e(()=>import("./device-c8a7a00c.js"),["assets/device-c8a7a00c.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./http/inverter.vue":()=>e(()=>import("./inverter-3830ad8c.js"),["assets/inverter-3830ad8c.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./huawei/bat.vue":()=>e(()=>import("./bat-5647832e.js"),["assets/bat-5647832e.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./huawei/counter.vue":()=>e(()=>import("./counter-1402dd61.js"),["assets/counter-1402dd61.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./huawei/device.vue":()=>e(()=>import("./device-c7e9106f.js"),["assets/device-c7e9106f.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./huawei/inverter.vue":()=>e(()=>import("./inverter-3afc0d28.js"),["assets/inverter-3afc0d28.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./huawei_smartlogger/bat.vue":()=>e(()=>import("./bat-81b2dd41.js"),["assets/bat-81b2dd41.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./huawei_smartlogger/counter.vue":()=>e(()=>import("./counter-9932cae5.js"),["assets/counter-9932cae5.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./huawei_smartlogger/device.vue":()=>e(()=>import("./device-8e686eb4.js"),["assets/device-8e686eb4.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./huawei_smartlogger/inverter.vue":()=>e(()=>import("./inverter-d0416472.js"),["assets/inverter-d0416472.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./janitza/counter.vue":()=>e(()=>import("./counter-070ecde4.js"),["assets/counter-070ecde4.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./janitza/device.vue":()=>e(()=>import("./device-2b5701b7.js"),["assets/device-2b5701b7.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./json/bat.vue":()=>e(()=>import("./bat-5b9350ac.js"),["assets/bat-5b9350ac.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./json/counter.vue":()=>e(()=>import("./counter-104a7f2e.js"),["assets/counter-104a7f2e.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./json/device.vue":()=>e(()=>import("./device-76b388bf.js"),["assets/device-76b388bf.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./json/inverter.vue":()=>e(()=>import("./inverter-3ea8db52.js"),["assets/inverter-3ea8db52.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./kostal_piko/counter.vue":()=>e(()=>import("./counter-cec2a2a0.js"),["assets/counter-cec2a2a0.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./kostal_piko/device.vue":()=>e(()=>import("./device-bde8fd58.js"),["assets/device-bde8fd58.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./kostal_piko/inverter.vue":()=>e(()=>import("./inverter-60949661.js"),["assets/inverter-60949661.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./kostal_piko_old/device.vue":()=>e(()=>import("./device-74e23b8b.js"),["assets/device-74e23b8b.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./kostal_piko_old/inverter.vue":()=>e(()=>import("./inverter-29a54820.js"),["assets/inverter-29a54820.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./kostal_plenticore/bat.vue":()=>e(()=>import("./bat-5cecbdae.js"),["assets/bat-5cecbdae.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./kostal_plenticore/counter.vue":()=>e(()=>import("./counter-a9ebdb41.js"),["assets/counter-a9ebdb41.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./kostal_plenticore/device.vue":()=>e(()=>import("./device-7b85776b.js"),["assets/device-7b85776b.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./kostal_plenticore/inverter.vue":()=>e(()=>import("./inverter-e1443559.js"),["assets/inverter-e1443559.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./kostal_sem/counter.vue":()=>e(()=>import("./counter-5cb54026.js"),["assets/counter-5cb54026.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./kostal_sem/device.vue":()=>e(()=>import("./device-bbc284d1.js"),["assets/device-bbc284d1.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./kostal_steca/device.vue":()=>e(()=>import("./device-b944ac41.js"),["assets/device-b944ac41.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./kostal_steca/inverter.vue":()=>e(()=>import("./inverter-8d5bbc54.js"),["assets/inverter-8d5bbc54.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./lg/bat.vue":()=>e(()=>import("./bat-8431d7de.js"),["assets/bat-8431d7de.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./lg/counter.vue":()=>e(()=>import("./counter-36a0120b.js"),["assets/counter-36a0120b.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./lg/device.vue":()=>e(()=>import("./device-08e89817.js"),["assets/device-08e89817.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./lg/inverter.vue":()=>e(()=>import("./inverter-c75914c8.js"),["assets/inverter-c75914c8.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./mqtt/bat.vue":()=>e(()=>import("./bat-20e5bada.js"),["assets/bat-20e5bada.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./mqtt/counter.vue":()=>e(()=>import("./counter-7322eb7a.js"),["assets/counter-7322eb7a.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./mqtt/device.vue":()=>e(()=>import("./device-a25b4d03.js"),["assets/device-a25b4d03.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./mqtt/inverter.vue":()=>e(()=>import("./inverter-c949dfaf.js"),["assets/inverter-c949dfaf.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./opendtu/device.vue":()=>e(()=>import("./device-d7f34f6e.js"),["assets/device-d7f34f6e.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./opendtu/inverter.vue":()=>e(()=>import("./inverter-d3260bbc.js"),["assets/inverter-d3260bbc.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./openwb_bat_kit/bat.vue":()=>e(()=>import("./bat-181b69d9.js"),["assets/bat-181b69d9.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./openwb_bat_kit/device.vue":()=>e(()=>import("./device-f8d9b7eb.js"),["assets/device-f8d9b7eb.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./openwb_evu_kit/bat.vue":()=>e(()=>import("./bat-3c21b28d.js"),["assets/bat-3c21b28d.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./openwb_evu_kit/counter.vue":()=>e(()=>import("./counter-3dc9c713.js"),["assets/counter-3dc9c713.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./openwb_evu_kit/device.vue":()=>e(()=>import("./device-073594d6.js"),["assets/device-073594d6.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./openwb_evu_kit/inverter.vue":()=>e(()=>import("./inverter-139b1213.js"),["assets/inverter-139b1213.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./openwb_flex/bat.vue":()=>e(()=>import("./bat-dba7fea5.js"),["assets/bat-dba7fea5.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./openwb_flex/consumption_counter.vue":()=>e(()=>import("./consumption_counter-a52fc8cc.js"),["assets/consumption_counter-a52fc8cc.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./openwb_flex/counter.vue":()=>e(()=>import("./counter-6912bc05.js"),["assets/counter-6912bc05.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./openwb_flex/device.vue":()=>e(()=>import("./device-1e9ff36d.js"),["assets/device-1e9ff36d.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./openwb_flex/inverter.vue":()=>e(()=>import("./inverter-bea32474.js"),["assets/inverter-bea32474.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./openwb_pv_kit/device.vue":()=>e(()=>import("./device-cc5d74c4.js"),["assets/device-cc5d74c4.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./openwb_pv_kit/inverter.vue":()=>e(()=>import("./inverter-2ea9ed3a.js"),["assets/inverter-2ea9ed3a.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./powerdog/counter.vue":()=>e(()=>import("./counter-0465e0aa.js"),["assets/counter-0465e0aa.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./powerdog/device.vue":()=>e(()=>import("./device-a8019215.js"),["assets/device-a8019215.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./powerdog/inverter.vue":()=>e(()=>import("./inverter-74c7ffc5.js"),["assets/inverter-74c7ffc5.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./powerfox/counter.vue":()=>e(()=>import("./counter-c0678047.js"),["assets/counter-c0678047.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./powerfox/device.vue":()=>e(()=>import("./device-bd5bcc9e.js"),["assets/device-bd5bcc9e.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./powerfox/inverter.vue":()=>e(()=>import("./inverter-a96b6d01.js"),["assets/inverter-a96b6d01.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./qcells/bat.vue":()=>e(()=>import("./bat-747b4542.js"),["assets/bat-747b4542.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./qcells/counter.vue":()=>e(()=>import("./counter-3c43e966.js"),["assets/counter-3c43e966.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./qcells/device.vue":()=>e(()=>import("./device-f1a1f92f.js"),["assets/device-f1a1f92f.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./qcells/inverter.vue":()=>e(()=>import("./inverter-8dd02731.js"),["assets/inverter-8dd02731.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./rct/bat.vue":()=>e(()=>import("./bat-cb142c5a.js"),["assets/bat-cb142c5a.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./rct/counter.vue":()=>e(()=>import("./counter-c0c9e317.js"),["assets/counter-c0c9e317.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./rct/device.vue":()=>e(()=>import("./device-0238a67e.js"),["assets/device-0238a67e.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./rct/inverter.vue":()=>e(()=>import("./inverter-3e6d7e20.js"),["assets/inverter-3e6d7e20.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./saxpower/bat.vue":()=>e(()=>import("./bat-d12bc7a0.js"),["assets/bat-d12bc7a0.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./saxpower/device.vue":()=>e(()=>import("./device-870e788e.js"),["assets/device-870e788e.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./shelly/device.vue":()=>e(()=>import("./device-3f20dcf5.js"),["assets/device-3f20dcf5.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./shelly/inverter.vue":()=>e(()=>import("./inverter-bff1e3e5.js"),["assets/inverter-bff1e3e5.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./siemens/bat.vue":()=>e(()=>import("./bat-2abd726d.js"),["assets/bat-2abd726d.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./siemens/counter.vue":()=>e(()=>import("./counter-c9516822.js"),["assets/counter-c9516822.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./siemens/device.vue":()=>e(()=>import("./device-ea4b41ce.js"),["assets/device-ea4b41ce.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./siemens/inverter.vue":()=>e(()=>import("./inverter-d2181aca.js"),["assets/inverter-d2181aca.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./siemens_sentron/counter.vue":()=>e(()=>import("./counter-77245fec.js"),["assets/counter-77245fec.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./siemens_sentron/device.vue":()=>e(()=>import("./device-9597d6f1.js"),["assets/device-9597d6f1.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./sma_shm/counter.vue":()=>e(()=>import("./counter-cce26424.js"),["assets/counter-cce26424.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./sma_shm/device.vue":()=>e(()=>import("./device-f6b1f0b4.js"),["assets/device-f6b1f0b4.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./sma_shm/inverter.vue":()=>e(()=>import("./inverter-30ab4ef3.js"),["assets/inverter-30ab4ef3.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./sma_sunny_boy/bat.vue":()=>e(()=>import("./bat-1e3cc818.js"),["assets/bat-1e3cc818.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./sma_sunny_boy/bat_smart_energy.vue":()=>e(()=>import("./bat_smart_energy-72a05d2b.js"),["assets/bat_smart_energy-72a05d2b.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./sma_sunny_boy/counter.vue":()=>e(()=>import("./counter-f944130f.js"),["assets/counter-f944130f.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./sma_sunny_boy/device.vue":()=>e(()=>import("./device-2adf3bb5.js"),["assets/device-2adf3bb5.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./sma_sunny_boy/inverter.vue":()=>e(()=>import("./inverter-cff98b7b.js"),["assets/inverter-cff98b7b.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./sma_sunny_island/bat.vue":()=>e(()=>import("./bat-cf431bde.js"),["assets/bat-cf431bde.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./sma_sunny_island/device.vue":()=>e(()=>import("./device-557d9745.js"),["assets/device-557d9745.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./sma_webbox/device.vue":()=>e(()=>import("./device-7090a33b.js"),["assets/device-7090a33b.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./sma_webbox/inverter.vue":()=>e(()=>import("./inverter-e272d076.js"),["assets/inverter-e272d076.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./smart_me/counter.vue":()=>e(()=>import("./counter-4b8ac71e.js"),["assets/counter-4b8ac71e.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./smart_me/device.vue":()=>e(()=>import("./device-4df32398.js"),["assets/device-4df32398.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./smart_me/inverter.vue":()=>e(()=>import("./inverter-411a2452.js"),["assets/inverter-411a2452.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./smartfox/counter.vue":()=>e(()=>import("./counter-b728a835.js"),["assets/counter-b728a835.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./smartfox/device.vue":()=>e(()=>import("./device-bd76247b.js"),["assets/device-bd76247b.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./solar_log/counter.vue":()=>e(()=>import("./counter-692b8202.js"),["assets/counter-692b8202.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./solar_log/device.vue":()=>e(()=>import("./device-516d9e1d.js"),["assets/device-516d9e1d.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./solar_log/inverter.vue":()=>e(()=>import("./inverter-48388152.js"),["assets/inverter-48388152.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./solar_view/counter.vue":()=>e(()=>import("./counter-e480f768.js"),["assets/counter-e480f768.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./solar_view/device.vue":()=>e(()=>import("./device-7afcc425.js"),["assets/device-7afcc425.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./solar_view/inverter.vue":()=>e(()=>import("./inverter-3dced907.js"),["assets/inverter-3dced907.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./solar_watt/bat.vue":()=>e(()=>import("./bat-702bff76.js"),["assets/bat-702bff76.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./solar_watt/counter.vue":()=>e(()=>import("./counter-b2d6e3da.js"),["assets/counter-b2d6e3da.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./solar_watt/device.vue":()=>e(()=>import("./device-33dbd8bf.js"),["assets/device-33dbd8bf.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./solar_watt/inverter.vue":()=>e(()=>import("./inverter-6efd5cb2.js"),["assets/inverter-6efd5cb2.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./solar_world/counter.vue":()=>e(()=>import("./counter-67c1221e.js"),["assets/counter-67c1221e.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./solar_world/device.vue":()=>e(()=>import("./device-d1ec8285.js"),["assets/device-d1ec8285.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./solar_world/inverter.vue":()=>e(()=>import("./inverter-b84245b5.js"),["assets/inverter-b84245b5.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./solaredge/bat.vue":()=>e(()=>import("./bat-33a1c504.js"),["assets/bat-33a1c504.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./solaredge/counter.vue":()=>e(()=>import("./counter-e6bca6ca.js"),["assets/counter-e6bca6ca.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./solaredge/device.vue":()=>e(()=>import("./device-ab760ea8.js"),["assets/device-ab760ea8.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./solaredge/external_inverter.vue":()=>e(()=>import("./external_inverter-a9253416.js"),["assets/external_inverter-a9253416.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./solaredge/inverter.vue":()=>e(()=>import("./inverter-57ecd232.js"),["assets/inverter-57ecd232.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./solarmax/bat.vue":()=>e(()=>import("./bat-527fa20e.js"),["assets/bat-527fa20e.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./solarmax/device.vue":()=>e(()=>import("./device-04626438.js"),["assets/device-04626438.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./solarmax/inverter.vue":()=>e(()=>import("./inverter-7ca73ead.js"),["assets/inverter-7ca73ead.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./solax/bat.vue":()=>e(()=>import("./bat-c2ef1925.js"),["assets/bat-c2ef1925.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./solax/counter.vue":()=>e(()=>import("./counter-e15058f6.js"),["assets/counter-e15058f6.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./solax/device.vue":()=>e(()=>import("./device-2e823b39.js"),["assets/device-2e823b39.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./solax/inverter.vue":()=>e(()=>import("./inverter-abc6a37e.js"),["assets/inverter-abc6a37e.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./sonnenbatterie/bat.vue":()=>e(()=>import("./bat-7797cf34.js"),["assets/bat-7797cf34.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./sonnenbatterie/counter.vue":()=>e(()=>import("./counter-77e56512.js"),["assets/counter-77e56512.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./sonnenbatterie/device.vue":()=>e(()=>import("./device-e4ce2635.js"),["assets/device-e4ce2635.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./sonnenbatterie/inverter.vue":()=>e(()=>import("./inverter-e03a8c0a.js"),["assets/inverter-e03a8c0a.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./studer/bat.vue":()=>e(()=>import("./bat-fe47be1e.js"),["assets/bat-fe47be1e.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./studer/device.vue":()=>e(()=>import("./device-2c8ebfc7.js"),["assets/device-2c8ebfc7.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./studer/inverter.vue":()=>e(()=>import("./inverter-db9e9897.js"),["assets/inverter-db9e9897.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./sungrow/bat.vue":()=>e(()=>import("./bat-4af956d7.js"),["assets/bat-4af956d7.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./sungrow/counter.vue":()=>e(()=>import("./counter-6d445299.js"),["assets/counter-6d445299.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./sungrow/device.vue":()=>e(()=>import("./device-6ca92a98.js"),["assets/device-6ca92a98.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./sungrow/inverter.vue":()=>e(()=>import("./inverter-1023c97a.js"),["assets/inverter-1023c97a.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./sunways/device.vue":()=>e(()=>import("./device-8c555086.js"),["assets/device-8c555086.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./sunways/inverter.vue":()=>e(()=>import("./inverter-b67da9a7.js"),["assets/inverter-b67da9a7.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./tesla/bat.vue":()=>e(()=>import("./bat-e1df7a2f.js"),["assets/bat-e1df7a2f.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./tesla/counter.vue":()=>e(()=>import("./counter-1acc3894.js"),["assets/counter-1acc3894.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./tesla/device.vue":()=>e(()=>import("./device-4ce5ac09.js"),["assets/device-4ce5ac09.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./tesla/inverter.vue":()=>e(()=>import("./inverter-f6e88eab.js"),["assets/inverter-f6e88eab.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./varta/bat_api.vue":()=>e(()=>import("./bat_api-511fb137.js"),["assets/bat_api-511fb137.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./varta/bat_modbus.vue":()=>e(()=>import("./bat_modbus-5b0a2c53.js"),["assets/bat_modbus-5b0a2c53.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./varta/counter.vue":()=>e(()=>import("./counter-f942950e.js"),["assets/counter-f942950e.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./varta/device.vue":()=>e(()=>import("./device-7a27214b.js"),["assets/device-7a27214b.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./victron/bat.vue":()=>e(()=>import("./bat-472ba411.js"),["assets/bat-472ba411.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./victron/counter.vue":()=>e(()=>import("./counter-d066b086.js"),["assets/counter-d066b086.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./victron/device.vue":()=>e(()=>import("./device-ffdd2719.js"),["assets/device-ffdd2719.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./victron/inverter.vue":()=>e(()=>import("./inverter-1d3cb0b9.js"),["assets/inverter-1d3cb0b9.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./virtual/counter.vue":()=>e(()=>import("./counter-c177f89c.js"),["assets/counter-c177f89c.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./virtual/device.vue":()=>e(()=>import("./device-acff522f.js"),["assets/device-acff522f.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./vzlogger/counter.vue":()=>e(()=>import("./counter-dcef76ed.js"),["assets/counter-dcef76ed.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./vzlogger/device.vue":()=>e(()=>import("./device-9e87d444.js"),["assets/device-9e87d444.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./vzlogger/inverter.vue":()=>e(()=>import("./inverter-bd49cadc.js"),["assets/inverter-bd49cadc.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./youless/device.vue":()=>e(()=>import("./device-a32b33ec.js"),["assets/device-a32b33ec.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./youless/inverter.vue":()=>e(()=>import("./inverter-2a76c58f.js"),["assets/inverter-2a76c58f.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"])}),`./${this.deviceType}/${this.componentType}.vue`),errorComponent:S}):W({loader:()=>M(Object.assign({"./alpha_ess/device.vue":()=>e(()=>import("./device-0e3e273b.js"),["assets/device-0e3e273b.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./azzurro_sofar/device.vue":()=>e(()=>import("./device-d146daed.js"),["assets/device-d146daed.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./azzurro_zcs/device.vue":()=>e(()=>import("./device-586935d9.js"),["assets/device-586935d9.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./batterx/device.vue":()=>e(()=>import("./device-c84b158a.js"),["assets/device-c84b158a.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./benning/device.vue":()=>e(()=>import("./device-4b160c8c.js"),["assets/device-4b160c8c.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./byd/device.vue":()=>e(()=>import("./device-83f5a3c0.js"),["assets/device-83f5a3c0.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./carlo_gavazzi/device.vue":()=>e(()=>import("./device-32864a60.js"),["assets/device-32864a60.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./deye/device.vue":()=>e(()=>import("./device-a1c7ee46.js"),["assets/device-a1c7ee46.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./discovergy/device.vue":()=>e(()=>import("./device-6f1703f6.js"),["assets/device-6f1703f6.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./e3dc/device.vue":()=>e(()=>import("./device-25364ec6.js"),["assets/device-25364ec6.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./enphase/device.vue":()=>e(()=>import("./device-247ea21b.js"),["assets/device-247ea21b.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./fems/device.vue":()=>e(()=>import("./device-581affae.js"),["assets/device-581affae.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./fronius/device.vue":()=>e(()=>import("./device-e3af0f3b.js"),["assets/device-e3af0f3b.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./good_we/device.vue":()=>e(()=>import("./device-71c8ac32.js"),["assets/device-71c8ac32.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./http/device.vue":()=>e(()=>import("./device-c8a7a00c.js"),["assets/device-c8a7a00c.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./huawei/device.vue":()=>e(()=>import("./device-c7e9106f.js"),["assets/device-c7e9106f.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./huawei_smartlogger/device.vue":()=>e(()=>import("./device-8e686eb4.js"),["assets/device-8e686eb4.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./janitza/device.vue":()=>e(()=>import("./device-2b5701b7.js"),["assets/device-2b5701b7.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./json/device.vue":()=>e(()=>import("./device-76b388bf.js"),["assets/device-76b388bf.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./kostal_piko/device.vue":()=>e(()=>import("./device-bde8fd58.js"),["assets/device-bde8fd58.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./kostal_piko_old/device.vue":()=>e(()=>import("./device-74e23b8b.js"),["assets/device-74e23b8b.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./kostal_plenticore/device.vue":()=>e(()=>import("./device-7b85776b.js"),["assets/device-7b85776b.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./kostal_sem/device.vue":()=>e(()=>import("./device-bbc284d1.js"),["assets/device-bbc284d1.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./kostal_steca/device.vue":()=>e(()=>import("./device-b944ac41.js"),["assets/device-b944ac41.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./lg/device.vue":()=>e(()=>import("./device-08e89817.js"),["assets/device-08e89817.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./mqtt/device.vue":()=>e(()=>import("./device-a25b4d03.js"),["assets/device-a25b4d03.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./opendtu/device.vue":()=>e(()=>import("./device-d7f34f6e.js"),["assets/device-d7f34f6e.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./openwb_bat_kit/device.vue":()=>e(()=>import("./device-f8d9b7eb.js"),["assets/device-f8d9b7eb.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./openwb_evu_kit/device.vue":()=>e(()=>import("./device-073594d6.js"),["assets/device-073594d6.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./openwb_flex/device.vue":()=>e(()=>import("./device-1e9ff36d.js"),["assets/device-1e9ff36d.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./openwb_pv_kit/device.vue":()=>e(()=>import("./device-cc5d74c4.js"),["assets/device-cc5d74c4.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./powerdog/device.vue":()=>e(()=>import("./device-a8019215.js"),["assets/device-a8019215.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./powerfox/device.vue":()=>e(()=>import("./device-bd5bcc9e.js"),["assets/device-bd5bcc9e.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./qcells/device.vue":()=>e(()=>import("./device-f1a1f92f.js"),["assets/device-f1a1f92f.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./rct/device.vue":()=>e(()=>import("./device-0238a67e.js"),["assets/device-0238a67e.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./saxpower/device.vue":()=>e(()=>import("./device-870e788e.js"),["assets/device-870e788e.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./shelly/device.vue":()=>e(()=>import("./device-3f20dcf5.js"),["assets/device-3f20dcf5.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./siemens/device.vue":()=>e(()=>import("./device-ea4b41ce.js"),["assets/device-ea4b41ce.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./siemens_sentron/device.vue":()=>e(()=>import("./device-9597d6f1.js"),["assets/device-9597d6f1.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./sma_shm/device.vue":()=>e(()=>import("./device-f6b1f0b4.js"),["assets/device-f6b1f0b4.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./sma_sunny_boy/device.vue":()=>e(()=>import("./device-2adf3bb5.js"),["assets/device-2adf3bb5.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./sma_sunny_island/device.vue":()=>e(()=>import("./device-557d9745.js"),["assets/device-557d9745.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./sma_webbox/device.vue":()=>e(()=>import("./device-7090a33b.js"),["assets/device-7090a33b.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./smart_me/device.vue":()=>e(()=>import("./device-4df32398.js"),["assets/device-4df32398.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./smartfox/device.vue":()=>e(()=>import("./device-bd76247b.js"),["assets/device-bd76247b.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./solar_log/device.vue":()=>e(()=>import("./device-516d9e1d.js"),["assets/device-516d9e1d.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./solar_view/device.vue":()=>e(()=>import("./device-7afcc425.js"),["assets/device-7afcc425.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./solar_watt/device.vue":()=>e(()=>import("./device-33dbd8bf.js"),["assets/device-33dbd8bf.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./solar_world/device.vue":()=>e(()=>import("./device-d1ec8285.js"),["assets/device-d1ec8285.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./solaredge/device.vue":()=>e(()=>import("./device-ab760ea8.js"),["assets/device-ab760ea8.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./solarmax/device.vue":()=>e(()=>import("./device-04626438.js"),["assets/device-04626438.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./solax/device.vue":()=>e(()=>import("./device-2e823b39.js"),["assets/device-2e823b39.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./sonnenbatterie/device.vue":()=>e(()=>import("./device-e4ce2635.js"),["assets/device-e4ce2635.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./studer/device.vue":()=>e(()=>import("./device-2c8ebfc7.js"),["assets/device-2c8ebfc7.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./sungrow/device.vue":()=>e(()=>import("./device-6ca92a98.js"),["assets/device-6ca92a98.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./sunways/device.vue":()=>e(()=>import("./device-8c555086.js"),["assets/device-8c555086.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./tesla/device.vue":()=>e(()=>import("./device-4ce5ac09.js"),["assets/device-4ce5ac09.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./varta/device.vue":()=>e(()=>import("./device-7a27214b.js"),["assets/device-7a27214b.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./victron/device.vue":()=>e(()=>import("./device-ffdd2719.js"),["assets/device-ffdd2719.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./virtual/device.vue":()=>e(()=>import("./device-acff522f.js"),["assets/device-acff522f.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./vzlogger/device.vue":()=>e(()=>import("./device-9e87d444.js"),["assets/device-9e87d444.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./youless/device.vue":()=>e(()=>import("./device-a32b33ec.js"),["assets/device-a32b33ec.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"])}),`./${this.deviceType}/device.vue`),errorComponent:S})}},methods:{updateConfiguration(_){this.$emit("update:configuration",_)}}};function se(_,i,u,O,s,r){return d(),E(Y(r.myComponent),{configuration:u.configuration,deviceId:u.deviceId,deviceType:u.deviceType,componentId:u.componentId,componentType:u.componentType,"onUpdate:configuration":i[0]||(i[0]=T=>r.updateConfiguration(T))},null,40,["configuration","deviceId","deviceType","componentId","componentType"])}const me=y(ae,[["render",se],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/OpenwbConfigProxy.vue"]]);G.add(N,U,F,H,J,Z,$);const pe={name:"OpenwbHardwareInstallation",mixins:[X],emits:["sendCommand"],components:{FontAwesomeIcon:Q,OpenwbConfigProxy:me},data(){return{mqttTopicsToSubscribe:["openWB/general/extern","openWB/counter/get/hierarchy","openWB/system/device/+/config","openWB/system/device/+/component/+/config","openWB/system/configurable/devices_components"],deviceToAdd:void 0,showDeviceRemoveModal:!1,modalDevice:void 0,modalDeviceName:"",componentToAdd:[],showComponentRemoveModal:!1,modalComponent:void 0,modalComponentName:""}},computed:{installedDevices:{get(){return this.getWildcardTopics("openWB/system/device/+/config")}},installedComponents:{get(){return this.getWildcardTopics("openWB/system/device/+/component/+/config")}}},methods:{getComponentTypeClass(_){return _.match(/^(.+_)?counter(_.+)?$/)?"danger":_.match(/^(.+_)?inverter(_.+)?$/)?"success":_.match(/^(.+_)?bat(_.+)?$/)?"warning":"dark"},getComponentTypeIcon(_){return _.match(/^(.+_)?counter(_.+)?$/)?["fas","fa-gauge-high"]:_.match(/^(.+_)?inverter(_.+)?$/)?["fas","fa-solar-panel"]:_.match(/^(.+_)?bat(_.+)?$/)?["fas","fa-car-battery"]:["fas","fa-microchip"]},getMyInstalledComponents(_){return this.getWildcardTopics("openWB/system/device/"+_+"/component/+/config")},deviceHasConfiguredComponents(_){return Object.keys(this.getMyInstalledComponents(_)).length>0},addDevice(){this.$emit("sendCommand",{command:"addDevice",data:{type:this.deviceToAdd}})},removeDeviceModal(_,i,u){u.stopPropagation(),this.modalDevice=_,this.modalDeviceName=i,this.showDeviceRemoveModal=!0},removeDevice(_){this.showDeviceRemoveModal=!1,_=="confirm"&&(console.info("request removal of device '"+this.modalDevice+"'"),this.$emit("sendCommand",{command:"removeDevice",data:{id:this.modalDevice}}))},getDeviceList(){return this.$store.state.mqtt["openWB/system/configurable/devices_components"]},addComponent(_,i,u){this.$emit("sendCommand",{command:"addComponent",data:{deviceId:_,deviceType:i,type:u}})},removeComponentModal(_,i,u,O,s){s.stopPropagation(),this.modalComponent={deviceId:_,id:i,type:u},this.modalComponentName=O,this.showComponentRemoveModal=!0},removeComponent(_){this.showComponentRemoveModal=!1,_=="confirm"&&(console.info("request removal of component '"+this.modalComponent.id+"' from device '"+this.modalComponent.deviceId+"' type '"+this.modalComponent.type+"'"),this.$emit("sendCommand",{command:"removeComponent",data:this.modalComponent}))},getComponentList(_){return _===void 0?[]:(console.debug("finding components for '"+_+"'"),this.$store.state.mqtt["openWB/system/configurable/devices_components"].find(u=>u.value===_).component)},updateConfiguration(_,i){console.debug("updateConfiguration",_,i),this.updateState(_,i.value,i.object)}}},D=_=>(ee("data-v-8595d6ae"),_=_(),_e(),_),ce={class:"hardwareInstallation"},Ee={name:"hardwareInstallationForm"},le={key:0},Te={key:1},Ie={key:1},Ve=D(()=>c("hr",null,null,-1)),De=D(()=>c("hr",null,null,-1)),Ae=D(()=>c("hr",null,null,-1)),Re=D(()=>c("hr",null,null,-1)),Oe={class:"col-1"},Pe={key:0},Le={class:"col-1"},ge=D(()=>c("p",null,[a(' Die openWB-Regelung ist auf Werte von Messpunkten (Zähler, Energy Meter usw.) angewiesen. Hierfür werden "Geräte" und "Komponenten" verwendet.'),c("br"),a(' Ein "Gerät" wird hierbei durch seine Verbindungseinstellungen (z.B. IP-Adresse) spezifiziert (häufig durch manuelle Eingabe oder manchmal automatisch ermittelt) und kann über mehrere untergeordnete "Komponenten" verfügen, z.B. einen Messpunkt für PV-Erzeugung, einen Messpunkt für Netzeinspeisung/-bezug am EVU-Punkt usw.. Ein "Gerät" bedingt somit immer mindestens eine zugehörige "Komponente". ')],-1)),be=D(()=>c("p",null,[a(' Bsp: Werden die Werte von verschiedenen Messpunkten (z.B. PV und EVU) über die gleiche IP-Adresse abgefragt, wird dafür ein "Gerät" mit zwei "Komponenten" für PV- und EVU- Messpunkt angelegt.'),c("br"),a(' Verfügt dagegen jeder Messpunkt über eine eigene IP-Adresse, wird jeder Messpunkt als eigenes "Gerät" mit nur einer "Komponente" angelegt. ')],-1)),fe=D(()=>c("p",null,' Das "Gerät" wird in der dropdown-Liste ausgewählt und mit "+" der Regelung hinzugefügt. Im Anschluss erfolgt die Konfiguration des "Gerätes" innerhalb des schwarzen "Geräte"-Reiters. ',-1));function he(_,i,u,O,s,r){const T=m("openwb-base-modal-dialog"),L=m("router-link"),A=m("openwb-base-alert"),V=m("font-awesome-icon"),g=m("openwb-base-avatar"),k=m("openwb-base-text-input"),C=m("openwb-config-proxy"),j=m("openwb-base-heading"),b=m("openwb-base-card"),x=m("openwb-base-click-button"),z=m("openwb-base-select-input"),q=m("openwb-base-submit-buttons");return d(),p(P,null,[n(T,{show:s.showDeviceRemoveModal,title:"Gerät löschen",subtype:"danger",buttons:[{text:"Löschen",event:"confirm",subtype:"danger"}],onModalResult:r.removeDevice},{default:o(()=>[a(' Wollen Sie das Gerät "'+l(s.modalDeviceName)+'" inklusive aller Komponenten wirklich entfernen? Dieser Vorgang kann nicht rückgängig gemacht werden! ',1)]),_:1},8,["show","onModalResult"]),n(T,{show:s.showComponentRemoveModal,title:"Komponente löschen",subtype:"danger",buttons:[{text:"Löschen",event:"confirm",subtype:"danger"}],onModalResult:r.removeComponent},{default:o(()=>[a(' Wollen Sie die Komponente "'+l(s.modalComponentName)+'" wirklich entfernen? Dieser Vorgang kann nicht rückgängig gemacht werden! ',1)]),_:1},8,["show","onModalResult"]),c("div",ce,[c("form",Ee,[n(A,{subtype:"info"},{default:o(()=>[a(" Wenn neue Komponenten - insbesondere Zähler - konfiguriert wurden, ist auch das "),n(L,{to:"/LoadManagementConfiguration"},{default:o(()=>[a(" Lastmanagement ")]),_:1}),a(" zu prüfen! ")]),_:1}),n(b,{title:"Geräte und Komponenten"},{default:o(()=>[_.$store.state.mqtt["openWB/general/extern"]===!0?(d(),p("div",le,[n(A,{subtype:"info"},{default:o(()=>[a(' Diese Einstellungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. ')]),_:1})])):(d(),p("div",Te,[(d(!0),p(P,null,f(r.installedDevices,(t,B)=>(d(),E(b,{key:t.id,collapsible:!0,collapsed:!0,subtype:"dark"},{header:o(()=>[n(V,{"fixed-width":"",icon:["fas","network-wired"]}),a(" "+l(t.name),1)]),actions:o(v=>[v.collapsed?(d(),p("div",Ie,[(d(!0),p(P,null,f(r.getMyInstalledComponents(t.id),I=>(d(),E(g,{key:I.id,class:h("ml-1 bg-"+r.getComponentTypeClass(I.type))},{default:o(()=>[n(V,{"fixed-width":"",icon:r.getComponentTypeIcon(I.type)},null,8,["icon"])]),_:2},1032,["class"]))),128))])):(d(),E(g,{key:0,class:"bg-danger clickable",onClick:I=>r.removeDeviceModal(t.id,t.name,I)},{default:o(()=>[n(V,{"fixed-width":"",icon:["fas","trash"]})]),_:2},1032,["onClick"]))]),default:o(()=>[n(k,{title:"Bezeichnung",subtype:"text","model-value":t.name,"onUpdate:modelValue":v=>_.updateState(B,v,"name")},null,8,["model-value","onUpdate:modelValue"]),Ve,n(C,{deviceId:t.id,deviceType:t.type,configuration:t.configuration,"onUpdate:configuration":v=>r.updateConfiguration(B,v)},null,8,["deviceId","deviceType","configuration","onUpdate:configuration"]),De,n(j,null,{default:o(()=>[a("Komponenten")]),_:1}),r.deviceHasConfiguredComponents(t.id)?w("",!0):(d(),E(A,{key:0,subtype:"warning"},{default:o(()=>[a(" Es wurden noch keine Komponenten zu diesem Gerät angelegt. ")]),_:1})),(d(!0),p(P,null,f(r.getMyInstalledComponents(t.id),(v,I)=>(d(),E(b,{key:v.id,collapsible:!0,collapsed:!0,subtype:r.getComponentTypeClass(v.type)},{header:o(()=>[n(V,{"fixed-width":"",icon:r.getComponentTypeIcon(v.type)},null,8,["icon"]),a(" "+l(v.name),1)]),actions:o(R=>[R.collapsed?w("",!0):(d(),E(g,{key:0,class:"bg-danger clickable",onClick:K=>r.removeComponentModal(t.id,v.id,v.type,v.name,K)},{default:o(()=>[n(V,{"fixed-width":"",icon:["fas","trash"]})]),_:2},1032,["onClick"]))]),default:o(()=>[n(k,{title:"Bezeichnung",subtype:"text","model-value":v.name,"onUpdate:modelValue":R=>_.updateState(I,R,"name")},null,8,["model-value","onUpdate:modelValue"]),Ae,n(C,{deviceId:t.id,deviceType:t.type,componentId:v.id,componentType:v.type,configuration:v.configuration,"onUpdate:configuration":R=>r.updateConfiguration(I,R)},null,8,["deviceId","deviceType","componentId","componentType","configuration","onUpdate:configuration"])]),_:2},1032,["subtype"]))),128)),Re,r.getComponentList(t.type).length?(d(),E(z,{key:1,class:"mb-2",title:"Verfügbare Komponenten",notSelected:"Bitte auswählen",options:r.getComponentList(t.type),"model-value":s.componentToAdd[t.id],"onUpdate:modelValue":v=>s.componentToAdd[t.id]=v},{append:o(()=>[c("span",Oe,[n(x,{class:h(s.componentToAdd[t.id]===void 0?"btn-outline-success":"btn-success clickable"),disabled:s.componentToAdd[t.id]===void 0,onButtonClicked:v=>r.addComponent(t.id,t.type,s.componentToAdd[t.id])},{default:o(()=>[n(V,{"fixed-width":"",icon:["fas","plus"]})]),_:2},1032,["class","disabled","onButtonClicked"])])]),help:o(()=>[a(" Bitte eine Komponente auswählen, die hinzugefügt werden soll. Für jeden Datensatz, z.B. Wechselrichter- und Batteriedaten, muss eine Wechselrichter- und eine Batteriekomponente hinzugefügt werden. ")]),_:2},1032,["options","model-value","onUpdate:modelValue"])):(d(),E(A,{key:2,subtype:"info"},{default:o(()=>[a(" Dieses System bietet keine Komponenten zur Installation an. ")]),_:1}))]),_:2},1024))),128)),Object.keys(r.installedDevices).length>0?(d(),p("hr",Pe)):w("",!0),n(z,{class:"mb-2",title:"Verfügbare Geräte",notSelected:"Bitte auswählen",options:r.getDeviceList(),"model-value":s.deviceToAdd,"onUpdate:modelValue":i[0]||(i[0]=t=>s.deviceToAdd=t)},{append:o(()=>[c("span",Le,[n(x,{class:h(s.deviceToAdd===void 0?"btn-outline-success":"btn-success clickable"),disabled:s.deviceToAdd===void 0,onButtonClicked:r.addDevice},{default:o(()=>[n(V,{"fixed-width":"",icon:["fas","plus"]})]),_:1},8,["class","disabled","onButtonClicked"])])]),help:o(()=>[ge,be,fe]),_:1},8,["options","model-value"])]))]),_:1}),n(q,{formName:"hardwareInstallationForm",onSave:i[1]||(i[1]=t=>_.$emit("save")),onReset:i[2]||(i[2]=t=>_.$emit("reset")),onDefaults:i[3]||(i[3]=t=>_.$emit("defaults"))})])])],64)}const We=y(pe,[["render",he],["__scopeId","data-v-8595d6ae"],["__file","/opt/openWB-dev/openwb-ui-settings/src/views/HardwareInstallation.vue"]]);export{We as default}; diff --git a/web/settings/assets/HardwareInstallation-71e399a9.js b/web/settings/assets/HardwareInstallation-71e399a9.js deleted file mode 100644 index 4eb8662963..0000000000 --- a/web/settings/assets/HardwareInstallation-71e399a9.js +++ /dev/null @@ -1 +0,0 @@ -import{l as N,d as U,t as G,Z as F,_ as H,P as J,O as Z,N as Q,F as X}from"./vendor-fortawesome-9fdc06a9.js";import{_ as e,C as Y}from"./index-131a952e.js";import{_ as M}from"./dynamic-import-helper-be004503.js";import{_ as y,q as p,k as d,l as c,z as E,M as o,y as T,x as v,B as n,u as m,a1 as W,a2 as $,I as O,J as f,p as h,A as w,R as ee,S as _e}from"./vendor-f0f38b48.js";import"./vendor-bootstrap-384bc385.js";import"./vendor-jquery-8576ed22.js";import"./vendor-axios-e59ef189.js";import"./vendor-sortablejs-cbf37f8f.js";const te={name:"DeviceFallback",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},deviceType:String,componentId:{default:void 0},componentType:String},methods:{updateConfiguration(_,i=void 0){this.$emit("update:configuration",{value:_,object:i})}}},oe={class:"device-fallback"},ie={key:0},re={key:1},ne={key:1},ue={key:0},de={key:1};function ve(_,i,u,P,s,r){const I=p("openwb-base-alert"),L=p("openwb-base-textarea");return d(),c("div",oe,[Object.keys(u.configuration).length==0?(d(),E(I,{key:0,subtype:"info"},{default:o(()=>[u.componentType?(d(),c("span",ie,' Der Komponenten-Typ "'+T(u.componentType)+'" ',1)):(d(),c("span",re,'Der Gerät-Typ "'+T(u.deviceType)+'"',1)),v(" bietet keine Einstellungen. ")]),_:1})):(d(),c("div",ne,[n(I,{subtype:"warning"},{default:o(()=>[v(" Es wurde keine Konfigurationsseite für den "),u.componentType?(d(),c("span",ue,' Komponenten-Typ "'+T(u.componentType)+'" ',1)):(d(),c("span",de,'Geräte-Typ "'+T(u.deviceType)+'"',1)),v(" gefunden. Die Einstellungen können als JSON direkt bearbeitet werden. ")]),_:1}),n(L,{title:"Konfiguration",subtype:"json","model-value":u.configuration,"onUpdate:modelValue":i[0]||(i[0]=A=>r.updateConfiguration(A,"configuration"))},{help:o(()=>[v(" Bitte prüfen Sie, ob die Eingaben richtig interpretiert werden. ")]),_:1},8,["model-value"]),n(I,{subtype:"info"},{default:o(()=>[m("pre",null,T(JSON.stringify(u.configuration,void 0,2)),1)]),_:1})]))])}const S=y(te,[["render",ve],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/OpenwbDeviceConfigFallback.vue"]]),ae={name:"OpenwbConfigProxy",emits:["update:configuration"],props:{deviceId:{required:!0},deviceType:{type:String,required:!0},componentId:{default:void 0},componentType:{type:String,default:void 0},configuration:{type:Object,required:!0}},computed:{myComponent(){return console.debug(`loading component: ${this.deviceType} / ${this.componentType}`),this.componentType!==void 0?W({loader:()=>M(Object.assign({"./alpha_ess/bat.vue":()=>e(()=>import("./bat-ec26cfad.js"),["assets/bat-ec26cfad.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./alpha_ess/counter.vue":()=>e(()=>import("./counter-5777261a.js"),["assets/counter-5777261a.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./alpha_ess/device.vue":()=>e(()=>import("./device-422dcf91.js"),["assets/device-422dcf91.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./alpha_ess/inverter.vue":()=>e(()=>import("./inverter-13a811f8.js"),["assets/inverter-13a811f8.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./azzurro_sofar/bat.vue":()=>e(()=>import("./bat-472fcd70.js"),["assets/bat-472fcd70.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./azzurro_sofar/counter.vue":()=>e(()=>import("./counter-e85519a0.js"),["assets/counter-e85519a0.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./azzurro_sofar/device.vue":()=>e(()=>import("./device-d8e5b4d3.js"),["assets/device-d8e5b4d3.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./azzurro_sofar/inverter.vue":()=>e(()=>import("./inverter-d3b3e80b.js"),["assets/inverter-d3b3e80b.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./azzurro_zcs/bat.vue":()=>e(()=>import("./bat-50e013a7.js"),["assets/bat-50e013a7.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./azzurro_zcs/counter.vue":()=>e(()=>import("./counter-e372a404.js"),["assets/counter-e372a404.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./azzurro_zcs/device.vue":()=>e(()=>import("./device-e94286a1.js"),["assets/device-e94286a1.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./azzurro_zcs/inverter.vue":()=>e(()=>import("./inverter-2577f480.js"),["assets/inverter-2577f480.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./batterx/bat.vue":()=>e(()=>import("./bat-7eb3e707.js"),["assets/bat-7eb3e707.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./batterx/counter.vue":()=>e(()=>import("./counter-be5c0579.js"),["assets/counter-be5c0579.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./batterx/device.vue":()=>e(()=>import("./device-e48fc6eb.js"),["assets/device-e48fc6eb.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./batterx/external_inverter.vue":()=>e(()=>import("./external_inverter-a403039d.js"),["assets/external_inverter-a403039d.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./batterx/inverter.vue":()=>e(()=>import("./inverter-918c88a8.js"),["assets/inverter-918c88a8.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./benning/device.vue":()=>e(()=>import("./device-bb77aac5.js"),["assets/device-bb77aac5.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./benning/inverter.vue":()=>e(()=>import("./inverter-5f14ad8a.js"),["assets/inverter-5f14ad8a.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./byd/bat.vue":()=>e(()=>import("./bat-f26e2844.js"),["assets/bat-f26e2844.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./byd/device.vue":()=>e(()=>import("./device-83d0d1d2.js"),["assets/device-83d0d1d2.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./carlo_gavazzi/counter.vue":()=>e(()=>import("./counter-3d38653d.js"),["assets/counter-3d38653d.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./carlo_gavazzi/device.vue":()=>e(()=>import("./device-efd97f38.js"),["assets/device-efd97f38.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./deye/bat.vue":()=>e(()=>import("./bat-5c1727b9.js"),["assets/bat-5c1727b9.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./deye/counter.vue":()=>e(()=>import("./counter-ac1660a7.js"),["assets/counter-ac1660a7.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./deye/device.vue":()=>e(()=>import("./device-b2ed509d.js"),["assets/device-b2ed509d.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./deye/inverter.vue":()=>e(()=>import("./inverter-5944e46d.js"),["assets/inverter-5944e46d.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./discovergy/counter.vue":()=>e(()=>import("./counter-84d4687e.js"),["assets/counter-84d4687e.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./discovergy/device.vue":()=>e(()=>import("./device-d91608b1.js"),["assets/device-d91608b1.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./discovergy/inverter.vue":()=>e(()=>import("./inverter-3c461e89.js"),["assets/inverter-3c461e89.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./e3dc/bat.vue":()=>e(()=>import("./bat-c11283be.js"),["assets/bat-c11283be.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./e3dc/counter.vue":()=>e(()=>import("./counter-bdd28188.js"),["assets/counter-bdd28188.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./e3dc/device.vue":()=>e(()=>import("./device-a451e048.js"),["assets/device-a451e048.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./e3dc/external_inverter.vue":()=>e(()=>import("./external_inverter-7c122784.js"),["assets/external_inverter-7c122784.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./e3dc/inverter.vue":()=>e(()=>import("./inverter-63d3d5dd.js"),["assets/inverter-63d3d5dd.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./enphase/counter.vue":()=>e(()=>import("./counter-0ee0503f.js"),["assets/counter-0ee0503f.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./enphase/device.vue":()=>e(()=>import("./device-fa4ff080.js"),["assets/device-fa4ff080.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./enphase/inverter.vue":()=>e(()=>import("./inverter-cb6725eb.js"),["assets/inverter-cb6725eb.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./fems/bat.vue":()=>e(()=>import("./bat-9251ec29.js"),["assets/bat-9251ec29.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./fems/counter.vue":()=>e(()=>import("./counter-3e31db9a.js"),["assets/counter-3e31db9a.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./fems/device.vue":()=>e(()=>import("./device-eb8d7119.js"),["assets/device-eb8d7119.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./fems/inverter.vue":()=>e(()=>import("./inverter-0fedac4e.js"),["assets/inverter-0fedac4e.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./fronius/bat.vue":()=>e(()=>import("./bat-1cd49cd6.js"),["assets/bat-1cd49cd6.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./fronius/counter_s0.vue":()=>e(()=>import("./counter_s0-3aa644a5.js"),["assets/counter_s0-3aa644a5.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./fronius/counter_sm.vue":()=>e(()=>import("./counter_sm-9d608119.js"),["assets/counter_sm-9d608119.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./fronius/device.vue":()=>e(()=>import("./device-a0c2d57b.js"),["assets/device-a0c2d57b.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./fronius/inverter.vue":()=>e(()=>import("./inverter-9bf3268a.js"),["assets/inverter-9bf3268a.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./fronius/inverter_secondary.vue":()=>e(()=>import("./inverter_secondary-60af9f4d.js"),["assets/inverter_secondary-60af9f4d.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./good_we/bat.vue":()=>e(()=>import("./bat-2263d450.js"),["assets/bat-2263d450.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./good_we/counter.vue":()=>e(()=>import("./counter-0ff1e2e2.js"),["assets/counter-0ff1e2e2.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./good_we/device.vue":()=>e(()=>import("./device-4c06c2b2.js"),["assets/device-4c06c2b2.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./good_we/inverter.vue":()=>e(()=>import("./inverter-ef42391b.js"),["assets/inverter-ef42391b.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./http/bat.vue":()=>e(()=>import("./bat-aea1d8d1.js"),["assets/bat-aea1d8d1.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./http/counter.vue":()=>e(()=>import("./counter-23ee69bc.js"),["assets/counter-23ee69bc.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./http/device.vue":()=>e(()=>import("./device-94e477af.js"),["assets/device-94e477af.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./http/inverter.vue":()=>e(()=>import("./inverter-46fef3f8.js"),["assets/inverter-46fef3f8.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./huawei/bat.vue":()=>e(()=>import("./bat-70966508.js"),["assets/bat-70966508.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./huawei/counter.vue":()=>e(()=>import("./counter-7434d2c1.js"),["assets/counter-7434d2c1.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./huawei/device.vue":()=>e(()=>import("./device-2ea31ec7.js"),["assets/device-2ea31ec7.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./huawei/inverter.vue":()=>e(()=>import("./inverter-10120033.js"),["assets/inverter-10120033.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./huawei_smartlogger/bat.vue":()=>e(()=>import("./bat-c2f21fa1.js"),["assets/bat-c2f21fa1.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./huawei_smartlogger/counter.vue":()=>e(()=>import("./counter-71272ccc.js"),["assets/counter-71272ccc.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./huawei_smartlogger/device.vue":()=>e(()=>import("./device-05f612f2.js"),["assets/device-05f612f2.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./huawei_smartlogger/inverter.vue":()=>e(()=>import("./inverter-48159805.js"),["assets/inverter-48159805.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./janitza/counter.vue":()=>e(()=>import("./counter-0299bd85.js"),["assets/counter-0299bd85.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./janitza/device.vue":()=>e(()=>import("./device-f3eb75a3.js"),["assets/device-f3eb75a3.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./json/bat.vue":()=>e(()=>import("./bat-085ab9b8.js"),["assets/bat-085ab9b8.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./json/counter.vue":()=>e(()=>import("./counter-a35d1907.js"),["assets/counter-a35d1907.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./json/device.vue":()=>e(()=>import("./device-3f06f01a.js"),["assets/device-3f06f01a.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./json/inverter.vue":()=>e(()=>import("./inverter-23476c16.js"),["assets/inverter-23476c16.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./kostal_piko/counter.vue":()=>e(()=>import("./counter-0310470c.js"),["assets/counter-0310470c.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./kostal_piko/device.vue":()=>e(()=>import("./device-ed3f1885.js"),["assets/device-ed3f1885.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./kostal_piko/inverter.vue":()=>e(()=>import("./inverter-66489b96.js"),["assets/inverter-66489b96.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./kostal_piko_old/device.vue":()=>e(()=>import("./device-b31c67e4.js"),["assets/device-b31c67e4.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./kostal_piko_old/inverter.vue":()=>e(()=>import("./inverter-424a738b.js"),["assets/inverter-424a738b.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./kostal_plenticore/bat.vue":()=>e(()=>import("./bat-7b5aee06.js"),["assets/bat-7b5aee06.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./kostal_plenticore/counter.vue":()=>e(()=>import("./counter-0b44e253.js"),["assets/counter-0b44e253.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./kostal_plenticore/device.vue":()=>e(()=>import("./device-77a56e1d.js"),["assets/device-77a56e1d.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./kostal_plenticore/inverter.vue":()=>e(()=>import("./inverter-7e6e2822.js"),["assets/inverter-7e6e2822.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./kostal_sem/counter.vue":()=>e(()=>import("./counter-d398c1c5.js"),["assets/counter-d398c1c5.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./kostal_sem/device.vue":()=>e(()=>import("./device-146e5f9d.js"),["assets/device-146e5f9d.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./kostal_steca/device.vue":()=>e(()=>import("./device-b80c9dca.js"),["assets/device-b80c9dca.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./kostal_steca/inverter.vue":()=>e(()=>import("./inverter-a067ba39.js"),["assets/inverter-a067ba39.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./lg/bat.vue":()=>e(()=>import("./bat-714247d6.js"),["assets/bat-714247d6.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./lg/counter.vue":()=>e(()=>import("./counter-c3bfa028.js"),["assets/counter-c3bfa028.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./lg/device.vue":()=>e(()=>import("./device-2ff10261.js"),["assets/device-2ff10261.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./lg/inverter.vue":()=>e(()=>import("./inverter-738c2377.js"),["assets/inverter-738c2377.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./mqtt/bat.vue":()=>e(()=>import("./bat-c7a57eab.js"),["assets/bat-c7a57eab.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./mqtt/counter.vue":()=>e(()=>import("./counter-6adeeedb.js"),["assets/counter-6adeeedb.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./mqtt/device.vue":()=>e(()=>import("./device-4a2b6383.js"),["assets/device-4a2b6383.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./mqtt/inverter.vue":()=>e(()=>import("./inverter-60cb8900.js"),["assets/inverter-60cb8900.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./opendtu/device.vue":()=>e(()=>import("./device-ba3ffbd6.js"),["assets/device-ba3ffbd6.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./opendtu/inverter.vue":()=>e(()=>import("./inverter-cd521c2b.js"),["assets/inverter-cd521c2b.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./openwb_bat_kit/bat.vue":()=>e(()=>import("./bat-78c6d9b1.js"),["assets/bat-78c6d9b1.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./openwb_bat_kit/device.vue":()=>e(()=>import("./device-0bbdcef0.js"),["assets/device-0bbdcef0.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./openwb_evu_kit/bat.vue":()=>e(()=>import("./bat-bd30d1ab.js"),["assets/bat-bd30d1ab.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./openwb_evu_kit/counter.vue":()=>e(()=>import("./counter-156bc096.js"),["assets/counter-156bc096.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./openwb_evu_kit/device.vue":()=>e(()=>import("./device-a8567774.js"),["assets/device-a8567774.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./openwb_evu_kit/inverter.vue":()=>e(()=>import("./inverter-9ffa5522.js"),["assets/inverter-9ffa5522.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./openwb_flex/bat.vue":()=>e(()=>import("./bat-9eb1485f.js"),["assets/bat-9eb1485f.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./openwb_flex/consumption_counter.vue":()=>e(()=>import("./consumption_counter-b488867d.js"),["assets/consumption_counter-b488867d.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./openwb_flex/counter.vue":()=>e(()=>import("./counter-fc067156.js"),["assets/counter-fc067156.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./openwb_flex/device.vue":()=>e(()=>import("./device-31d96f27.js"),["assets/device-31d96f27.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./openwb_flex/inverter.vue":()=>e(()=>import("./inverter-e8664868.js"),["assets/inverter-e8664868.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./openwb_pv_kit/device.vue":()=>e(()=>import("./device-89ec12b4.js"),["assets/device-89ec12b4.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./openwb_pv_kit/inverter.vue":()=>e(()=>import("./inverter-6afc80ff.js"),["assets/inverter-6afc80ff.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./powerdog/counter.vue":()=>e(()=>import("./counter-dbaea7b9.js"),["assets/counter-dbaea7b9.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./powerdog/device.vue":()=>e(()=>import("./device-f32c8a87.js"),["assets/device-f32c8a87.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./powerdog/inverter.vue":()=>e(()=>import("./inverter-ae7c14c3.js"),["assets/inverter-ae7c14c3.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./powerfox/counter.vue":()=>e(()=>import("./counter-48fdf220.js"),["assets/counter-48fdf220.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./powerfox/device.vue":()=>e(()=>import("./device-46a3ff2e.js"),["assets/device-46a3ff2e.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./powerfox/inverter.vue":()=>e(()=>import("./inverter-f4907df2.js"),["assets/inverter-f4907df2.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./qcells/bat.vue":()=>e(()=>import("./bat-e0a28cb6.js"),["assets/bat-e0a28cb6.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./qcells/counter.vue":()=>e(()=>import("./counter-14e57094.js"),["assets/counter-14e57094.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./qcells/device.vue":()=>e(()=>import("./device-e729de90.js"),["assets/device-e729de90.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./qcells/inverter.vue":()=>e(()=>import("./inverter-25e387df.js"),["assets/inverter-25e387df.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./rct/bat.vue":()=>e(()=>import("./bat-c6b79b0c.js"),["assets/bat-c6b79b0c.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./rct/counter.vue":()=>e(()=>import("./counter-371e2843.js"),["assets/counter-371e2843.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./rct/device.vue":()=>e(()=>import("./device-a88cf134.js"),["assets/device-a88cf134.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./rct/inverter.vue":()=>e(()=>import("./inverter-e356b3e7.js"),["assets/inverter-e356b3e7.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./saxpower/bat.vue":()=>e(()=>import("./bat-f27df809.js"),["assets/bat-f27df809.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./saxpower/device.vue":()=>e(()=>import("./device-3fca2c08.js"),["assets/device-3fca2c08.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./shelly/device.vue":()=>e(()=>import("./device-af91cf00.js"),["assets/device-af91cf00.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./shelly/inverter.vue":()=>e(()=>import("./inverter-87ffebcd.js"),["assets/inverter-87ffebcd.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./siemens/bat.vue":()=>e(()=>import("./bat-5b52affc.js"),["assets/bat-5b52affc.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./siemens/counter.vue":()=>e(()=>import("./counter-1f95e587.js"),["assets/counter-1f95e587.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./siemens/device.vue":()=>e(()=>import("./device-fbac7aa9.js"),["assets/device-fbac7aa9.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./siemens/inverter.vue":()=>e(()=>import("./inverter-d7f6f892.js"),["assets/inverter-d7f6f892.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./siemens_sentron/counter.vue":()=>e(()=>import("./counter-002a725b.js"),["assets/counter-002a725b.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./siemens_sentron/device.vue":()=>e(()=>import("./device-bdcb209b.js"),["assets/device-bdcb209b.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./sma_shm/counter.vue":()=>e(()=>import("./counter-c530aaa3.js"),["assets/counter-c530aaa3.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./sma_shm/device.vue":()=>e(()=>import("./device-c032eaff.js"),["assets/device-c032eaff.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./sma_shm/inverter.vue":()=>e(()=>import("./inverter-8d241330.js"),["assets/inverter-8d241330.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./sma_sunny_boy/bat.vue":()=>e(()=>import("./bat-b7b803c1.js"),["assets/bat-b7b803c1.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./sma_sunny_boy/bat_smart_energy.vue":()=>e(()=>import("./bat_smart_energy-931a9518.js"),["assets/bat_smart_energy-931a9518.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./sma_sunny_boy/counter.vue":()=>e(()=>import("./counter-c100fb23.js"),["assets/counter-c100fb23.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./sma_sunny_boy/device.vue":()=>e(()=>import("./device-3a743e8e.js"),["assets/device-3a743e8e.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./sma_sunny_boy/inverter.vue":()=>e(()=>import("./inverter-ed134c21.js"),["assets/inverter-ed134c21.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./sma_sunny_island/bat.vue":()=>e(()=>import("./bat-2ac58cf4.js"),["assets/bat-2ac58cf4.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./sma_sunny_island/device.vue":()=>e(()=>import("./device-68558272.js"),["assets/device-68558272.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./sma_webbox/device.vue":()=>e(()=>import("./device-95a82c98.js"),["assets/device-95a82c98.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./sma_webbox/inverter.vue":()=>e(()=>import("./inverter-3ab3ab70.js"),["assets/inverter-3ab3ab70.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./smart_me/counter.vue":()=>e(()=>import("./counter-88510cfb.js"),["assets/counter-88510cfb.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./smart_me/device.vue":()=>e(()=>import("./device-4016ebdc.js"),["assets/device-4016ebdc.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./smart_me/inverter.vue":()=>e(()=>import("./inverter-a9abe721.js"),["assets/inverter-a9abe721.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./smartfox/counter.vue":()=>e(()=>import("./counter-b9fabe58.js"),["assets/counter-b9fabe58.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./smartfox/device.vue":()=>e(()=>import("./device-c5f12afe.js"),["assets/device-c5f12afe.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./solar_log/counter.vue":()=>e(()=>import("./counter-f6dc958d.js"),["assets/counter-f6dc958d.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./solar_log/device.vue":()=>e(()=>import("./device-a98bdda8.js"),["assets/device-a98bdda8.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./solar_log/inverter.vue":()=>e(()=>import("./inverter-0662361d.js"),["assets/inverter-0662361d.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./solar_view/counter.vue":()=>e(()=>import("./counter-d45f5fed.js"),["assets/counter-d45f5fed.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./solar_view/device.vue":()=>e(()=>import("./device-66142994.js"),["assets/device-66142994.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./solar_view/inverter.vue":()=>e(()=>import("./inverter-c305f2a2.js"),["assets/inverter-c305f2a2.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./solar_watt/bat.vue":()=>e(()=>import("./bat-406ce36d.js"),["assets/bat-406ce36d.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./solar_watt/counter.vue":()=>e(()=>import("./counter-e1c0cfad.js"),["assets/counter-e1c0cfad.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./solar_watt/device.vue":()=>e(()=>import("./device-bdb190b0.js"),["assets/device-bdb190b0.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./solar_watt/inverter.vue":()=>e(()=>import("./inverter-826d3567.js"),["assets/inverter-826d3567.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./solar_world/counter.vue":()=>e(()=>import("./counter-b74471a1.js"),["assets/counter-b74471a1.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./solar_world/device.vue":()=>e(()=>import("./device-4ee21df6.js"),["assets/device-4ee21df6.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./solar_world/inverter.vue":()=>e(()=>import("./inverter-7d38470e.js"),["assets/inverter-7d38470e.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./solaredge/bat.vue":()=>e(()=>import("./bat-60fe1dbc.js"),["assets/bat-60fe1dbc.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./solaredge/counter.vue":()=>e(()=>import("./counter-6242b0ba.js"),["assets/counter-6242b0ba.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./solaredge/device.vue":()=>e(()=>import("./device-2212b92d.js"),["assets/device-2212b92d.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./solaredge/external_inverter.vue":()=>e(()=>import("./external_inverter-b26af4c0.js"),["assets/external_inverter-b26af4c0.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./solaredge/inverter.vue":()=>e(()=>import("./inverter-79051db9.js"),["assets/inverter-79051db9.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./solarmax/bat.vue":()=>e(()=>import("./bat-8f4443b8.js"),["assets/bat-8f4443b8.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./solarmax/device.vue":()=>e(()=>import("./device-eca45af0.js"),["assets/device-eca45af0.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./solarmax/inverter.vue":()=>e(()=>import("./inverter-876f842a.js"),["assets/inverter-876f842a.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./solax/bat.vue":()=>e(()=>import("./bat-6421a339.js"),["assets/bat-6421a339.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./solax/counter.vue":()=>e(()=>import("./counter-9e849157.js"),["assets/counter-9e849157.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./solax/device.vue":()=>e(()=>import("./device-68c42e56.js"),["assets/device-68c42e56.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./solax/inverter.vue":()=>e(()=>import("./inverter-50052a1a.js"),["assets/inverter-50052a1a.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./sonnenbatterie/bat.vue":()=>e(()=>import("./bat-596429dc.js"),["assets/bat-596429dc.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./sonnenbatterie/counter.vue":()=>e(()=>import("./counter-7c07de2b.js"),["assets/counter-7c07de2b.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./sonnenbatterie/device.vue":()=>e(()=>import("./device-9e5b2984.js"),["assets/device-9e5b2984.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./sonnenbatterie/inverter.vue":()=>e(()=>import("./inverter-bfb4fba6.js"),["assets/inverter-bfb4fba6.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./studer/bat.vue":()=>e(()=>import("./bat-52a3046b.js"),["assets/bat-52a3046b.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./studer/device.vue":()=>e(()=>import("./device-fc31f82d.js"),["assets/device-fc31f82d.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./studer/inverter.vue":()=>e(()=>import("./inverter-16975675.js"),["assets/inverter-16975675.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./sungrow/bat.vue":()=>e(()=>import("./bat-0bf32e7f.js"),["assets/bat-0bf32e7f.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./sungrow/counter.vue":()=>e(()=>import("./counter-9400433d.js"),["assets/counter-9400433d.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./sungrow/device.vue":()=>e(()=>import("./device-536464f7.js"),["assets/device-536464f7.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./sungrow/inverter.vue":()=>e(()=>import("./inverter-6bded09b.js"),["assets/inverter-6bded09b.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./sunways/device.vue":()=>e(()=>import("./device-974644de.js"),["assets/device-974644de.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./sunways/inverter.vue":()=>e(()=>import("./inverter-ecc53d83.js"),["assets/inverter-ecc53d83.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./tesla/bat.vue":()=>e(()=>import("./bat-d8eea41d.js"),["assets/bat-d8eea41d.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./tesla/counter.vue":()=>e(()=>import("./counter-732beb55.js"),["assets/counter-732beb55.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./tesla/device.vue":()=>e(()=>import("./device-103ad9f6.js"),["assets/device-103ad9f6.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./tesla/inverter.vue":()=>e(()=>import("./inverter-6635a557.js"),["assets/inverter-6635a557.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./varta/bat_api.vue":()=>e(()=>import("./bat_api-f12964ea.js"),["assets/bat_api-f12964ea.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./varta/bat_modbus.vue":()=>e(()=>import("./bat_modbus-91e4bbfe.js"),["assets/bat_modbus-91e4bbfe.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./varta/counter.vue":()=>e(()=>import("./counter-deeb6d82.js"),["assets/counter-deeb6d82.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./varta/device.vue":()=>e(()=>import("./device-7f54ce45.js"),["assets/device-7f54ce45.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./victron/bat.vue":()=>e(()=>import("./bat-d1272cbb.js"),["assets/bat-d1272cbb.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./victron/counter.vue":()=>e(()=>import("./counter-a53703ba.js"),["assets/counter-a53703ba.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./victron/device.vue":()=>e(()=>import("./device-d2c1b1df.js"),["assets/device-d2c1b1df.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./victron/inverter.vue":()=>e(()=>import("./inverter-ddbd9ec1.js"),["assets/inverter-ddbd9ec1.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./virtual/counter.vue":()=>e(()=>import("./counter-afb523c3.js"),["assets/counter-afb523c3.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./virtual/device.vue":()=>e(()=>import("./device-3f08eba4.js"),["assets/device-3f08eba4.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./vzlogger/counter.vue":()=>e(()=>import("./counter-e7b0c237.js"),["assets/counter-e7b0c237.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./vzlogger/device.vue":()=>e(()=>import("./device-1eddf414.js"),["assets/device-1eddf414.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./vzlogger/inverter.vue":()=>e(()=>import("./inverter-7b2ee5a1.js"),["assets/inverter-7b2ee5a1.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./youless/device.vue":()=>e(()=>import("./device-76988bf6.js"),["assets/device-76988bf6.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./youless/inverter.vue":()=>e(()=>import("./inverter-ffe5a718.js"),["assets/inverter-ffe5a718.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"])}),`./${this.deviceType}/${this.componentType}.vue`),errorComponent:S}):W({loader:()=>M(Object.assign({"./alpha_ess/device.vue":()=>e(()=>import("./device-422dcf91.js"),["assets/device-422dcf91.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./azzurro_sofar/device.vue":()=>e(()=>import("./device-d8e5b4d3.js"),["assets/device-d8e5b4d3.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./azzurro_zcs/device.vue":()=>e(()=>import("./device-e94286a1.js"),["assets/device-e94286a1.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./batterx/device.vue":()=>e(()=>import("./device-e48fc6eb.js"),["assets/device-e48fc6eb.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./benning/device.vue":()=>e(()=>import("./device-bb77aac5.js"),["assets/device-bb77aac5.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./byd/device.vue":()=>e(()=>import("./device-83d0d1d2.js"),["assets/device-83d0d1d2.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./carlo_gavazzi/device.vue":()=>e(()=>import("./device-efd97f38.js"),["assets/device-efd97f38.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./deye/device.vue":()=>e(()=>import("./device-b2ed509d.js"),["assets/device-b2ed509d.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./discovergy/device.vue":()=>e(()=>import("./device-d91608b1.js"),["assets/device-d91608b1.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./e3dc/device.vue":()=>e(()=>import("./device-a451e048.js"),["assets/device-a451e048.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./enphase/device.vue":()=>e(()=>import("./device-fa4ff080.js"),["assets/device-fa4ff080.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./fems/device.vue":()=>e(()=>import("./device-eb8d7119.js"),["assets/device-eb8d7119.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./fronius/device.vue":()=>e(()=>import("./device-a0c2d57b.js"),["assets/device-a0c2d57b.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./good_we/device.vue":()=>e(()=>import("./device-4c06c2b2.js"),["assets/device-4c06c2b2.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./http/device.vue":()=>e(()=>import("./device-94e477af.js"),["assets/device-94e477af.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./huawei/device.vue":()=>e(()=>import("./device-2ea31ec7.js"),["assets/device-2ea31ec7.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./huawei_smartlogger/device.vue":()=>e(()=>import("./device-05f612f2.js"),["assets/device-05f612f2.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./janitza/device.vue":()=>e(()=>import("./device-f3eb75a3.js"),["assets/device-f3eb75a3.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./json/device.vue":()=>e(()=>import("./device-3f06f01a.js"),["assets/device-3f06f01a.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./kostal_piko/device.vue":()=>e(()=>import("./device-ed3f1885.js"),["assets/device-ed3f1885.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./kostal_piko_old/device.vue":()=>e(()=>import("./device-b31c67e4.js"),["assets/device-b31c67e4.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./kostal_plenticore/device.vue":()=>e(()=>import("./device-77a56e1d.js"),["assets/device-77a56e1d.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./kostal_sem/device.vue":()=>e(()=>import("./device-146e5f9d.js"),["assets/device-146e5f9d.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./kostal_steca/device.vue":()=>e(()=>import("./device-b80c9dca.js"),["assets/device-b80c9dca.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./lg/device.vue":()=>e(()=>import("./device-2ff10261.js"),["assets/device-2ff10261.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./mqtt/device.vue":()=>e(()=>import("./device-4a2b6383.js"),["assets/device-4a2b6383.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./opendtu/device.vue":()=>e(()=>import("./device-ba3ffbd6.js"),["assets/device-ba3ffbd6.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./openwb_bat_kit/device.vue":()=>e(()=>import("./device-0bbdcef0.js"),["assets/device-0bbdcef0.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./openwb_evu_kit/device.vue":()=>e(()=>import("./device-a8567774.js"),["assets/device-a8567774.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./openwb_flex/device.vue":()=>e(()=>import("./device-31d96f27.js"),["assets/device-31d96f27.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./openwb_pv_kit/device.vue":()=>e(()=>import("./device-89ec12b4.js"),["assets/device-89ec12b4.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./powerdog/device.vue":()=>e(()=>import("./device-f32c8a87.js"),["assets/device-f32c8a87.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./powerfox/device.vue":()=>e(()=>import("./device-46a3ff2e.js"),["assets/device-46a3ff2e.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./qcells/device.vue":()=>e(()=>import("./device-e729de90.js"),["assets/device-e729de90.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./rct/device.vue":()=>e(()=>import("./device-a88cf134.js"),["assets/device-a88cf134.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./saxpower/device.vue":()=>e(()=>import("./device-3fca2c08.js"),["assets/device-3fca2c08.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./shelly/device.vue":()=>e(()=>import("./device-af91cf00.js"),["assets/device-af91cf00.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./siemens/device.vue":()=>e(()=>import("./device-fbac7aa9.js"),["assets/device-fbac7aa9.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./siemens_sentron/device.vue":()=>e(()=>import("./device-bdcb209b.js"),["assets/device-bdcb209b.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./sma_shm/device.vue":()=>e(()=>import("./device-c032eaff.js"),["assets/device-c032eaff.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./sma_sunny_boy/device.vue":()=>e(()=>import("./device-3a743e8e.js"),["assets/device-3a743e8e.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./sma_sunny_island/device.vue":()=>e(()=>import("./device-68558272.js"),["assets/device-68558272.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./sma_webbox/device.vue":()=>e(()=>import("./device-95a82c98.js"),["assets/device-95a82c98.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./smart_me/device.vue":()=>e(()=>import("./device-4016ebdc.js"),["assets/device-4016ebdc.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./smartfox/device.vue":()=>e(()=>import("./device-c5f12afe.js"),["assets/device-c5f12afe.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./solar_log/device.vue":()=>e(()=>import("./device-a98bdda8.js"),["assets/device-a98bdda8.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./solar_view/device.vue":()=>e(()=>import("./device-66142994.js"),["assets/device-66142994.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./solar_watt/device.vue":()=>e(()=>import("./device-bdb190b0.js"),["assets/device-bdb190b0.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./solar_world/device.vue":()=>e(()=>import("./device-4ee21df6.js"),["assets/device-4ee21df6.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./solaredge/device.vue":()=>e(()=>import("./device-2212b92d.js"),["assets/device-2212b92d.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./solarmax/device.vue":()=>e(()=>import("./device-eca45af0.js"),["assets/device-eca45af0.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./solax/device.vue":()=>e(()=>import("./device-68c42e56.js"),["assets/device-68c42e56.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./sonnenbatterie/device.vue":()=>e(()=>import("./device-9e5b2984.js"),["assets/device-9e5b2984.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./studer/device.vue":()=>e(()=>import("./device-fc31f82d.js"),["assets/device-fc31f82d.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./sungrow/device.vue":()=>e(()=>import("./device-536464f7.js"),["assets/device-536464f7.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./sunways/device.vue":()=>e(()=>import("./device-974644de.js"),["assets/device-974644de.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./tesla/device.vue":()=>e(()=>import("./device-103ad9f6.js"),["assets/device-103ad9f6.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./varta/device.vue":()=>e(()=>import("./device-7f54ce45.js"),["assets/device-7f54ce45.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./victron/device.vue":()=>e(()=>import("./device-d2c1b1df.js"),["assets/device-d2c1b1df.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./virtual/device.vue":()=>e(()=>import("./device-3f08eba4.js"),["assets/device-3f08eba4.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./vzlogger/device.vue":()=>e(()=>import("./device-1eddf414.js"),["assets/device-1eddf414.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./youless/device.vue":()=>e(()=>import("./device-76988bf6.js"),["assets/device-76988bf6.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"])}),`./${this.deviceType}/device.vue`),errorComponent:S})}},methods:{updateConfiguration(_){this.$emit("update:configuration",_)}}};function se(_,i,u,P,s,r){return d(),E($(r.myComponent),{configuration:u.configuration,deviceId:u.deviceId,deviceType:u.deviceType,componentId:u.componentId,componentType:u.componentType,"onUpdate:configuration":i[0]||(i[0]=I=>r.updateConfiguration(I))},null,40,["configuration","deviceId","deviceType","componentId","componentType"])}const me=y(ae,[["render",se],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/OpenwbConfigProxy.vue"]]);N.add(U,G,F,H,J,Z,Q);const pe={name:"OpenwbHardwareInstallation",mixins:[Y],emits:["sendCommand"],components:{FontAwesomeIcon:X,OpenwbConfigProxy:me},data(){return{mqttTopicsToSubscribe:["openWB/general/extern","openWB/counter/get/hierarchy","openWB/system/device/+/config","openWB/system/device/+/component/+/config","openWB/system/configurable/devices_components"],deviceToAdd:void 0,showDeviceRemoveModal:!1,modalDevice:void 0,modalDeviceName:"",componentToAdd:[],showComponentRemoveModal:!1,modalComponent:void 0,modalComponentName:""}},computed:{installedDevices:{get(){return this.getWildcardTopics("openWB/system/device/+/config")}},installedComponents:{get(){return this.getWildcardTopics("openWB/system/device/+/component/+/config")}}},methods:{getComponentTypeClass(_){return _.match(/^(.+_)?counter(_.+)?$/)?"danger":_.match(/^(.+_)?inverter(_.+)?$/)?"success":_.match(/^(.+_)?bat(_.+)?$/)?"warning":"dark"},getComponentTypeIcon(_){return _.match(/^(.+_)?counter(_.+)?$/)?["fas","fa-gauge-high"]:_.match(/^(.+_)?inverter(_.+)?$/)?["fas","fa-solar-panel"]:_.match(/^(.+_)?bat(_.+)?$/)?["fas","fa-car-battery"]:["fas","fa-microchip"]},getMyInstalledComponents(_){return this.getWildcardTopics("openWB/system/device/"+_+"/component/+/config")},deviceHasConfiguredComponents(_){return Object.keys(this.getMyInstalledComponents(_)).length>0},addDevice(){this.$emit("sendCommand",{command:"addDevice",data:{type:this.deviceToAdd}})},removeDeviceModal(_,i,u){u.stopPropagation(),this.modalDevice=_,this.modalDeviceName=i,this.showDeviceRemoveModal=!0},removeDevice(_){this.showDeviceRemoveModal=!1,_=="confirm"&&(console.info("request removal of device '"+this.modalDevice+"'"),this.$emit("sendCommand",{command:"removeDevice",data:{id:this.modalDevice}}))},getDeviceList(){return this.$store.state.mqtt["openWB/system/configurable/devices_components"]},addComponent(_,i,u){this.$emit("sendCommand",{command:"addComponent",data:{deviceId:_,deviceType:i,type:u}})},removeComponentModal(_,i,u,P,s){s.stopPropagation(),this.modalComponent={deviceId:_,id:i,type:u},this.modalComponentName=P,this.showComponentRemoveModal=!0},removeComponent(_){this.showComponentRemoveModal=!1,_=="confirm"&&(console.info("request removal of component '"+this.modalComponent.id+"' from device '"+this.modalComponent.deviceId+"' type '"+this.modalComponent.type+"'"),this.$emit("sendCommand",{command:"removeComponent",data:this.modalComponent}))},getComponentList(_){return _===void 0?[]:(console.debug("finding components for '"+_+"'"),this.$store.state.mqtt["openWB/system/configurable/devices_components"].find(u=>u.value===_).component)},updateConfiguration(_,i){console.debug("updateConfiguration",_,i),this.updateState(_,i.value,i.object)}}},l=_=>(ee("data-v-8595d6ae"),_=_(),_e(),_),ce={class:"hardwareInstallation"},Ee={name:"hardwareInstallationForm"},le={key:0},Te={key:1},Ie={key:1},Ve=l(()=>m("hr",null,null,-1)),De=l(()=>m("hr",null,null,-1)),Ae=l(()=>m("hr",null,null,-1)),Re=l(()=>m("hr",null,null,-1)),Pe={class:"col-1"},Oe={key:0},Le={class:"col-1"},ge=l(()=>m("br",null,null,-1)),be=l(()=>m("br",null,null,-1)),fe=l(()=>m("br",null,null,-1)),he=l(()=>m("br",null,null,-1)),we=l(()=>m("br",null,null,-1)),ye=l(()=>m("br",null,null,-1));function ke(_,i,u,P,s,r){const I=p("openwb-base-modal-dialog"),L=p("router-link"),A=p("openwb-base-alert"),D=p("font-awesome-icon"),g=p("openwb-base-avatar"),k=p("openwb-base-text-input"),C=p("openwb-config-proxy"),j=p("openwb-base-heading"),b=p("openwb-base-card"),x=p("openwb-base-click-button"),z=p("openwb-base-select-input"),q=p("openwb-base-submit-buttons");return d(),c(O,null,[n(I,{show:s.showDeviceRemoveModal,title:"Gerät löschen",subtype:"danger",buttons:[{text:"Löschen",event:"confirm",subtype:"danger"}],onModalResult:r.removeDevice},{default:o(()=>[v(' Wollen Sie das Gerät "'+T(s.modalDeviceName)+'" inklusive aller Komponenten wirklich entfernen? Dieser Vorgang kann nicht rückgängig gemacht werden! ',1)]),_:1},8,["show","onModalResult"]),n(I,{show:s.showComponentRemoveModal,title:"Komponente löschen",subtype:"danger",buttons:[{text:"Löschen",event:"confirm",subtype:"danger"}],onModalResult:r.removeComponent},{default:o(()=>[v(' Wollen Sie die Komponente "'+T(s.modalComponentName)+'" wirklich entfernen? Dieser Vorgang kann nicht rückgängig gemacht werden! ',1)]),_:1},8,["show","onModalResult"]),m("div",ce,[m("form",Ee,[n(A,{subtype:"info"},{default:o(()=>[v(" Wenn neue Komponenten - insbesondere Zähler - konfiguriert wurden, ist auch das "),n(L,{to:"/LoadManagementConfiguration"},{default:o(()=>[v(" Lastmanagement ")]),_:1}),v(" zu prüfen! ")]),_:1}),n(b,{title:"Geräte und Komponenten"},{default:o(()=>[_.$store.state.mqtt["openWB/general/extern"]===!0?(d(),c("div",le,[n(A,{subtype:"info"},{default:o(()=>[v(' Diese Einstellungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. ')]),_:1})])):(d(),c("div",Te,[(d(!0),c(O,null,f(r.installedDevices,(t,B)=>(d(),E(b,{key:t.id,collapsible:!0,collapsed:!0,subtype:"dark"},{header:o(()=>[n(D,{"fixed-width":"",icon:["fas","network-wired"]}),v(" "+T(t.name),1)]),actions:o(a=>[a.collapsed?(d(),c("div",Ie,[(d(!0),c(O,null,f(r.getMyInstalledComponents(t.id),V=>(d(),E(g,{key:V.id,class:h("ml-1 bg-"+r.getComponentTypeClass(V.type))},{default:o(()=>[n(D,{"fixed-width":"",icon:r.getComponentTypeIcon(V.type)},null,8,["icon"])]),_:2},1032,["class"]))),128))])):(d(),E(g,{key:0,class:"bg-danger clickable",onClick:V=>r.removeDeviceModal(t.id,t.name,V)},{default:o(()=>[n(D,{"fixed-width":"",icon:["fas","trash"]})]),_:2},1032,["onClick"]))]),default:o(()=>[n(k,{title:"Bezeichnung",subtype:"text","model-value":t.name,"onUpdate:modelValue":a=>_.updateState(B,a,"name")},null,8,["model-value","onUpdate:modelValue"]),Ve,n(C,{deviceId:t.id,deviceType:t.type,configuration:t.configuration,"onUpdate:configuration":a=>r.updateConfiguration(B,a)},null,8,["deviceId","deviceType","configuration","onUpdate:configuration"]),De,n(j,null,{default:o(()=>[v("Komponenten")]),_:1}),r.deviceHasConfiguredComponents(t.id)?w("",!0):(d(),E(A,{key:0,subtype:"warning"},{default:o(()=>[v(" Es wurden noch keine Komponenten zu diesem Gerät angelegt. ")]),_:1})),(d(!0),c(O,null,f(r.getMyInstalledComponents(t.id),(a,V)=>(d(),E(b,{key:a.id,collapsible:!0,collapsed:!0,subtype:r.getComponentTypeClass(a.type)},{header:o(()=>[n(D,{"fixed-width":"",icon:r.getComponentTypeIcon(a.type)},null,8,["icon"]),v(" "+T(a.name),1)]),actions:o(R=>[R.collapsed?w("",!0):(d(),E(g,{key:0,class:"bg-danger clickable",onClick:K=>r.removeComponentModal(t.id,a.id,a.type,a.name,K)},{default:o(()=>[n(D,{"fixed-width":"",icon:["fas","trash"]})]),_:2},1032,["onClick"]))]),default:o(()=>[n(k,{title:"Bezeichnung",subtype:"text","model-value":a.name,"onUpdate:modelValue":R=>_.updateState(V,R,"name")},null,8,["model-value","onUpdate:modelValue"]),Ae,n(C,{deviceId:t.id,deviceType:t.type,componentId:a.id,componentType:a.type,configuration:a.configuration,"onUpdate:configuration":R=>r.updateConfiguration(V,R)},null,8,["deviceId","deviceType","componentId","componentType","configuration","onUpdate:configuration"])]),_:2},1032,["subtype"]))),128)),Re,r.getComponentList(t.type).length?(d(),E(z,{key:1,class:"mb-2",title:"Verfügbare Komponenten",notSelected:"Bitte auswählen",options:r.getComponentList(t.type),"model-value":s.componentToAdd[t.id],"onUpdate:modelValue":a=>s.componentToAdd[t.id]=a},{append:o(()=>[m("span",Pe,[n(x,{class:h(s.componentToAdd[t.id]===void 0?"btn-outline-success":"btn-success clickable"),disabled:s.componentToAdd[t.id]===void 0,onButtonClicked:a=>r.addComponent(t.id,t.type,s.componentToAdd[t.id])},{default:o(()=>[n(D,{"fixed-width":"",icon:["fas","plus"]})]),_:2},1032,["class","disabled","onButtonClicked"])])]),help:o(()=>[v(" Bitte eine Komponente auswählen, die hinzugefügt werden soll. Für jeden Datensatz, z.B. Wechselrichter- und Batteriedaten, muss eine Wechselrichter- und eine Batteriekomponente hinzugefügt werden. ")]),_:2},1032,["options","model-value","onUpdate:modelValue"])):(d(),E(A,{key:2,subtype:"info"},{default:o(()=>[v(" Dieses System bietet keine Komponenten zur Installation an. ")]),_:1}))]),_:2},1024))),128)),Object.keys(r.installedDevices).length>0?(d(),c("hr",Oe)):w("",!0),n(z,{class:"mb-2",title:"Verfügbare Geräte",notSelected:"Bitte auswählen",options:r.getDeviceList(),"model-value":s.deviceToAdd,"onUpdate:modelValue":i[0]||(i[0]=t=>s.deviceToAdd=t)},{append:o(()=>[m("span",Le,[n(x,{class:h(s.deviceToAdd===void 0?"btn-outline-success":"btn-success clickable"),disabled:s.deviceToAdd===void 0,onButtonClicked:r.addDevice},{default:o(()=>[n(D,{"fixed-width":"",icon:["fas","plus"]})]),_:1},8,["class","disabled","onButtonClicked"])])]),help:o(()=>[v(' Die openWB-Regelung ist auf Werte von MESSPUNKTEN (Zähler, Energy Meter usw.) angewiesen. Hierfür werden "Geräte" und "Komponenten" verwendet.'),ge,v(' Ein "Gerät" wird hierbei durch seine IP-Adresse spezifiziert (häufig durch manuelle Eingabe oder manchmal automatisch ermittelt) und kann über mehrere untergeordnete "Komponenten" verfügen, z.B. einen Messpunkt für PV-Erzeugung, einen Messpunkt für Netzeinspeisung/-bezug am EVU-Punkt usw.. Ein "Gerät" bedingt somit immer mindestens eine zugehörige "Komponente".'),be,fe,v(' Bsp: Werden die Werte von verschiedenen Messpunkten (z.B. PV und EVU) über die gleiche IP-Adresse abgefragt, wird dafür ein "Gerät" mit zwei "Komponenten" für PV- und EVU- Messpunkt angelegt.'),he,v(' Verfügt dagegen jeder Messpunkt über eine eigene IP-Adresse, wird jeder Messpunkt als eigenes "Gerät" mit nur einer "Komponente" angelegt.'),we,ye,v(' Das "Gerät" wird in der dropdown-Liste ausgewählt und mit "+" der Regelung hinzugefügt. Im Anschluss erfolgt die Konfiguration des "Gerätes" innerhalb des schwarzen "Geräte"-Reiters. ')]),_:1},8,["options","model-value"])]))]),_:1}),n(q,{formName:"hardwareInstallationForm",onSave:i[1]||(i[1]=t=>_.$emit("save")),onReset:i[2]||(i[2]=t=>_.$emit("reset")),onDefaults:i[3]||(i[3]=t=>_.$emit("defaults"))})])])],64)}const qe=y(pe,[["render",ke],["__scopeId","data-v-8595d6ae"],["__file","/opt/openWB-dev/openwb-ui-settings/src/views/HardwareInstallation.vue"]]);export{qe as default}; diff --git a/web/settings/assets/InstantChargeConfig-e5c73422.js b/web/settings/assets/InstantChargeConfig-b4b715b2.js similarity index 84% rename from web/settings/assets/InstantChargeConfig-e5c73422.js rename to web/settings/assets/InstantChargeConfig-b4b715b2.js index 04da74c864..15aca84be5 100644 --- a/web/settings/assets/InstantChargeConfig-e5c73422.js +++ b/web/settings/assets/InstantChargeConfig-b4b715b2.js @@ -1 +1 @@ -import{C as l}from"./index-131a952e.js";import{_,q as o,k as a,l as i,u as b,B as s,M as r,x as u}from"./vendor-f0f38b48.js";import"./vendor-fortawesome-9fdc06a9.js";import"./vendor-bootstrap-384bc385.js";import"./vendor-jquery-8576ed22.js";import"./vendor-axios-e59ef189.js";import"./vendor-sortablejs-cbf37f8f.js";const h={name:"OpenwbInstantChargeConfig",mixins:[l],data(){return{mqttTopicsToSubscribe:["openWB/general/extern","openWB/general/chargemode_config/instant_charging/phases_to_use"]}}},c={class:"instantChargeConfig"},f={name:"instantChargeConfigForm"},v={key:0},C={key:1};function w(t,e,$,B,k,V){const p=o("openwb-base-alert"),m=o("openwb-base-button-group-input"),g=o("openwb-base-card"),d=o("openwb-base-submit-buttons");return a(),i("div",c,[b("form",f,[s(g,{title:"Phasenumschaltung"},{default:r(()=>[t.$store.state.mqtt["openWB/general/extern"]===!0?(a(),i("div",v,[s(p,{subtype:"info"},{default:r(()=>[u(' Diese Einstellungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. ')]),_:1})])):(a(),i("div",C,[s(m,{title:"Anzahl Phasen",buttons:[{buttonValue:1,text:"1"},{buttonValue:3,text:"Maximum"}],"model-value":t.$store.state.mqtt["openWB/general/chargemode_config/instant_charging/phases_to_use"],"onUpdate:modelValue":e[0]||(e[0]=n=>t.updateState("openWB/general/chargemode_config/instant_charging/phases_to_use",n))},{help:r(()=>[u(' Hier kann eingestellt werden, ob Ladevorgänge im Modus "Sofortladen" mit nur einer Phase oder dem möglichen Maximum in Abhängigkeit der "Ladepunkt"- und "Fahrzeug"-Einstellungen durchgeführt werden. Voraussetzung ist die verbaute Umschaltmöglichkeit zwischen 1- und 3-phasig (s.g. 1p3p). ')]),_:1},8,["model-value"])]))]),_:1}),s(d,{formName:"instantChargeConfigForm",onSave:e[1]||(e[1]=n=>t.$emit("save")),onReset:e[2]||(e[2]=n=>t.$emit("reset")),onDefaults:e[3]||(e[3]=n=>t.$emit("defaults"))})])])}const N=_(h,[["render",w],["__file","/opt/openWB-dev/openwb-ui-settings/src/views/InstantChargeConfig.vue"]]);export{N as default}; +import{C as l}from"./index-eaa58995.js";import{_,q as o,k as a,l as i,u as b,B as s,M as r,x as u}from"./vendor-493c2bec.js";import"./vendor-fortawesome-542fe04f.js";import"./vendor-bootstrap-a615942d.js";import"./vendor-jquery-a64a4809.js";import"./vendor-axios-b1ba123b.js";import"./vendor-sortablejs-0b339223.js";const h={name:"OpenwbInstantChargeConfig",mixins:[l],data(){return{mqttTopicsToSubscribe:["openWB/general/extern","openWB/general/chargemode_config/instant_charging/phases_to_use"]}}},c={class:"instantChargeConfig"},f={name:"instantChargeConfigForm"},v={key:0},C={key:1};function w(t,e,$,B,k,V){const p=o("openwb-base-alert"),m=o("openwb-base-button-group-input"),g=o("openwb-base-card"),d=o("openwb-base-submit-buttons");return a(),i("div",c,[b("form",f,[s(g,{title:"Phasenumschaltung"},{default:r(()=>[t.$store.state.mqtt["openWB/general/extern"]===!0?(a(),i("div",v,[s(p,{subtype:"info"},{default:r(()=>[u(' Diese Einstellungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. ')]),_:1})])):(a(),i("div",C,[s(m,{title:"Anzahl Phasen",buttons:[{buttonValue:1,text:"1"},{buttonValue:3,text:"Maximum"}],"model-value":t.$store.state.mqtt["openWB/general/chargemode_config/instant_charging/phases_to_use"],"onUpdate:modelValue":e[0]||(e[0]=n=>t.updateState("openWB/general/chargemode_config/instant_charging/phases_to_use",n))},{help:r(()=>[u(' Hier kann eingestellt werden, ob Ladevorgänge im Modus "Sofortladen" mit nur einer Phase oder dem möglichen Maximum in Abhängigkeit der "Ladepunkt"- und "Fahrzeug"-Einstellungen durchgeführt werden. Voraussetzung ist die verbaute Umschaltmöglichkeit zwischen 1- und 3-phasig (s.g. 1p3p). ')]),_:1},8,["model-value"])]))]),_:1}),s(d,{formName:"instantChargeConfigForm",onSave:e[1]||(e[1]=n=>t.$emit("save")),onReset:e[2]||(e[2]=n=>t.$emit("reset")),onDefaults:e[3]||(e[3]=n=>t.$emit("defaults"))})])])}const N=_(h,[["render",w],["__file","/opt/openWB-dev/openwb-ui-settings/src/views/InstantChargeConfig.vue"]]);export{N as default}; diff --git a/web/settings/assets/LegalSettings-3fb8ec8f.js b/web/settings/assets/LegalSettings-5e01de20.js similarity index 89% rename from web/settings/assets/LegalSettings-3fb8ec8f.js rename to web/settings/assets/LegalSettings-5e01de20.js index 380094870f..601d448411 100644 --- a/web/settings/assets/LegalSettings-3fb8ec8f.js +++ b/web/settings/assets/LegalSettings-5e01de20.js @@ -1 +1 @@ -import{l as f,a7 as k,F as h}from"./vendor-fortawesome-9fdc06a9.js";import{C as y}from"./index-131a952e.js";import{_ as v,q as n,k as r,l as B,u as i,B as o,M as a,z as m,x as d,A as c}from"./vendor-f0f38b48.js";import"./vendor-bootstrap-384bc385.js";import"./vendor-jquery-8576ed22.js";import"./vendor-axios-e59ef189.js";import"./vendor-sortablejs-cbf37f8f.js";f.add(k);const z={name:"OpenwbDataProtection",components:{FontAwesomeIcon:h},mixins:[y],emits:["sendCommand"],data(){return{mqttTopicsToSubscribe:["openWB/system/dataprotection_acknowledged"]}},methods:{sendSystemCommand(t,e={}){this.$emit("sendCommand",{command:t,data:e})}}},S={class:"dataProtection"},$={name:"dataProtectionForm"},C=i("iframe",{src:"dataProtection-usageTerms.html",width:"100%",height:"400px",class:"bg-light"},null,-1),V=i("hr",null,null,-1),W={class:"row justify-content-center"},N={class:"col-md-4 d-flex justify-content-center"};function x(t,e,A,q,P,p){const u=n("openwb-base-button-group-input"),b=n("font-awesome-icon"),_=n("openwb-base-click-button"),l=n("openwb-base-alert"),g=n("openwb-base-submit-buttons"),w=n("openwb-base-card");return r(),B("div",S,[i("form",$,[o(w,{title:"Nutzungsbedingungen & Datenschutzerklärung"},{footer:a(()=>[o(g,{formName:"dataProtectionForm",hideReset:!0,hideDefaults:!0,onSave:e[3]||(e[3]=s=>t.$emit("save"))})]),default:a(()=>[C,V,o(u,{title:"Nutzungsbedingungen",buttons:[{buttonValue:!1,text:"Ablehnen",class:"btn-outline-danger"},{buttonValue:!0,text:"Akzeptieren",class:"btn-outline-success"}],"model-value":t.$store.state.mqtt["openWB/system/usage_terms_acknowledged"],"onUpdate:modelValue":e[0]||(e[0]=s=>t.updateState("openWB/system/usage_terms_acknowledged",s))},null,8,["model-value"]),t.$store.state.mqtt["openWB/system/usage_terms_acknowledged"]?c("",!0):(r(),m(l,{key:0,subtype:"danger",class:"mb-1"},{default:a(()=>[d(" Sie müssen die Nutzungsbedingungen akzeptieren, bevor openWB eingesetzt werden kann. "),i("div",W,[i("div",N,[o(_,{class:"btn-danger",onButtonClicked:e[1]||(e[1]=s=>p.sendSystemCommand("systemShutdown"))},{default:a(()=>[d(" Nicht akzeptieren und ausschalten "),o(b,{"fixed-width":"",icon:["fas","power-off"]})]),_:1})])])]),_:1})),o(u,{title:"Datenschutzerklärung",buttons:[{buttonValue:!1,text:"Ablehnen",class:"btn-outline-danger"},{buttonValue:!0,text:"Akzeptieren",class:"btn-outline-success"}],"model-value":t.$store.state.mqtt["openWB/system/dataprotection_acknowledged"],"onUpdate:modelValue":e[2]||(e[2]=s=>t.updateState("openWB/system/dataprotection_acknowledged",s))},null,8,["model-value"]),t.$store.state.mqtt["openWB/system/dataprotection_acknowledged"]?c("",!0):(r(),m(l,{key:1,subtype:"warning"},{default:a(()=>[d(" Wenn sie nicht einwilligen, wird eine ggf. konfigurierte Cloud Anbindung gelöscht. Die openWB arbeitet autark wie gewohnt weiter. Fernzugriff und Remote Support sind dann nicht mehr möglich! ")]),_:1}))]),_:1})])])}const U=v(z,[["render",x],["__file","/opt/openWB-dev/openwb-ui-settings/src/views/LegalSettings.vue"]]);export{U as default}; +import{l as f,a9 as k,F as h}from"./vendor-fortawesome-542fe04f.js";import{C as y}from"./index-eaa58995.js";import{_ as v,q as n,k as r,l as B,u as i,B as o,M as a,z as m,x as d,A as c}from"./vendor-493c2bec.js";import"./vendor-bootstrap-a615942d.js";import"./vendor-jquery-a64a4809.js";import"./vendor-axios-b1ba123b.js";import"./vendor-sortablejs-0b339223.js";f.add(k);const z={name:"OpenwbDataProtection",components:{FontAwesomeIcon:h},mixins:[y],emits:["sendCommand"],data(){return{mqttTopicsToSubscribe:["openWB/system/dataprotection_acknowledged"]}},methods:{sendSystemCommand(t,e={}){this.$emit("sendCommand",{command:t,data:e})}}},S={class:"dataProtection"},$={name:"dataProtectionForm"},C=i("iframe",{src:"dataProtection-usageTerms.html",width:"100%",height:"400px",class:"bg-light"},null,-1),V=i("hr",null,null,-1),W={class:"row justify-content-center"},N={class:"col-md-4 d-flex justify-content-center"};function x(t,e,A,q,P,p){const u=n("openwb-base-button-group-input"),b=n("font-awesome-icon"),_=n("openwb-base-click-button"),l=n("openwb-base-alert"),g=n("openwb-base-submit-buttons"),w=n("openwb-base-card");return r(),B("div",S,[i("form",$,[o(w,{title:"Nutzungsbedingungen & Datenschutzerklärung"},{footer:a(()=>[o(g,{formName:"dataProtectionForm",hideReset:!0,hideDefaults:!0,onSave:e[3]||(e[3]=s=>t.$emit("save"))})]),default:a(()=>[C,V,o(u,{title:"Nutzungsbedingungen",buttons:[{buttonValue:!1,text:"Ablehnen",class:"btn-outline-danger"},{buttonValue:!0,text:"Akzeptieren",class:"btn-outline-success"}],"model-value":t.$store.state.mqtt["openWB/system/usage_terms_acknowledged"],"onUpdate:modelValue":e[0]||(e[0]=s=>t.updateState("openWB/system/usage_terms_acknowledged",s))},null,8,["model-value"]),t.$store.state.mqtt["openWB/system/usage_terms_acknowledged"]?c("",!0):(r(),m(l,{key:0,subtype:"danger",class:"mb-1"},{default:a(()=>[d(" Sie müssen die Nutzungsbedingungen akzeptieren, bevor openWB eingesetzt werden kann. "),i("div",W,[i("div",N,[o(_,{class:"btn-danger",onButtonClicked:e[1]||(e[1]=s=>p.sendSystemCommand("systemShutdown"))},{default:a(()=>[d(" Nicht akzeptieren und ausschalten "),o(b,{"fixed-width":"",icon:["fas","power-off"]})]),_:1})])])]),_:1})),o(u,{title:"Datenschutzerklärung",buttons:[{buttonValue:!1,text:"Ablehnen",class:"btn-outline-danger"},{buttonValue:!0,text:"Akzeptieren",class:"btn-outline-success"}],"model-value":t.$store.state.mqtt["openWB/system/dataprotection_acknowledged"],"onUpdate:modelValue":e[2]||(e[2]=s=>t.updateState("openWB/system/dataprotection_acknowledged",s))},null,8,["model-value"]),t.$store.state.mqtt["openWB/system/dataprotection_acknowledged"]?c("",!0):(r(),m(l,{key:1,subtype:"warning"},{default:a(()=>[d(" Wenn sie nicht einwilligen, wird eine ggf. konfigurierte Cloud Anbindung gelöscht. Die openWB arbeitet autark wie gewohnt weiter. Fernzugriff und Remote Support sind dann nicht mehr möglich! ")]),_:1}))]),_:1})])])}const U=v(z,[["render",x],["__file","/opt/openWB-dev/openwb-ui-settings/src/views/LegalSettings.vue"]]);export{U as default}; diff --git a/web/settings/assets/LoadManagementConfig-650a9bcf.js b/web/settings/assets/LoadManagementConfig-650a9bcf.js new file mode 100644 index 0000000000..d1e5f83d1c --- /dev/null +++ b/web/settings/assets/LoadManagementConfig-650a9bcf.js @@ -0,0 +1 @@ +import{l as z,O as S,N as C,F as L}from"./vendor-fortawesome-542fe04f.js";import{C as $}from"./index-eaa58995.js";import{S as x}from"./OpenwbSortableList-8141a899.js";import{_ as V,q as d,k as l,l as u,u as m,B as r,M as i,x as s,I as _,J as v,z as w,y as k}from"./vendor-493c2bec.js";import"./vendor-bootstrap-a615942d.js";import"./vendor-jquery-a64a4809.js";import"./vendor-axios-b1ba123b.js";import"./vendor-sortablejs-0b339223.js";z.add(S,C);const M={name:"OpenwbLoadManagementConfig",mixins:[$],emits:["sendCommand"],components:{SortableList:x,FontAwesomeIcon:L},data(){return{mqttTopicsToSubscribe:["openWB/general/extern","openWB/counter/config/reserve_for_not_charging","openWB/counter/get/hierarchy","openWB/system/device/+/component/+/config","openWB/counter/+/config/max_currents","openWB/counter/+/config/max_total_power","openWB/pv/+/config/max_ac_out","openWB/chargepoint/+/config"]}},computed:{counterConfigs:{get(){let e=this.getWildcardTopics("openWB/system/device/+/component/+/config");return Object.keys(e).filter(t=>e[t].type.includes("counter")).reduce((t,o)=>({...t,[o]:e[o]}),{})}},inverterConfigs:{get(){let e=this.getWildcardTopics("openWB/system/device/+/component/+/config");return Object.keys(e).filter(t=>e[t].type.includes("inverter")).reduce((t,o)=>({...t,[o]:e[o]}),{})}},hierarchyLabels:{get(){let e={};for(const t of Object.values(this.$store.state.mqtt["openWB/counter/get/hierarchy"]))e={...e,...this.getElementTreeNames(t)};return e}}},methods:{getElementTreeNames(e){let t={};if(e.type=="cp"){let o=this.getChargePoint(e.id);o&&(t[e.id]=o.name)}else{let o=this.getComponent(e.id);o&&(t[e.id]=o.name)}return e.children.forEach(o=>{t={...t,...this.getElementTreeNames(o)}}),t},getComponent(e){let t;return Object.keys(this.$store.state.mqtt).forEach(o=>{o.match("^openWB/system/device/[0-9]+/component/"+e+"/config$")&&(t=this.$store.state.mqtt[o])}),t},getChargePoint(e){let t;return Object.keys(this.$store.state.mqtt).forEach(o=>{o.match("^openWB/chargepoint/"+e+"/config$")&&(t=this.$store.state.mqtt[o])}),t}}},q={class:"loadManagementConfig"},Z={name:"loadManagementConfigForm"},F={key:0},U={key:1},D=m("p",null," Wenn angesteckte Fahrzeuge, die nicht laden, im Lastmanagement berücksichtigt werden, wird für diese der Fahrzeug-Mindeststrom bei vorliegender Ladefreigabe reserviert. Dadurch können bei Eingreifen des Lastmanagements andere Fahrzeuge möglicherweise nur mit reduzierter Stromstärke laden und der reservierte Strom wird nicht genutzt. Wenn die Fahrzeuge wieder Leistung beziehen, z.B. um vorzuklimatisieren, nutzen sie den für sie reservierten Strom. ",-1),E=m("p",null," Wenn angesteckte Fahrzeuge, die nicht laden, nicht im Lastmanagement berücksichtigt werden, wird für diese auch kein Strom bei vorliegender Ladefreigabe reserviert. Andere Fahrzeuge können dadurch mit höherer Stromstärke laden. Wenn die maximalen Lastmanagement-Grenzen fast erreicht sind und die Fahrzeuge wieder Leistung beziehen, z.B. um vorzuklimatisieren, kann es zu einer kurzzeitigen Überschreitung der Lastmanagement-Grenzen kommen, bis im nächsten Zyklus die Stromstärken aller Ladepunkte an die neue Situation angepasst wurden. Das kurzzeitige Überschreiten der Maximal-Werte stellt für die Sicherungen in der Regel kein Problem dar. ",-1),A={key:0},N={key:1},P=m("br",null,null,-1),T=m("br",null,null,-1),O=m("br",null,null,-1);function j(e,t,o,R,G,g){const h=d("openwb-base-alert"),W=d("openwb-base-button-group-input"),f=d("openwb-base-heading"),b=d("font-awesome-icon"),c=d("openwb-base-number-input"),p=d("openwb-base-card"),B=d("sortable-list"),y=d("openwb-base-submit-buttons");return l(),u("div",q,[m("form",Z,[r(p,{title:"Einstellungen",collapsible:!0,collapsed:!1},{default:i(()=>[e.$store.state.mqtt["openWB/general/extern"]===!0?(l(),u("div",F,[r(h,{subtype:"info"},{default:i(()=>[s(' Diese Einstellungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. ')]),_:1})])):(l(),u("div",U,[r(W,{title:"Nicht-ladende Fahrzeuge",buttons:[{buttonValue:!1,text:"nicht berücksichtigen",class:"btn-outline-danger"},{buttonValue:!0,text:"berücksichtigen",class:"btn-outline-success"}],"model-value":e.$store.state.mqtt["openWB/counter/config/reserve_for_not_charging"],"onUpdate:modelValue":t[0]||(t[0]=n=>e.updateState("openWB/counter/config/reserve_for_not_charging",n))},{help:i(()=>[D,E]),_:1},8,["model-value"]),r(f,null,{default:i(()=>[s(" Vorhandene Zählermodule ")]),_:1}),r(h,{subtype:"info"},{default:i(()=>[s(" Die maximale Leistung wird nur für den EVU-Zähler berücksichtigt. Bei Zwischenzählern begrenzt das Lastmanagement rein anhand der maximalen Phasenströme. ")]),_:1}),(l(!0),u(_,null,v(g.counterConfigs,n=>(l(),w(p,{key:n.id,collapsible:!0,collapsed:!0,subtype:"danger"},{header:i(()=>[r(b,{"fixed-width":"",icon:["fas","gauge-high"]}),s(" "+k(n.name),1)]),default:i(()=>[r(c,{title:"Maximale Leistung",min:1,step:1,unit:"kW","model-value":e.$store.state.mqtt["openWB/counter/"+n.id+"/config/max_total_power"]/1e3,"onUpdate:modelValue":a=>e.updateState("openWB/counter/"+n.id+"/config/max_total_power",a*1e3)},{help:i(()=>[s(" Maximal zulässige Leistung für diesen (Zwischen-)Zähler. ")]),_:2},1032,["model-value","onUpdate:modelValue"]),r(c,{title:"Maximaler Strom L1",min:16,step:1,unit:"A","model-value":e.$store.state.mqtt["openWB/counter/"+n.id+"/config/max_currents"][0],"onUpdate:modelValue":a=>e.updateState("openWB/counter/"+n.id+"/config/max_currents",a,"0")},{help:i(()=>[s(" Maximal zulässiger Strom für die Phase 1 dieses (Zwischen-)Zählers. ")]),_:2},1032,["model-value","onUpdate:modelValue"]),r(c,{title:"Maximaler Strom L2",min:16,step:1,unit:"A","model-value":e.$store.state.mqtt["openWB/counter/"+n.id+"/config/max_currents"][1],"onUpdate:modelValue":a=>e.updateState("openWB/counter/"+n.id+"/config/max_currents",a,"1")},{help:i(()=>[s(" Maximal zulässiger Strom für die Phase 2 dieses (Zwischen-)Zählers. ")]),_:2},1032,["model-value","onUpdate:modelValue"]),r(c,{title:"Maximaler Strom L3",min:16,step:1,unit:"A","model-value":e.$store.state.mqtt["openWB/counter/"+n.id+"/config/max_currents"][2],"onUpdate:modelValue":a=>e.updateState("openWB/counter/"+n.id+"/config/max_currents",a,"2")},{help:i(()=>[s(" Maximal zulässiger Strom für die Phase 3 dieses (Zwischen-)Zählers. ")]),_:2},1032,["model-value","onUpdate:modelValue"])]),_:2},1024))),128)),r(f,null,{default:i(()=>[s(" Vorhandene Wechselrichtermodule ")]),_:1}),(l(!0),u(_,null,v(g.inverterConfigs,n=>(l(),w(p,{key:n.id,collapsible:!0,collapsed:!0,subtype:"success"},{header:i(()=>[r(b,{"fixed-width":"",icon:["fas","solar-panel"]}),s(" "+k(n.name),1)]),default:i(()=>[r(c,{title:"Maximale Ausgangsleistung des Wechselrichters",min:0,step:.1,unit:"kW","model-value":e.$store.state.mqtt["openWB/pv/"+n.id+"/config/max_ac_out"]/1e3,"onUpdate:modelValue":a=>e.updateState("openWB/pv/"+n.id+"/config/max_ac_out",a*1e3)},{help:i(()=>[s(" Relevant bei Hybrid-Systemen mit DC-Speicher. ")]),_:2},1032,["model-value","onUpdate:modelValue"])]),_:2},1024))),128))]))]),_:1}),r(p,{title:"Struktur",collapsible:!0,collapsed:!0},{default:i(()=>[e.$store.state.mqtt["openWB/general/extern"]===!0?(l(),u("div",A,[r(h,{subtype:"info"},{default:i(()=>[s(' Diese Einstellungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. ')]),_:1})])):(l(),u("div",N,[r(B,{title:"Anordnung der Komponenten","model-value":e.$store.state.mqtt["openWB/counter/get/hierarchy"],"onUpdate:modelValue":t[1]||(t[1]=n=>e.updateState("openWB/counter/get/hierarchy",n)),labels:g.hierarchyLabels},{help:i(()=>[s(" Durch die Anordnung der Komponenten werden Abhängigkeiten abgebildet."),P,s(" An erster Stelle muss eine Zählerkomponente stehen, die den Netzanschlusspunkt erfasst. Dafür kann auch ein virtueller Zähler genutzt werden."),T,s(" Die weiteren Komponenten müssen hierarchisch so angeordnet werden, wie sie auch physisch im Stromnetz angeschlossen werden."),O,s(" Bei DC-gekoppelten Speichern sind diese hinter dem zugehörigen Wechselrichter zu platzieren, damit die Abhängigkeit in der Regelung berücksichtigt werden kann. ")]),_:1},8,["model-value","labels"])]))]),_:1}),r(y,{formName:"loadManagementConfigForm",onSave:t[2]||(t[2]=n=>e.$emit("save")),onReset:t[3]||(t[3]=n=>e.$emit("reset")),onDefaults:t[4]||(t[4]=n=>e.$emit("defaults"))})])])}const te=V(M,[["render",j],["__file","/opt/openWB-dev/openwb-ui-settings/src/views/LoadManagementConfig.vue"]]);export{te as default}; diff --git a/web/settings/assets/LoadManagementConfig-e1c0adff.js b/web/settings/assets/LoadManagementConfig-e1c0adff.js deleted file mode 100644 index 2d1ca4e582..0000000000 --- a/web/settings/assets/LoadManagementConfig-e1c0adff.js +++ /dev/null @@ -1 +0,0 @@ -import{l as z,O as S,N as C,F as L}from"./vendor-fortawesome-9fdc06a9.js";import{C as $}from"./index-131a952e.js";import{S as x}from"./OpenwbSortableList-e04fc271.js";import{_ as V,q as u,k as l,l as m,u as d,B as s,M as r,x as o,I as _,J as v,z as w,y as k}from"./vendor-f0f38b48.js";import"./vendor-bootstrap-384bc385.js";import"./vendor-jquery-8576ed22.js";import"./vendor-axios-e59ef189.js";import"./vendor-sortablejs-cbf37f8f.js";z.add(S,C);const M={name:"OpenwbLoadManagementConfig",mixins:[$],emits:["sendCommand"],components:{SortableList:x,FontAwesomeIcon:L},data(){return{mqttTopicsToSubscribe:["openWB/general/extern","openWB/counter/config/reserve_for_not_charging","openWB/counter/get/hierarchy","openWB/system/device/+/component/+/config","openWB/counter/+/config/max_currents","openWB/counter/+/config/max_total_power","openWB/pv/+/config/max_ac_out","openWB/chargepoint/+/config"]}},computed:{counterConfigs:{get(){let e=this.getWildcardTopics("openWB/system/device/+/component/+/config");return Object.keys(e).filter(t=>e[t].type.includes("counter")).reduce((t,i)=>({...t,[i]:e[i]}),{})}},inverterConfigs:{get(){let e=this.getWildcardTopics("openWB/system/device/+/component/+/config");return Object.keys(e).filter(t=>e[t].type.includes("inverter")).reduce((t,i)=>({...t,[i]:e[i]}),{})}},hierarchyLabels:{get(){let e={};for(const t of Object.values(this.$store.state.mqtt["openWB/counter/get/hierarchy"]))e={...e,...this.getElementTreeNames(t)};return e}}},methods:{getElementTreeNames(e){let t={};if(e.type=="cp"){let i=this.getChargePoint(e.id);i&&(t[e.id]=i.name)}else{let i=this.getComponent(e.id);i&&(t[e.id]=i.name)}return e.children.forEach(i=>{t={...t,...this.getElementTreeNames(i)}}),t},getComponent(e){let t;return Object.keys(this.$store.state.mqtt).forEach(i=>{i.match("^openWB/system/device/[0-9]+/component/"+e+"/config$")&&(t=this.$store.state.mqtt[i])}),t},getChargePoint(e){let t;return Object.keys(this.$store.state.mqtt).forEach(i=>{i.match("^openWB/chargepoint/"+e+"/config$")&&(t=this.$store.state.mqtt[i])}),t}}},q={class:"loadManagementConfig"},Z={name:"loadManagementConfigForm"},E={key:0},F={key:1},U=d("br",null,null,-1),A=d("br",null,null,-1),D=d("br",null,null,-1),N=d("br",null,null,-1),P=d("br",null,null,-1),T={key:0},O={key:1},j=d("br",null,null,-1),R=d("br",null,null,-1),G=d("br",null,null,-1);function K(e,t,i,H,I,g){const h=u("openwb-base-alert"),W=u("openwb-base-button-group-input"),f=u("openwb-base-heading"),b=u("font-awesome-icon"),c=u("openwb-base-number-input"),p=u("openwb-base-card"),B=u("sortable-list"),y=u("openwb-base-submit-buttons");return l(),m("div",q,[d("form",Z,[s(p,{title:"Einstellungen",collapsible:!0,collapsed:!1},{default:r(()=>[e.$store.state.mqtt["openWB/general/extern"]===!0?(l(),m("div",E,[s(h,{subtype:"info"},{default:r(()=>[o(' Diese Einstellungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. ')]),_:1})])):(l(),m("div",F,[s(W,{title:"Nicht-ladende Fahrzeuge",buttons:[{buttonValue:!1,text:"nicht berücksichtigen",class:"btn-outline-danger"},{buttonValue:!0,text:"berücksichtigen",class:"btn-outline-success"}],"model-value":e.$store.state.mqtt["openWB/counter/config/reserve_for_not_charging"],"onUpdate:modelValue":t[0]||(t[0]=n=>e.updateState("openWB/counter/config/reserve_for_not_charging",n))},{help:r(()=>[o(" Wenn angesteckte Fahrzeuge, die nicht laden, im Lastmanagement berücksichtigt werden, wird für diese der Fahrzeug-Mindeststrom bei vorliegender Ladefreigabe reserviert. Dadurch können bei Eingreifen des Lastmanagements andere Fahrzeuge möglicherweise nur mit reduzierter Stromstärke laden und der reservierte Strom wird nicht genutzt."),U,o(" Wenn die Fahrzeuge wieder Leistung beziehen, z.B. um vorzuklimatisieren, nutzen sie den für sie reservierten Strom."),A,D,o(" Wenn angesteckte Fahrzeuge, die nicht laden, nicht im Lastmanagement berücksichtigt werden, wird für diese auch kein Strom bei vorliegender Ladefreigabe reserviert. Andere Fahrzeuge können dadurch mit höherer Stromstärke laden."),N,o(" Wenn die maximalen Lastmanagement-Grenzen fast erreicht sind und die Fahrzeuge wieder Leistung beziehen, z.B. um vorzuklimatisieren, kann es zu einer kurzzeitigen Überschreitung der Lastmanagement-Grenzen kommen, bis im nächsten Zyklus die Stromstärken ALLER Ladepunkte an die neue Situation angepasst wurden."),P,o(" Das kurzzeitige Überschreiten der Maximal-Werte stellt für die Sicherungen in der Regel kein Problem dar. ")]),_:1},8,["model-value"]),s(f,null,{default:r(()=>[o(" Vorhandene Zählermodule ")]),_:1}),s(h,{subtype:"info"},{default:r(()=>[o(" Die maximale Leistung wird nur für den EVU-Zähler berücksichtigt. Bei Zwischenzählern begrenzt das Lastmanagement rein anhand der maximalen Phasenströme. ")]),_:1}),(l(!0),m(_,null,v(g.counterConfigs,n=>(l(),w(p,{key:n.id,collapsible:!0,collapsed:!0,subtype:"danger"},{header:r(()=>[s(b,{"fixed-width":"",icon:["fas","gauge-high"]}),o(" "+k(n.name),1)]),default:r(()=>[s(c,{title:"Maximale Leistung",min:1,step:1,unit:"kW","model-value":e.$store.state.mqtt["openWB/counter/"+n.id+"/config/max_total_power"]/1e3,"onUpdate:modelValue":a=>e.updateState("openWB/counter/"+n.id+"/config/max_total_power",a*1e3)},{help:r(()=>[o(" Maximal zulässige Leistung für diesen (Zwischen-)Zähler. ")]),_:2},1032,["model-value","onUpdate:modelValue"]),s(c,{title:"Maximaler Strom L1",min:16,step:1,unit:"A","model-value":e.$store.state.mqtt["openWB/counter/"+n.id+"/config/max_currents"][0],"onUpdate:modelValue":a=>e.updateState("openWB/counter/"+n.id+"/config/max_currents",a,"0")},{help:r(()=>[o(" Maximal zulässiger Strom für die Phase 1 dieses (Zwischen-)Zählers. ")]),_:2},1032,["model-value","onUpdate:modelValue"]),s(c,{title:"Maximaler Strom L2",min:16,step:1,unit:"A","model-value":e.$store.state.mqtt["openWB/counter/"+n.id+"/config/max_currents"][1],"onUpdate:modelValue":a=>e.updateState("openWB/counter/"+n.id+"/config/max_currents",a,"1")},{help:r(()=>[o(" Maximal zulässiger Strom für die Phase 2 dieses (Zwischen-)Zählers. ")]),_:2},1032,["model-value","onUpdate:modelValue"]),s(c,{title:"Maximaler Strom L3",min:16,step:1,unit:"A","model-value":e.$store.state.mqtt["openWB/counter/"+n.id+"/config/max_currents"][2],"onUpdate:modelValue":a=>e.updateState("openWB/counter/"+n.id+"/config/max_currents",a,"2")},{help:r(()=>[o(" Maximal zulässiger Strom für die Phase 3 dieses (Zwischen-)Zählers. ")]),_:2},1032,["model-value","onUpdate:modelValue"])]),_:2},1024))),128)),s(f,null,{default:r(()=>[o(" Vorhandene Wechselrichtermodule ")]),_:1}),(l(!0),m(_,null,v(g.inverterConfigs,n=>(l(),w(p,{key:n.id,collapsible:!0,collapsed:!0,subtype:"success"},{header:r(()=>[s(b,{"fixed-width":"",icon:["fas","solar-panel"]}),o(" "+k(n.name),1)]),default:r(()=>[s(c,{title:"Maximale Ausgangsleistung des Wechselrichters",min:0,step:.1,unit:"kW","model-value":e.$store.state.mqtt["openWB/pv/"+n.id+"/config/max_ac_out"]/1e3,"onUpdate:modelValue":a=>e.updateState("openWB/pv/"+n.id+"/config/max_ac_out",a*1e3)},{help:r(()=>[o(" Relevant bei Hybrid-Systemen mit DC-Speicher. ")]),_:2},1032,["model-value","onUpdate:modelValue"])]),_:2},1024))),128))]))]),_:1}),s(p,{title:"Struktur",collapsible:!0,collapsed:!0},{default:r(()=>[e.$store.state.mqtt["openWB/general/extern"]===!0?(l(),m("div",T,[s(h,{subtype:"info"},{default:r(()=>[o(' Diese Einstellungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. ')]),_:1})])):(l(),m("div",O,[s(B,{title:"Anordnung der Komponenten","model-value":e.$store.state.mqtt["openWB/counter/get/hierarchy"],"onUpdate:modelValue":t[1]||(t[1]=n=>e.updateState("openWB/counter/get/hierarchy",n)),labels:g.hierarchyLabels},{help:r(()=>[o(" Durch die Anordnung der Komponenten werden Abhängigkeiten abgebildet."),j,o(" An erster Stelle muss eine Zählerkomponente stehen, die den Netzanschlusspunkt erfasst. Dafür kann auch ein virtueller Zähler genutzt werden."),R,o(" Die weiteren Komponenten müssen hierarchisch so angeordnet werden, wie sie auch physisch im Stromnetz angeschlossen werden."),G,o(" Bei DC-gekoppelten Speichern sind diese hinter dem zugehörigen Wechselrichter zu platzieren, damit die Abhängigkeit in der Regelung berücksichtigt werden kann. ")]),_:1},8,["model-value","labels"])]))]),_:1}),s(y,{formName:"loadManagementConfigForm",onSave:t[2]||(t[2]=n=>e.$emit("save")),onReset:t[3]||(t[3]=n=>e.$emit("reset")),onDefaults:t[4]||(t[4]=n=>e.$emit("defaults"))})])])}const ie=V(M,[["render",K],["__file","/opt/openWB-dev/openwb-ui-settings/src/views/LoadManagementConfig.vue"]]);export{ie as default}; diff --git a/web/settings/assets/MqttBridgeConfig-315aaa1b.js b/web/settings/assets/MqttBridgeConfig-315aaa1b.js new file mode 100644 index 0000000000..96e7c00161 --- /dev/null +++ b/web/settings/assets/MqttBridgeConfig-315aaa1b.js @@ -0,0 +1 @@ +import{l as C,d as q,a0 as A,F as z}from"./vendor-fortawesome-542fe04f.js";import{C as D}from"./index-eaa58995.js";import{_ as I,q as r,k as m,l as c,B as n,M as o,u as b,I as k,x as s,y,z as T,A as S,J as W,R as E,S as N}from"./vendor-493c2bec.js";import"./vendor-bootstrap-a615942d.js";import"./vendor-jquery-a64a4809.js";import"./vendor-axios-b1ba123b.js";import"./vendor-sortablejs-0b339223.js";C.add(q,A);const P={name:"OpenwbMqttBridgeConfiguration",mixins:[D],emits:["sendCommand"],components:{FontAwesomeIcon:z},data(){return{mqttTopicsToSubscribe:["openWB/general/extern","openWB/system/mqtt/bridge/+"],showMqttBridgeModal:!1,modalMqttBridgeIndex:void 0}},computed:{configuredMqttBridges:{get(){let e=this.getWildcardTopics("openWB/system/mqtt/bridge/+");for(const[u,g]of Object.entries(e))g.remote.is_openwb_cloud&&delete e[u];return e}}},methods:{addMqttBridge(e){e.stopPropagation(),this.$emit("sendCommand",{command:"addMqttBridge",data:{}})},getMqttBridgeIndex(e){return parseInt(e.match(/(?:\/)(\d+)$/)[1])},removeMqttBridgeModal(e,u){u.stopPropagation(),this.modalMqttBridgeIndex=this.getMqttBridgeIndex(e),this.showMqttBridgeModal=!0},removeMqttBridge(e,u){this.showMqttBridgeModal=!1,u=="confirm"&&(console.info("request removal of mqtt bridge '"+e+"'"),this.$emit("sendCommand",{command:"removeMqttBridge",data:{bridge:e}}))},getMqttBridgeName(e){return this.$store.state.mqtt["openWB/system/mqtt/bridge/"+e]?this.$store.state.mqtt["openWB/system/mqtt/bridge/"+e].name:e}}},_=e=>(E("data-v-1ec2f2f5"),e=e(),N(),e),Q={class:"mqttBridgeConfiguration"},Z=_(()=>b("br",null,null,-1)),F={key:0},L={key:1},$=["name"],O=_(()=>b("hr",null,null,-1)),R=_(()=>b("hr",null,null,-1));function j(e,u,g,J,f,i){const U=r("openwb-base-modal-dialog"),h=r("openwb-base-alert"),v=r("font-awesome-icon"),w=r("openwb-base-avatar"),p=r("openwb-base-text-input"),d=r("openwb-base-button-group-input"),V=r("openwb-base-heading"),B=r("openwb-base-number-input"),x=r("openwb-base-submit-buttons"),M=r("openwb-base-card");return m(),c(k,null,[n(U,{show:f.showMqttBridgeModal,title:"MQTT-Brücke löschen",subtype:"danger",buttons:[{text:"Löschen",event:"confirm",subtype:"danger"}],onModalResult:u[0]||(u[0]=l=>i.removeMqttBridge(f.modalMqttBridgeIndex,l))},{default:o(()=>[s(' Wollen Sie die MQTT-Brücke "'+y(i.getMqttBridgeName(f.modalMqttBridgeIndex))+'" wirklich entfernen? Dieser Vorgang kann nicht rückgängig gemacht werden! ',1)]),_:1},8,["show"]),b("div",Q,[n(h,{subtype:"danger"},{default:o(()=>[s(" ACHTUNG: Die Konfiguration einer MQTT-Brücke erlaubt allen Nutzern mit Zugang zum entfernten MQTT-Server alle weitergeleiteten Daten dieser openWB einzusehen!"),Z,s(' Es wird dringend empfohlen, dies nur für nicht-öffentliche MQTT-Server unter Verwendung starker Transport-Verschlüsselung (TLS) mit persönlichem Login und strenger Zugriffskontrolle (zumindest für die MQTT-Thema unterhalb von "Entfernter Präfix") zu aktivieren! ')]),_:1}),n(M,{title:"Konfigurierte MQTT-Brücken"},{actions:o(()=>[e.$store.state.mqtt["openWB/general/extern"]===!1?(m(),T(w,{key:0,class:"bg-success clickable",onClick:i.addMqttBridge},{default:o(()=>[n(v,{"fixed-width":"",icon:["fas","plus"]})]),_:1},8,["onClick"])):S("",!0)]),default:o(()=>[e.$store.state.mqtt["openWB/general/extern"]===!0?(m(),c("div",F,[n(h,{subtype:"info"},{default:o(()=>[s(' Diese Einstellungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. ')]),_:1})])):(m(),c("div",L,[Object.keys(i.configuredMqttBridges).length===0?(m(),T(h,{key:0,subtype:"info"},{default:o(()=>[s(" Es wurde noch keine MQTT Brücke konfiguriert. ")]),_:1})):S("",!0),(m(!0),c(k,null,W(i.configuredMqttBridges,(l,a)=>(m(),c("form",{key:a,name:"mqttBridgeConfigurationForm"+i.getMqttBridgeIndex(a)},[n(M,{title:l.name,collapsible:!0,collapsed:!0,subtype:"primary"},{actions:o(()=>[n(w,{class:"bg-danger clickable",onClick:t=>i.removeMqttBridgeModal(a,t)},{default:o(()=>[n(v,{"fixed-width":"",icon:["fas","trash"]})]),_:2},1032,["onClick"])]),footer:o(()=>[n(x,{formName:"mqttBridgeConfigurationForm"+i.getMqttBridgeIndex(a),hideDefaults:!0,onSave:t=>e.$emit("save",[a]),onReset:t=>e.$emit("reset",[a])},null,8,["formName","onSave","onReset"])]),default:o(()=>[n(p,{title:"Bezeichnung",subtype:"text",required:"",pattern:"[A-Za-z0-9]+","model-value":l.name,"onUpdate:modelValue":t=>e.updateState(a,t,"name")},{help:o(()=>[s(" Die Bezeichnung darf nur aus Buchstaben ohne Umlaute und Zahlen bestehen. ")]),_:2},1032,["model-value","onUpdate:modelValue"]),n(d,{title:"Brücke aktivieren",buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":l.active,"onUpdate:modelValue":t=>e.updateState(a,t,"active")},null,8,["model-value","onUpdate:modelValue"]),O,n(V,null,{default:o(()=>[s(" Einstellungen zur Verbindung ")]),_:1}),n(p,{title:"Entfernter Server",subtype:"host",required:"","model-value":l.remote.host,"onUpdate:modelValue":t=>e.updateState(a,t,"remote.host")},null,8,["model-value","onUpdate:modelValue"]),n(B,{title:"Entfernter Port",required:"",min:1,max:65535,"model-value":l.remote.port,"onUpdate:modelValue":t=>e.updateState(a,t,"remote.port")},null,8,["model-value","onUpdate:modelValue"]),n(p,{title:"Benutzername",subtype:"user",required:"",pattern:"[a-zA-Z0-9_\\-+.]+","model-value":l.remote.username,"onUpdate:modelValue":t=>e.updateState(a,t,"remote.username")},null,8,["model-value","onUpdate:modelValue"]),n(p,{title:"Passwort",subtype:"password",required:"","model-value":l.remote.password,"onUpdate:modelValue":t=>e.updateState(a,t,"remote.password")},null,8,["model-value","onUpdate:modelValue"]),n(p,{title:"Präfix",subtype:"text",pattern:"[A-Za-z0-9_\\-]+(\\/[A-Za-z0-9_\\-]+)?\\/","model-value":l.remote.prefix,"onUpdate:modelValue":t=>e.updateState(a,t,"remote.prefix")},{help:o(()=>[s(' Das Präfix darf nur aus Buchstaben ohne Umlaute, Zahlen, Binde- und Unterstrichen bestehen. Optional kann mit einem Schrägstrich "/" eine Topic-Struktur abgebildet werden. Am Ende des Präfix muss ein Schrägstrich "/" stehen. ')]),_:2},1032,["model-value","onUpdate:modelValue"]),n(p,{title:"Client ID",subtype:"text",required:"",pattern:"[A-Za-z0-9_\\-]+","model-value":l.remote.client_id,"onUpdate:modelValue":t=>e.updateState(a,t,"remote.client_id")},{help:o(()=>[s(" Die Client ID darf nur aus Buchstaben ohne Umlaute, Zahlen, Binde- und Unterstrichen bestehen. ")]),_:2},1032,["model-value","onUpdate:modelValue"]),n(d,{title:"MQTT Protokoll",required:"required",buttons:[{buttonValue:"mqttv31",text:"v3.1"},{buttonValue:"mqttv311",text:"v3.1.1"}],"model-value":l.remote.protocol,"onUpdate:modelValue":t=>e.updateState(a,t,"remote.protocol")},null,8,["model-value","onUpdate:modelValue"]),n(d,{title:"TLS Version",buttons:[{buttonValue:"auto",text:"Automatisch",class:"btn-outline-success"},{buttonValue:"tlsv1.0",text:"v1.0",class:"btn-outline-warning"},{buttonValue:"tlsv1.1",text:"v1.1",class:"btn-outline-warning"},{buttonValue:"tlsv1.2",text:"v1.2"}],"model-value":l.remote.tls_version,"onUpdate:modelValue":t=>e.updateState(a,t,"remote.tls_version")},{help:o(()=>[s(' In der Einstellung "Automatisch" wird die Version zwischen Client und Server ausgehandelt. Wenn erforderlich, kann eine spezielle Version erzwungen werden. Versionen kleiner 1.2 gelten als veraltet und sollten nicht mehr verwendet werden. ')]),_:2},1032,["model-value","onUpdate:modelValue"]),n(d,{title:"Brücke signalisieren",buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}],"model-value":l.remote.try_private,"onUpdate:modelValue":t=>e.updateState(a,t,"remote.try_private")},{help:o(()=>[s(" Aktiviert eine proprietäre Protokoll-Erweiterung des Mosquitto Brokers, welche dem entfernten Broker signalisiert dass es sich um eine MQTT Brücke handelt. Ergibt bessere Leistung mit Mosquitto-Brokern, ist jedoch inkompatibel mit vielen anderen MQTT-Brokern. Daher bitte nur aktivieren, wenn der Ziel-Broker sicher ein Mosquitto-Broker ist. ")]),_:2},1032,["model-value","onUpdate:modelValue"]),R,n(V,null,{default:o(()=>[s("Datenübertragung")]),_:1}),n(d,{title:"Alle Statusdaten",buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}],"model-value":l.data_transfer.status,"onUpdate:modelValue":t=>e.updateState(a,t,"data_transfer.status")},{help:o(()=>[s("ToDo...")]),_:2},1032,["model-value","onUpdate:modelValue"]),n(d,{title:"Datenserien für Diagramme",buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}],"model-value":l.data_transfer.graph,"onUpdate:modelValue":t=>e.updateState(a,t,"data_transfer.graph")},{help:o(()=>[s("ToDo...")]),_:2},1032,["model-value","onUpdate:modelValue"]),n(d,{title:"Fernkonfiguration ermöglichen",buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}],"model-value":l.data_transfer.configuration,"onUpdate:modelValue":t=>e.updateState(a,t,"data_transfer.configuration")},{help:o(()=>[s("ToDo...")]),_:2},1032,["model-value","onUpdate:modelValue"])]),_:2},1032,["title"])],8,$))),128))]))]),_:1})])],64)}const ne=I(P,[["render",j],["__scopeId","data-v-1ec2f2f5"],["__file","/opt/openWB-dev/openwb-ui-settings/src/views/MqttBridgeConfig.vue"]]);export{ne as default}; diff --git a/web/settings/assets/MqttBridgeConfig-ac632189.js b/web/settings/assets/MqttBridgeConfig-ac632189.js deleted file mode 100644 index 6b13b899ec..0000000000 --- a/web/settings/assets/MqttBridgeConfig-ac632189.js +++ /dev/null @@ -1 +0,0 @@ -import{l as C,d as q,_ as A,F as z}from"./vendor-fortawesome-9fdc06a9.js";import{C as D}from"./index-131a952e.js";import{_ as I,q as r,k as m,l as c,B as n,M as o,u as b,I as k,x as s,y,z as T,A as S,J as W,R as E,S as N}from"./vendor-f0f38b48.js";import"./vendor-bootstrap-384bc385.js";import"./vendor-jquery-8576ed22.js";import"./vendor-axios-e59ef189.js";import"./vendor-sortablejs-cbf37f8f.js";C.add(q,A);const P={name:"OpenwbMqttBridgeConfiguration",mixins:[D],emits:["sendCommand"],components:{FontAwesomeIcon:z},data(){return{mqttTopicsToSubscribe:["openWB/general/extern","openWB/system/mqtt/bridge/+"],showMqttBridgeModal:!1,modalMqttBridgeIndex:void 0}},computed:{configuredMqttBridges:{get(){let e=this.getWildcardTopics("openWB/system/mqtt/bridge/+");for(const[u,g]of Object.entries(e))g.remote.is_openwb_cloud&&delete e[u];return e}}},methods:{addMqttBridge(e){e.stopPropagation(),this.$emit("sendCommand",{command:"addMqttBridge",data:{}})},getMqttBridgeIndex(e){return parseInt(e.match(/(?:\/)(\d+)$/)[1])},removeMqttBridgeModal(e,u){u.stopPropagation(),this.modalMqttBridgeIndex=this.getMqttBridgeIndex(e),this.showMqttBridgeModal=!0},removeMqttBridge(e,u){this.showMqttBridgeModal=!1,u=="confirm"&&(console.info("request removal of mqtt bridge '"+e+"'"),this.$emit("sendCommand",{command:"removeMqttBridge",data:{bridge:e}}))},getMqttBridgeName(e){return this.$store.state.mqtt["openWB/system/mqtt/bridge/"+e]?this.$store.state.mqtt["openWB/system/mqtt/bridge/"+e].name:e}}},_=e=>(E("data-v-1ec2f2f5"),e=e(),N(),e),Q={class:"mqttBridgeConfiguration"},Z=_(()=>b("br",null,null,-1)),F={key:0},L={key:1},$=["name"],O=_(()=>b("hr",null,null,-1)),R=_(()=>b("hr",null,null,-1));function j(e,u,g,J,f,i){const U=r("openwb-base-modal-dialog"),h=r("openwb-base-alert"),v=r("font-awesome-icon"),w=r("openwb-base-avatar"),p=r("openwb-base-text-input"),d=r("openwb-base-button-group-input"),V=r("openwb-base-heading"),B=r("openwb-base-number-input"),x=r("openwb-base-submit-buttons"),M=r("openwb-base-card");return m(),c(k,null,[n(U,{show:f.showMqttBridgeModal,title:"MQTT-Brücke löschen",subtype:"danger",buttons:[{text:"Löschen",event:"confirm",subtype:"danger"}],onModalResult:u[0]||(u[0]=l=>i.removeMqttBridge(f.modalMqttBridgeIndex,l))},{default:o(()=>[s(' Wollen Sie die MQTT-Brücke "'+y(i.getMqttBridgeName(f.modalMqttBridgeIndex))+'" wirklich entfernen? Dieser Vorgang kann nicht rückgängig gemacht werden! ',1)]),_:1},8,["show"]),b("div",Q,[n(h,{subtype:"danger"},{default:o(()=>[s(" ACHTUNG: Die Konfiguration einer MQTT-Brücke erlaubt allen Nutzern mit Zugang zum entfernten MQTT-Server alle weitergeleiteten Daten dieser openWB einzusehen!"),Z,s(' Es wird dringend empfohlen, dies nur für nicht-öffentliche MQTT-Server unter Verwendung starker Transport-Verschlüsselung (TLS) mit persönlichem Login und strenger Zugriffskontrolle (zumindest für die MQTT-Thema unterhalb von "Entfernter Präfix") zu aktivieren! ')]),_:1}),n(M,{title:"Konfigurierte MQTT-Brücken"},{actions:o(()=>[e.$store.state.mqtt["openWB/general/extern"]===!1?(m(),T(w,{key:0,class:"bg-success clickable",onClick:i.addMqttBridge},{default:o(()=>[n(v,{"fixed-width":"",icon:["fas","plus"]})]),_:1},8,["onClick"])):S("",!0)]),default:o(()=>[e.$store.state.mqtt["openWB/general/extern"]===!0?(m(),c("div",F,[n(h,{subtype:"info"},{default:o(()=>[s(' Diese Einstellungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. ')]),_:1})])):(m(),c("div",L,[Object.keys(i.configuredMqttBridges).length===0?(m(),T(h,{key:0,subtype:"info"},{default:o(()=>[s(" Es wurde noch keine MQTT Brücke konfiguriert. ")]),_:1})):S("",!0),(m(!0),c(k,null,W(i.configuredMqttBridges,(l,a)=>(m(),c("form",{key:a,name:"mqttBridgeConfigurationForm"+i.getMqttBridgeIndex(a)},[n(M,{title:l.name,collapsible:!0,collapsed:!0,subtype:"primary"},{actions:o(()=>[n(w,{class:"bg-danger clickable",onClick:t=>i.removeMqttBridgeModal(a,t)},{default:o(()=>[n(v,{"fixed-width":"",icon:["fas","trash"]})]),_:2},1032,["onClick"])]),footer:o(()=>[n(x,{formName:"mqttBridgeConfigurationForm"+i.getMqttBridgeIndex(a),hideDefaults:!0,onSave:t=>e.$emit("save",[a]),onReset:t=>e.$emit("reset",[a])},null,8,["formName","onSave","onReset"])]),default:o(()=>[n(p,{title:"Bezeichnung",subtype:"text",required:"",pattern:"[A-Za-z0-9]+","model-value":l.name,"onUpdate:modelValue":t=>e.updateState(a,t,"name")},{help:o(()=>[s(" Die Bezeichnung darf nur aus Buchstaben ohne Umlaute und Zahlen bestehen. ")]),_:2},1032,["model-value","onUpdate:modelValue"]),n(d,{title:"Brücke aktivieren",buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":l.active,"onUpdate:modelValue":t=>e.updateState(a,t,"active")},null,8,["model-value","onUpdate:modelValue"]),O,n(V,null,{default:o(()=>[s(" Einstellungen zur Verbindung ")]),_:1}),n(p,{title:"Entfernter Server",subtype:"host",required:"","model-value":l.remote.host,"onUpdate:modelValue":t=>e.updateState(a,t,"remote.host")},null,8,["model-value","onUpdate:modelValue"]),n(B,{title:"Entfernter Port",required:"",min:1,max:65535,"model-value":l.remote.port,"onUpdate:modelValue":t=>e.updateState(a,t,"remote.port")},null,8,["model-value","onUpdate:modelValue"]),n(p,{title:"Benutzername",subtype:"user",required:"",pattern:"[a-zA-Z0-9_\\-+.]+","model-value":l.remote.username,"onUpdate:modelValue":t=>e.updateState(a,t,"remote.username")},null,8,["model-value","onUpdate:modelValue"]),n(p,{title:"Passwort",subtype:"password",required:"","model-value":l.remote.password,"onUpdate:modelValue":t=>e.updateState(a,t,"remote.password")},null,8,["model-value","onUpdate:modelValue"]),n(p,{title:"Präfix",subtype:"text",pattern:"[A-Za-z0-9_\\-]+(\\/[A-Za-z0-9_\\-]+)?\\/","model-value":l.remote.prefix,"onUpdate:modelValue":t=>e.updateState(a,t,"remote.prefix")},{help:o(()=>[s(' Das Präfix darf nur aus Buchstaben ohne Umlaute, Zahlen, Binde- und Unterstrichen bestehen. Optional kann mit einem Schrägstrich "/" eine Topic-Struktur abgebildet werden. Am Ende des Präfix muss ein Schrägstrich "/" stehen. ')]),_:2},1032,["model-value","onUpdate:modelValue"]),n(p,{title:"Client ID",subtype:"text",required:"",pattern:"[A-Za-z0-9_\\-]+","model-value":l.remote.client_id,"onUpdate:modelValue":t=>e.updateState(a,t,"remote.client_id")},{help:o(()=>[s(" Die Client ID darf nur aus Buchstaben ohne Umlaute, Zahlen, Binde- und Unterstrichen bestehen. ")]),_:2},1032,["model-value","onUpdate:modelValue"]),n(d,{title:"MQTT Protokoll",required:"required",buttons:[{buttonValue:"mqttv31",text:"v3.1"},{buttonValue:"mqttv311",text:"v3.1.1"}],"model-value":l.remote.protocol,"onUpdate:modelValue":t=>e.updateState(a,t,"remote.protocol")},null,8,["model-value","onUpdate:modelValue"]),n(d,{title:"TLS Version",buttons:[{buttonValue:"auto",text:"Automatisch",class:"btn-outline-success"},{buttonValue:"tlsv1.0",text:"v1.0",class:"btn-outline-warning"},{buttonValue:"tlsv1.1",text:"v1.1",class:"btn-outline-warning"},{buttonValue:"tlsv1.2",text:"v1.2"}],"model-value":l.remote.tls_version,"onUpdate:modelValue":t=>e.updateState(a,t,"remote.tls_version")},{help:o(()=>[s(' In der Einstellung "Automatisch" wird die Version zwischen Client und Server ausgehandelt. Wenn erforderlich, kann eine spezielle Version erzwungen werden. Versionen kleiner 1.2 gelten als veraltet und sollten nicht mehr verwendet werden. ')]),_:2},1032,["model-value","onUpdate:modelValue"]),n(d,{title:"Brücke signalisieren",buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}],"model-value":l.remote.try_private,"onUpdate:modelValue":t=>e.updateState(a,t,"remote.try_private")},{help:o(()=>[s(" Aktiviert eine proprietäre Protokoll-Erweiterung des Mosquitto Brokers, welche dem entfernten Broker signalisiert dass es sich um eine MQTT Brücke handelt. Ergibt bessere Leistung mit Mosquitto-Brokern, ist jedoch inkompatibel mit vielen anderen MQTT-Brokern. Daher bitte nur aktivieren, wenn der Ziel-Broker sicher ein Mosquitto-Broker ist. ")]),_:2},1032,["model-value","onUpdate:modelValue"]),R,n(V,null,{default:o(()=>[s("Datenübertragung")]),_:1}),n(d,{title:"Alle Statusdaten",buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}],"model-value":l.data_transfer.status,"onUpdate:modelValue":t=>e.updateState(a,t,"data_transfer.status")},{help:o(()=>[s("ToDo...")]),_:2},1032,["model-value","onUpdate:modelValue"]),n(d,{title:"Datenserien für Diagramme",buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}],"model-value":l.data_transfer.graph,"onUpdate:modelValue":t=>e.updateState(a,t,"data_transfer.graph")},{help:o(()=>[s("ToDo...")]),_:2},1032,["model-value","onUpdate:modelValue"]),n(d,{title:"Fernkonfiguration ermöglichen",buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}],"model-value":l.data_transfer.configuration,"onUpdate:modelValue":t=>e.updateState(a,t,"data_transfer.configuration")},{help:o(()=>[s("ToDo...")]),_:2},1032,["model-value","onUpdate:modelValue"])]),_:2},1032,["title"])],8,$))),128))]))]),_:1})])],64)}const ne=I(P,[["render",j],["__scopeId","data-v-1ec2f2f5"],["__file","/opt/openWB-dev/openwb-ui-settings/src/views/MqttBridgeConfig.vue"]]);export{ne as default}; diff --git a/web/settings/assets/OpenwbSortableList-e04fc271.js b/web/settings/assets/OpenwbSortableList-8141a899.js similarity index 93% rename from web/settings/assets/OpenwbSortableList-e04fc271.js rename to web/settings/assets/OpenwbSortableList-8141a899.js index 5dd9f87242..dc2cdd4602 100644 --- a/web/settings/assets/OpenwbSortableList-e04fc271.js +++ b/web/settings/assets/OpenwbSortableList-8141a899.js @@ -1 +1 @@ -import{_ as f,a4 as O,q as i,k as a,z as u,M as C,u as o,p as g,B as b,A as _,x as h,y as w,l as m,m as H}from"./vendor-f0f38b48.js";import{l as y,ae as L,K as S,P as x,O as N,N as B,F as v,f as E,a as A}from"./vendor-fortawesome-9fdc06a9.js";y.add(L,S,x,N,B);const j={name:"OpenwbNestedList",props:{list:{type:Object},labels:{type:Object}},components:{draggable:O,FontAwesomeIcon:v},methods:{classes(e){var t="";switch(e.type){case"bat":t+="battery";break;case"cp":t+="charge-point";break;default:t+=e.type;break}return t},getElementLabel(e){return this.labels&&e in this.labels?this.labels[e]:e},getElementIcon(e){switch(e.type){case"bat":return["fas","car-battery"];case"counter":return["fas","gauge-high"];case"cp":return["fas","charging-station"];case"inverter":return["fas","solar-panel"];default:return}}}};function q(e,t,n,k,c,s){const d=i("font-awesome-icon"),p=i("openwb-nested-list",!0),r=i("draggable");return a(),u(r,{class:"dragArea w-100 mb-0",tag:"ul",list:n.list,group:{name:"g1"},"item-key":"id",handle:".handle"},{item:C(({element:l})=>[o("li",null,[o("div",{class:g(["element-titel",s.classes(l)])},[o("span",null,[b(d,{class:"handle","fixed-width":"",icon:["fas","arrows-alt"]}),s.getElementIcon(l)?(a(),u(d,{key:0,"fixed-width":"",icon:s.getElementIcon(l)},null,8,["icon"])):_("",!0),h(" "+w(s.getElementLabel(l.id)),1)])],2),b(p,{modelValue:l.children,"onUpdate:modelValue":V=>l.children=V,labels:n.labels},null,8,["modelValue","onUpdate:modelValue","labels"])])]),_:1},8,["list"])}const I=f(j,[["render",q],["__scopeId","data-v-82c9421a"],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbNestedList.vue"]]);y.add(E,A);const U={name:"OpenwbSortableList",props:{id:String,title:String,modelValue:Object,labels:{type:Object,default:void 0}},emits:["update:modelValue"],components:{FontAwesomeIcon:v,OpenwbNestedList:I},data(){return{showHelp:!1}},computed:{value:{get(){return this.modelValue},set(e){console.debug("update in sortableList",e),this.$emit("update:modelValue",e)}}},methods:{toggleHelp(){this.showHelp=!this.showHelp&&this.$slots.help!==void 0}}},W={class:"form-row mb-1"},z={class:"col-md-8"},D={class:"form-row"},F={key:1},P={key:0,class:"form-row alert alert-info my-1 small"};function Q(e,t,n,k,c,s){const d=i("font-awesome-icon"),p=i("openwb-nested-list");return a(),m("div",W,[o("label",{onClick:t[0]||(t[0]=(...r)=>s.toggleHelp&&s.toggleHelp(...r)),class:"col-md-4 col-form-label"},[h(w(n.title)+" ",1),e.$slots.help?(a(),u(d,{key:0,icon:c.showHelp?["fas","question-circle"]:["far","question-circle"],class:g(c.showHelp?"text-info":"")},null,8,["icon","class"])):_("",!0)]),o("div",z,[o("div",D,[s.value!==void 0?(a(),u(p,{key:0,modelValue:s.value,"onUpdate:modelValue":t[1]||(t[1]=r=>s.value=r),labels:n.labels},null,8,["modelValue","labels"])):(a(),m("div",F,"Warte auf Daten..."))]),c.showHelp?(a(),m("span",P,[H(e.$slots,"help")])):_("",!0)])])}const M=f(U,[["render",Q],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbSortableList.vue"]]);export{M as S}; +import{_ as f,a4 as O,q as i,k as a,z as u,M as C,u as o,p as g,B as b,A as _,x as h,y as w,l as m,m as H}from"./vendor-493c2bec.js";import{l as y,ag as L,K as S,P as x,O as N,N as B,F as v,f as E,a as A}from"./vendor-fortawesome-542fe04f.js";y.add(L,S,x,N,B);const j={name:"OpenwbNestedList",props:{list:{type:Object},labels:{type:Object}},components:{draggable:O,FontAwesomeIcon:v},methods:{classes(e){var t="";switch(e.type){case"bat":t+="battery";break;case"cp":t+="charge-point";break;default:t+=e.type;break}return t},getElementLabel(e){return this.labels&&e in this.labels?this.labels[e]:e},getElementIcon(e){switch(e.type){case"bat":return["fas","car-battery"];case"counter":return["fas","gauge-high"];case"cp":return["fas","charging-station"];case"inverter":return["fas","solar-panel"];default:return}}}};function q(e,t,n,k,c,s){const d=i("font-awesome-icon"),p=i("openwb-nested-list",!0),r=i("draggable");return a(),u(r,{class:"dragArea w-100 mb-0",tag:"ul",list:n.list,group:{name:"g1"},"item-key":"id",handle:".handle"},{item:C(({element:l})=>[o("li",null,[o("div",{class:g(["element-titel",s.classes(l)])},[o("span",null,[b(d,{class:"handle","fixed-width":"",icon:["fas","arrows-alt"]}),s.getElementIcon(l)?(a(),u(d,{key:0,"fixed-width":"",icon:s.getElementIcon(l)},null,8,["icon"])):_("",!0),h(" "+w(s.getElementLabel(l.id)),1)])],2),b(p,{modelValue:l.children,"onUpdate:modelValue":V=>l.children=V,labels:n.labels},null,8,["modelValue","onUpdate:modelValue","labels"])])]),_:1},8,["list"])}const I=f(j,[["render",q],["__scopeId","data-v-82c9421a"],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbNestedList.vue"]]);y.add(E,A);const U={name:"OpenwbSortableList",props:{id:String,title:String,modelValue:Object,labels:{type:Object,default:void 0}},emits:["update:modelValue"],components:{FontAwesomeIcon:v,OpenwbNestedList:I},data(){return{showHelp:!1}},computed:{value:{get(){return this.modelValue},set(e){console.debug("update in sortableList",e),this.$emit("update:modelValue",e)}}},methods:{toggleHelp(){this.showHelp=!this.showHelp&&this.$slots.help!==void 0}}},W={class:"form-row mb-1"},z={class:"col-md-8"},D={class:"form-row"},F={key:1},P={key:0,class:"form-row alert alert-info my-1 small"};function Q(e,t,n,k,c,s){const d=i("font-awesome-icon"),p=i("openwb-nested-list");return a(),m("div",W,[o("label",{onClick:t[0]||(t[0]=(...r)=>s.toggleHelp&&s.toggleHelp(...r)),class:"col-md-4 col-form-label"},[h(w(n.title)+" ",1),e.$slots.help?(a(),u(d,{key:0,icon:c.showHelp?["fas","question-circle"]:["far","question-circle"],class:g(c.showHelp?"text-info":"")},null,8,["icon","class"])):_("",!0)]),o("div",z,[o("div",D,[s.value!==void 0?(a(),u(p,{key:0,modelValue:s.value,"onUpdate:modelValue":t[1]||(t[1]=r=>s.value=r),labels:n.labels},null,8,["modelValue","labels"])):(a(),m("div",F,"Warte auf Daten..."))]),c.showHelp?(a(),m("span",P,[H(e.$slots,"help")])):_("",!0)])])}const M=f(U,[["render",Q],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbSortableList.vue"]]);export{M as S}; diff --git a/web/settings/assets/OptionalComponents-5357d850.js b/web/settings/assets/OptionalComponents-75dd3ebf.js similarity index 95% rename from web/settings/assets/OptionalComponents-5357d850.js rename to web/settings/assets/OptionalComponents-75dd3ebf.js index 89824cd6d2..6ae6265664 100644 --- a/web/settings/assets/OptionalComponents-5357d850.js +++ b/web/settings/assets/OptionalComponents-75dd3ebf.js @@ -1,2 +1,2 @@ -import{_ as $,C}from"./index-131a952e.js";import{_ as I}from"./dynamic-import-helper-be004503.js";import{l as L,X as O,Y as S,F as V}from"./vendor-fortawesome-9fdc06a9.js";import{_ as y,q as l,k as p,l as m,z as h,M as o,x as a,y as c,B as n,u as r,a1 as z,a2 as q,I as E,A as f}from"./vendor-f0f38b48.js";import"./vendor-bootstrap-384bc385.js";import"./vendor-jquery-8576ed22.js";import"./vendor-axios-e59ef189.js";import"./vendor-sortablejs-cbf37f8f.js";const F={name:"DisplayThemeFallback",emits:["update:configuration"],props:{displayTheme:{type:Object,required:!0}},methods:{updateConfiguration(e,t=void 0){this.$emit("update:configuration",{value:e,object:t})}}},x={class:"display-theme-fallback"},N={key:1};function j(e,t,s,v,w,u){const d=l("openwb-base-alert"),b=l("openwb-base-textarea");return p(),m("div",x,[Object.keys(s.displayTheme.configuration).length==0?(p(),h(d,{key:0,subtype:"info"},{default:o(()=>[a(' Das Display-Theme "'+c(s.displayTheme.name)+'" bietet keine Einstellungen. ',1)]),_:1})):(p(),m("div",N,[n(d,{subtype:"warning"},{default:o(()=>[a(' Es wurde keine Konfigurationsseite für das Display-Theme "'+c(s.displayTheme.name)+'" gefunden. Die Einstellungen können als JSON direkt bearbeitet werden. ',1)]),_:1}),n(b,{title:"Konfiguration",subtype:"json","model-value":s.displayTheme.configuration,"onUpdate:modelValue":t[0]||(t[0]=g=>u.updateConfiguration(g,"configuration"))},{help:o(()=>[a(" Bitte prüfen Sie, ob die Eingaben richtig interpretiert werden. ")]),_:1},8,["model-value"]),n(d,{subtype:"info"},{default:o(()=>[r("pre",null,c(JSON.stringify(s.displayTheme.configuration,void 0,2)),1)]),_:1})]))])}const A=y(F,[["render",j],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/display_themes/OpenwbDisplayThemeFallback.vue"]]);L.add(O,S);const M={name:"OpenwbDisplayThemeProxy",emits:["update:configuration"],props:{displayTheme:{type:Object,required:!0}},components:{FontAwesomeIcon:V},computed:{myComponent(){return console.debug(`loading display theme: ${this.displayTheme.type}`),z({loader:()=>I(Object.assign({"./cards/displayTheme.vue":()=>$(()=>import("./displayTheme-7a496adb.js"),["assets/displayTheme-7a496adb.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"])}),`./${this.displayTheme.type}/displayTheme.vue`),errorComponent:A})}},methods:{updateConfiguration(e){this.$emit("update:configuration",e)}}};function P(e,t,s,v,w,u){const d=l("font-awesome-icon"),b=l("openwb-base-alert"),g=l("openwb-base-heading");return p(),m(E,null,[s.displayTheme.official?(p(),h(b,{key:0,subtype:"success"},{default:o(()=>[n(d,{"fixed-width":"",icon:["fas","certificate"]}),a(' Das ausgewählte Display Theme "'+c(s.displayTheme.name)+'" wird von openWB gepflegt. ',1)]),_:1})):(p(),h(b,{key:1,subtype:"info"},{default:o(()=>[n(d,{"fixed-width":"",icon:["fas","people-group"]}),a(' Das ausgewählte Display Theme "'+c(s.displayTheme.name)+'" wird in unserer Community gepflegt. Rückfragen oder Probleme bitte im Forum diskutieren. ',1)]),_:1})),n(g,null,{default:o(()=>[a(' Einstellungen für Display Theme "'+c(s.displayTheme.name)+'" ',1)]),_:1}),(p(),h(q(u.myComponent),{displayTheme:s.displayTheme,"onUpdate:configuration":t[0]||(t[0]=_=>u.updateConfiguration(_))},null,40,["displayTheme"]))],64)}const U=y(M,[["render",P],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/display_themes/OpenwbDisplayThemeProxy.vue"]]),H={name:"OpenwbOptionalComponents",mixins:[C],components:{OpenwbDisplayThemeProxy:U},data(){return{mqttTopicsToSubscribe:["openWB/general/extern","openWB/chargepoint/+/config","openWB/chargepoint/+/get/rfid","openWB/chargepoint/+/get/rfid_timestamp","openWB/chargepoint/+/set/rfid","openWB/optional/rfid/active","openWB/optional/led/active","ToDo/optional/led/instant_blocked","ToDo/optional/led/pv_blocked","ToDo/optional/led/scheduled_blocked","ToDo/optional/led/standby_blocked","ToDo/optional/led/stop_blocked","ToDo/optional/led/instant","ToDo/optional/led/pv","ToDo/optional/led/scheduled","ToDo/optional/led/standby","ToDo/optional/led/stop","openWB/optional/int_display/active","openWB/optional/int_display/standby","openWB/optional/int_display/rotation","openWB/optional/int_display/on_if_plugged_in","openWB/optional/int_display/pin_active","openWB/optional/int_display/pin_code","openWB/optional/int_display/theme","openWB/optional/int_display/only_local_charge_points","openWB/system/configurable/display_themes","openWB/optional/et/active","openWB/optional/et/config/provider","openWB/optional/et/config/max_price"],tempIdTagList:{}}},computed:{idTagList(){return Object.values(this.updateIdTagList())},displayThemeList(){return this.$store.state.mqtt["openWB/system/configurable/display_themes"]},displayThemeGroupList(){let e=[{label:"openWB",options:[]},{label:"Community",options:[]}];return this.displayThemeList.forEach(t=>{t.official===!0?e[0].options.push(t):e[1].options.push(t)}),e}},methods:{getIdFromTopic(e){return e.match(/(?:\/)([0-9]+)(?=\/)*/g)[0].replace(/[^0-9]+/g,"")},updateIdTagList(){return Object.entries(this.getWildcardTopics("^openWB/chargepoint/[^+/]+/[gs]et/rfid$",!0)).forEach(e=>{e[1]!==null&&(this.tempIdTagList[e[1]]=`${e[1]} (${e[0].includes("/set/")?"zugewiesen":"erfasst"} an ${this.getChargePointName(this.getIdFromTopic(e[0]))})`)}),this.tempIdTagList},getChargePointName(e){return this.$store.state.mqtt["openWB/chargepoint/"+e+"/config"]?this.$store.state.mqtt["openWB/chargepoint/"+e+"/config"].name:"Ladepunkt "+e},getDisplayThemeDefaults(e){const t=this.displayThemeList.find(s=>s.value==e);return Object.prototype.hasOwnProperty.call(t,"defaults")?{...JSON.parse(JSON.stringify(t.defaults))}:(console.warn("no default configuration found for display theme type!",e),{})},updateSelectedDisplayTheme(e){this.updateState("openWB/optional/int_display/theme",this.getDisplayThemeDefaults(e))},updateConfiguration(e,t){console.debug("updateConfiguration",e,t),this.updateState(e,t.value,t.object)}}},R={class:"optionalComponents"},J={name:"optionalComponentsForm"},G=r("ul",null,[r("li",null," Über einen in der openWB verbauten RFID-Reader (optional, z.B. anhand des Lieferscheins prüfen). "),r("li",null," Durch die automatische Erkennung an einer openWB Pro (muss in den Einstellungen aktiviert werden). "),r("li",null," Durch manuelle Eingabe einer ID am Display einer openWB. ")],-1),K={key:0},X=r("br",null,null,-1),Y=r("br",null,null,-1),Z=["innerHTML"],Q={key:0},ee=r("br",null,null,-1),te=r("hr",null,null,-1),ne={key:1},oe=r("hr",null,null,-1),ae={key:2},ie=r("hr",null,null,-1),se=r("hr",null,null,-1),le={key:0};function pe(e,t,s,v,w,u){const d=l("openwb-base-button-group-input"),b=l("openwb-base-alert"),g=l("openwb-base-textarea"),_=l("openwb-base-card"),T=l("openwb-base-heading"),B=l("openwb-base-range-input"),D=l("openwb-base-select-input"),W=l("openwb-display-theme-proxy"),k=l("openwb-base-submit-buttons");return p(),m("div",R,[r("form",J,[n(_,{title:"Identifikation von Fahrzeugen"},{default:o(()=>[n(d,{title:"Identifikation aktivieren","model-value":e.$store.state.mqtt["openWB/optional/rfid/active"],"onUpdate:modelValue":t[0]||(t[0]=i=>e.updateState("openWB/optional/rfid/active",i)),buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}]},{help:o(()=>[a(" Die Identifikation von Fahrzeugen kann auf mehreren Wegen erfolgen: "),G]),_:1},8,["model-value"]),e.$store.state.mqtt["openWB/optional/rfid/active"]===!0?(p(),m("div",K,[n(b,{subtype:"info",class:"mb-1"},{default:o(()=>[a(" Die ID-Tags, die an dem jeweiligen Ladepunkt gültig sind, müssen in dem Ladepunkt-Profil hinterlegt werden. Die ID-Tags müssen auch in den Einstellungen der Fahrzeuge diesen zugeordnet werden."),X,a(" Es kann zuerst das Fahrzeug angesteckt und dann der ID-Tag erfasst werden oder anders herum. Im letzten Fall muss innerhalb von 5 Minuten ein Fahrzeug angesteckt werden, sonst wird der ID-Tag verworfen. Das Fahrzeug wird erst nach dem Anstecken zugeordnet."),Y,r("span",{innerHTML:e.$store.state.text.rfidWiki},null,8,Z)]),_:1}),n(g,{title:"Erkannte ID-Tags",readonly:"",disabled:"","model-value":u.idTagList.join(` +import{_ as $,C}from"./index-eaa58995.js";import{_ as I}from"./dynamic-import-helper-be004503.js";import{l as L,X as O,Y as S,F as V}from"./vendor-fortawesome-542fe04f.js";import{_ as y,q as l,k as p,l as m,z as h,M as o,x as a,y as c,B as n,u as r,a1 as z,a2 as q,I as E,A as f}from"./vendor-493c2bec.js";import"./vendor-bootstrap-a615942d.js";import"./vendor-jquery-a64a4809.js";import"./vendor-axios-b1ba123b.js";import"./vendor-sortablejs-0b339223.js";const F={name:"DisplayThemeFallback",emits:["update:configuration"],props:{displayTheme:{type:Object,required:!0}},methods:{updateConfiguration(e,t=void 0){this.$emit("update:configuration",{value:e,object:t})}}},x={class:"display-theme-fallback"},N={key:1};function j(e,t,s,v,w,u){const d=l("openwb-base-alert"),b=l("openwb-base-textarea");return p(),m("div",x,[Object.keys(s.displayTheme.configuration).length==0?(p(),h(d,{key:0,subtype:"info"},{default:o(()=>[a(' Das Display-Theme "'+c(s.displayTheme.name)+'" bietet keine Einstellungen. ',1)]),_:1})):(p(),m("div",N,[n(d,{subtype:"warning"},{default:o(()=>[a(' Es wurde keine Konfigurationsseite für das Display-Theme "'+c(s.displayTheme.name)+'" gefunden. Die Einstellungen können als JSON direkt bearbeitet werden. ',1)]),_:1}),n(b,{title:"Konfiguration",subtype:"json","model-value":s.displayTheme.configuration,"onUpdate:modelValue":t[0]||(t[0]=g=>u.updateConfiguration(g,"configuration"))},{help:o(()=>[a(" Bitte prüfen Sie, ob die Eingaben richtig interpretiert werden. ")]),_:1},8,["model-value"]),n(d,{subtype:"info"},{default:o(()=>[r("pre",null,c(JSON.stringify(s.displayTheme.configuration,void 0,2)),1)]),_:1})]))])}const A=y(F,[["render",j],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/display_themes/OpenwbDisplayThemeFallback.vue"]]);L.add(O,S);const M={name:"OpenwbDisplayThemeProxy",emits:["update:configuration"],props:{displayTheme:{type:Object,required:!0}},components:{FontAwesomeIcon:V},computed:{myComponent(){return console.debug(`loading display theme: ${this.displayTheme.type}`),z({loader:()=>I(Object.assign({"./cards/displayTheme.vue":()=>$(()=>import("./displayTheme-fff53517.js"),["assets/displayTheme-fff53517.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"])}),`./${this.displayTheme.type}/displayTheme.vue`),errorComponent:A})}},methods:{updateConfiguration(e){this.$emit("update:configuration",e)}}};function P(e,t,s,v,w,u){const d=l("font-awesome-icon"),b=l("openwb-base-alert"),g=l("openwb-base-heading");return p(),m(E,null,[s.displayTheme.official?(p(),h(b,{key:0,subtype:"success"},{default:o(()=>[n(d,{"fixed-width":"",icon:["fas","certificate"]}),a(' Das ausgewählte Display Theme "'+c(s.displayTheme.name)+'" wird von openWB gepflegt. ',1)]),_:1})):(p(),h(b,{key:1,subtype:"info"},{default:o(()=>[n(d,{"fixed-width":"",icon:["fas","people-group"]}),a(' Das ausgewählte Display Theme "'+c(s.displayTheme.name)+'" wird in unserer Community gepflegt. Rückfragen oder Probleme bitte im Forum diskutieren. ',1)]),_:1})),n(g,null,{default:o(()=>[a(' Einstellungen für Display Theme "'+c(s.displayTheme.name)+'" ',1)]),_:1}),(p(),h(q(u.myComponent),{displayTheme:s.displayTheme,"onUpdate:configuration":t[0]||(t[0]=_=>u.updateConfiguration(_))},null,40,["displayTheme"]))],64)}const U=y(M,[["render",P],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/display_themes/OpenwbDisplayThemeProxy.vue"]]),H={name:"OpenwbOptionalComponents",mixins:[C],components:{OpenwbDisplayThemeProxy:U},data(){return{mqttTopicsToSubscribe:["openWB/general/extern","openWB/chargepoint/+/config","openWB/chargepoint/+/get/rfid","openWB/chargepoint/+/get/rfid_timestamp","openWB/chargepoint/+/set/rfid","openWB/optional/rfid/active","openWB/optional/led/active","ToDo/optional/led/instant_blocked","ToDo/optional/led/pv_blocked","ToDo/optional/led/scheduled_blocked","ToDo/optional/led/standby_blocked","ToDo/optional/led/stop_blocked","ToDo/optional/led/instant","ToDo/optional/led/pv","ToDo/optional/led/scheduled","ToDo/optional/led/standby","ToDo/optional/led/stop","openWB/optional/int_display/active","openWB/optional/int_display/standby","openWB/optional/int_display/rotation","openWB/optional/int_display/on_if_plugged_in","openWB/optional/int_display/pin_active","openWB/optional/int_display/pin_code","openWB/optional/int_display/theme","openWB/optional/int_display/only_local_charge_points","openWB/system/configurable/display_themes","openWB/optional/et/active","openWB/optional/et/config/provider","openWB/optional/et/config/max_price"],tempIdTagList:{}}},computed:{idTagList(){return Object.values(this.updateIdTagList())},displayThemeList(){return this.$store.state.mqtt["openWB/system/configurable/display_themes"]},displayThemeGroupList(){let e=[{label:"openWB",options:[]},{label:"Community",options:[]}];return this.displayThemeList.forEach(t=>{t.official===!0?e[0].options.push(t):e[1].options.push(t)}),e}},methods:{getIdFromTopic(e){return e.match(/(?:\/)([0-9]+)(?=\/)*/g)[0].replace(/[^0-9]+/g,"")},updateIdTagList(){return Object.entries(this.getWildcardTopics("^openWB/chargepoint/[^+/]+/[gs]et/rfid$",!0)).forEach(e=>{e[1]!==null&&(this.tempIdTagList[e[1]]=`${e[1]} (${e[0].includes("/set/")?"zugewiesen":"erfasst"} an ${this.getChargePointName(this.getIdFromTopic(e[0]))})`)}),this.tempIdTagList},getChargePointName(e){return this.$store.state.mqtt["openWB/chargepoint/"+e+"/config"]?this.$store.state.mqtt["openWB/chargepoint/"+e+"/config"].name:"Ladepunkt "+e},getDisplayThemeDefaults(e){const t=this.displayThemeList.find(s=>s.value==e);return Object.prototype.hasOwnProperty.call(t,"defaults")?{...JSON.parse(JSON.stringify(t.defaults))}:(console.warn("no default configuration found for display theme type!",e),{})},updateSelectedDisplayTheme(e){this.updateState("openWB/optional/int_display/theme",this.getDisplayThemeDefaults(e))},updateConfiguration(e,t){console.debug("updateConfiguration",e,t),this.updateState(e,t.value,t.object)}}},R={class:"optionalComponents"},J={name:"optionalComponentsForm"},G=r("ul",null,[r("li",null," Über einen in der openWB verbauten RFID-Reader (optional, z.B. anhand des Lieferscheins prüfen). "),r("li",null," Durch die automatische Erkennung an einer openWB Pro (muss in den Einstellungen aktiviert werden). "),r("li",null," Durch manuelle Eingabe einer ID am Display einer openWB. ")],-1),K={key:0},X=r("br",null,null,-1),Y=r("br",null,null,-1),Z=["innerHTML"],Q={key:0},ee=r("br",null,null,-1),te=r("hr",null,null,-1),ne={key:1},oe=r("hr",null,null,-1),ae={key:2},ie=r("hr",null,null,-1),se=r("hr",null,null,-1),le={key:0};function pe(e,t,s,v,w,u){const d=l("openwb-base-button-group-input"),b=l("openwb-base-alert"),g=l("openwb-base-textarea"),_=l("openwb-base-card"),T=l("openwb-base-heading"),B=l("openwb-base-range-input"),D=l("openwb-base-select-input"),W=l("openwb-display-theme-proxy"),k=l("openwb-base-submit-buttons");return p(),m("div",R,[r("form",J,[n(_,{title:"Identifikation von Fahrzeugen"},{default:o(()=>[n(d,{title:"Identifikation aktivieren","model-value":e.$store.state.mqtt["openWB/optional/rfid/active"],"onUpdate:modelValue":t[0]||(t[0]=i=>e.updateState("openWB/optional/rfid/active",i)),buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}]},{help:o(()=>[a(" Die Identifikation von Fahrzeugen kann auf mehreren Wegen erfolgen: "),G]),_:1},8,["model-value"]),e.$store.state.mqtt["openWB/optional/rfid/active"]===!0?(p(),m("div",K,[n(b,{subtype:"info",class:"mb-1"},{default:o(()=>[a(" Die ID-Tags, die an dem jeweiligen Ladepunkt gültig sind, müssen in dem Ladepunkt-Profil hinterlegt werden. Die ID-Tags müssen auch in den Einstellungen der Fahrzeuge diesen zugeordnet werden."),X,a(" Es kann zuerst das Fahrzeug angesteckt und dann der ID-Tag erfasst werden oder anders herum. Im letzten Fall muss innerhalb von 5 Minuten ein Fahrzeug angesteckt werden, sonst wird der ID-Tag verworfen. Das Fahrzeug wird erst nach dem Anstecken zugeordnet."),Y,r("span",{innerHTML:e.$store.state.text.rfidWiki},null,8,Z)]),_:1}),n(g,{title:"Erkannte ID-Tags",readonly:"",disabled:"","model-value":u.idTagList.join(` `)},{help:o(()=>[a(" Solange diese Seite geöffnet ist, werden alle erfassten ID-Tags in dieser Liste aufgeführt. ")]),_:1},8,["model-value"])])):f("",!0)]),_:1}),n(_,{title:"Display (intern oder extern)"},{default:o(()=>[n(d,{title:"Integriertes Display","model-value":e.$store.state.mqtt["openWB/optional/int_display/active"],"onUpdate:modelValue":t[1]||(t[1]=i=>e.updateState("openWB/optional/int_display/active",i)),buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}]},{help:o(()=>[a(' Je nach Bestellung kann die openWB mit oder ohne Display geliefert worden sein. Auch die Variante "Standalone" bietet beide Optionen. Bitte prüfe zuerst die Hardwareausstattung deiner openWB (z.B. Lieferschein). ')]),_:1},8,["model-value"]),e.$store.state.mqtt["openWB/optional/int_display/active"]==!0?(p(),m("div",Q,[n(d,{title:"Orientierung","model-value":e.$store.state.mqtt["openWB/optional/int_display/rotation"],"onUpdate:modelValue":t[2]||(t[2]=i=>e.updateState("openWB/optional/int_display/rotation",i)),buttons:[{buttonValue:0,text:"0°"},{buttonValue:90,text:"90°"},{buttonValue:180,text:"180°"},{buttonValue:270,text:"270°"}]},{help:o(()=>[a(" Mit dieser Einstellung kann das Display im Uhrzeigersinn gedreht werden, falls erforderlich. Nach einer Änderung ist ein Neustart erforderlich!"),ee,a(" Diese Einstellung erfordert ein Raspberry Pi Display. Anzeigen, welche über HDMI angeschlossen sind, werden nicht unterstützt. ")]),_:1},8,["model-value"]),te,n(T,null,{default:o(()=>[a(" Display Standby ")]),_:1}),n(B,{title:"Ausschaltzeit",min:0,max:12,step:1,"model-value":e.$store.state.mqtt["openWB/optional/int_display/standby"],"onUpdate:modelValue":t[3]||(t[3]=i=>e.updateState("openWB/optional/int_display/standby",i)),unit:"Sek",labels:[{label:"Immer an",value:0},{label:5,value:5},{label:10,value:10},{label:15,value:15},{label:30,value:30},{label:45,value:45},{label:"1 Min",value:60},{label:"1,5 Min",value:90},{label:"2 Min",value:120},{label:"3 Min",value:180},{label:"4 Min",value:240},{label:"5 Min",value:300},{label:"10 Min",value:600}]},{help:o(()=>[a(" Hier kann eine Zeitspanne angegeben werden, nach der das Display ausgeschaltet wird. ")]),_:1},8,["model-value"])])):f("",!0),e.$store.state.mqtt["openWB/general/extern"]===!0?(p(),m("div",ne,[oe,n(b,{subtype:"info"},{default:o(()=>[a(' Weitere Einstellungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. ')]),_:1})])):(p(),m("div",ae,[ie,n(d,{title:"Ladepunkte auf externen openWB","model-value":e.$store.state.mqtt["openWB/optional/int_display/only_local_charge_points"],"onUpdate:modelValue":t[4]||(t[4]=i=>e.updateState("openWB/optional/int_display/only_local_charge_points",i)),buttons:[{buttonValue:!1,text:"Alle",class:"btn-outline-danger"},{buttonValue:!0,text:"Nur Lokale",class:"btn-outline-success"}]},{help:o(()=>[a(" Hiermit kann festgelegt werden, ob an angebundenen externen openWB alle oder nur die jeweils lokalen Ladepunkte angezeigt werden sollen. ")]),_:1},8,["model-value"]),se,e.$store.state.mqtt["openWB/optional/int_display/theme"]!==void 0?(p(),m("div",le,[n(D,{class:"mb-2",title:"Theme des Displays",groups:u.displayThemeGroupList,"model-value":e.$store.state.mqtt["openWB/optional/int_display/theme"].type,"onUpdate:modelValue":t[5]||(t[5]=i=>u.updateSelectedDisplayTheme(i))},{help:o(()=>[a(" Hier können unterschiedliche Display-Anzeigen, s.g. Themes, ausgewählt werden. Die Anzahl der Themes wird sich mit zukünftigen Releases erhöhen. ")]),_:1},8,["groups","model-value"]),e.$store.state.mqtt["openWB/optional/int_display/theme"].type?(p(),h(W,{key:0,displayTheme:e.$store.state.mqtt["openWB/optional/int_display/theme"],"onUpdate:configuration":t[6]||(t[6]=i=>u.updateConfiguration("openWB/optional/int_display/theme",i))},null,8,["displayTheme"])):f("",!0)])):f("",!0)]))]),_:1}),n(k,{formName:"optionalComponentsForm",onSave:t[7]||(t[7]=i=>e.$emit("save")),onReset:t[8]||(t[8]=i=>e.$emit("reset")),onDefaults:t[9]||(t[9]=i=>e.$emit("defaults"))})])])}const _e=y(H,[["render",pe],["__file","/opt/openWB-dev/openwb-ui-settings/src/views/OptionalComponents.vue"]]);export{_e as default}; diff --git a/web/settings/assets/PVChargeConfig-8bf4097f.js b/web/settings/assets/PVChargeConfig-8bf4097f.js new file mode 100644 index 0000000000..5f05080fe0 --- /dev/null +++ b/web/settings/assets/PVChargeConfig-8bf4097f.js @@ -0,0 +1 @@ +import{C as B}from"./index-eaa58995.js";import{l as S,P as V,Z as z,_ as k,F as y}from"./vendor-fortawesome-542fe04f.js";import{_ as M,q as g,k as s,l as u,u as o,B as i,M as a,x as r,z as v,A as m}from"./vendor-493c2bec.js";import"./vendor-bootstrap-a615942d.js";import"./vendor-jquery-a64a4809.js";import"./vendor-axios-b1ba123b.js";import"./vendor-sortablejs-0b339223.js";S.add(V,z,k);const E={name:"OpenwbPVChargeConfig",mixins:[B],components:{FontAwesomeIcon:y},data(){return{mqttTopicsToSubscribe:["openWB/general/extern","openWB/general/chargemode_config/pv_charging/control_range","openWB/general/chargemode_config/pv_charging/feed_in_yield","openWB/general/chargemode_config/pv_charging/switch_on_threshold","openWB/general/chargemode_config/pv_charging/switch_on_delay","openWB/general/chargemode_config/pv_charging/switch_off_threshold","openWB/general/chargemode_config/pv_charging/switch_off_delay","openWB/general/chargemode_config/pv_charging/phases_to_use","openWB/general/chargemode_config/pv_charging/phase_switch_delay","openWB/general/chargemode_config/pv_charging/bat_mode","openWB/general/chargemode_config/pv_charging/bat_power_reserve","openWB/general/chargemode_config/pv_charging/bat_power_reserve_active","openWB/general/chargemode_config/pv_charging/bat_power_discharge","openWB/general/chargemode_config/pv_charging/bat_power_discharge_active","openWB/general/chargemode_config/pv_charging/min_bat_soc"],calculatedControlMode:void 0}},computed:{controlMode:{get(){if(this.calculatedControlMode!==void 0)return this.calculatedControlMode;const n="openWB/general/chargemode_config/pv_charging/control_range";let e=this.$store.state.mqtt[n];var h="individual";return typeof e<"u"&&(e[0]===-230&&e[1]===0?h="export":e[0]===0&&e[1]===230?h="import":e[0]===-115&&e[1]===115?h="balanced":h="individual"),h},set(n){const e="openWB/general/chargemode_config/pv_charging/control_range";switch(this.calculatedControlMode=n,n){case"export":this.updateState(e,[-230,0]);break;case"import":this.updateState(e,[0,230]);break;case"balanced":this.updateState(e,[-115,115]);break}}},batMode(){return this.$store.state.mqtt["openWB/general/chargemode_config/pv_charging/bat_mode"]}},watch:{controlMode(n){this.calculatedControlMode=n}}},C={class:"pvChargeConfig"},q={name:"pvChargeConfigForm"},L={key:0},R={key:1},A=o("br",null,null,-1),P=o("br",null,null,-1),U=o("hr",null,null,-1),$=o("br",null,null,-1),F=o("br",null,null,-1),D=o("hr",null,null,-1),N=o("br",null,null,-1),I=o("br",null,null,-1),O=o("hr",null,null,-1),T=o("br",null,null,-1),Z=o("br",null,null,-1),H=o("br",null,null,-1),G=o("br",null,null,-1),J={key:0},j={key:1},K={key:0},Q={key:1},X=o("p",null,' Sofern ein Hausstromspeicher (im Folgenden "Speicher" genannt) im Energiesystem verbaut ist, kann dieser beim Fahrzeugladen mit berücksichtigt werden. Dies erfolgt passiv über die Berücksichtigung der Speicherleistungswerte und des Speicher-SoC. Eine aktive Speichersteuerung durch openWB ist aktuell mangels Speicherschnittstelle nicht möglich. ',-1),Y={key:0},x=o("br",null,null,-1);function ee(n,e,h,ne,te,d){const _=g("openwb-base-alert"),p=g("openwb-base-button-group-input"),l=g("openwb-base-number-input"),b=g("openwb-base-card"),f=g("openwb-base-range-input"),c=g("font-awesome-icon"),w=g("openwb-base-heading"),W=g("openwb-base-submit-buttons");return s(),u("div",C,[o("form",q,[i(b,{title:"Regelparameter"},{default:a(()=>[n.$store.state.mqtt["openWB/general/extern"]===!0?(s(),u("div",L,[i(_,{subtype:"info"},{default:a(()=>[r(' Diese Einstellungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. ')]),_:1})])):(s(),u("div",R,[i(p,{title:"Regelmodus",buttons:[{buttonValue:"export",text:"Einspeisung"},{buttonValue:"import",text:"Bezug"},{buttonValue:"balanced",text:"Ausgewogen"},{buttonValue:"individual",text:"Individuell"}],modelValue:d.controlMode,"onUpdate:modelValue":e[0]||(e[0]=t=>d.controlMode=t)},{help:a(()=>[r(" Der Regelbereich wird auf den gesamten Überschuss angewendet, bevor die PV-Regelung durchgeführt wird. D.h. der Regelbereich wird auf alle Einstellungen für das PV-Laden angewendet und nur einmal unabhängig von der Anzahl der angesteckten Fahrzeuge. Liegt der Überschuss im vorgegebenen Regelbereich, wird nicht nachgeregelt. Liegt der Überschuss außerhalb des Regelbereichs, wird in die Mitte des Regelbereichs nachgeregelt."),A,r(' "Einspeisung" definiert einen Bereich mit minimaler Einspeisung (-230W, 0W), "Bezug" mit minimalem Netzbezug (0W, 230W), "Ausgewogen" mit ausgewogenem Netzbezug (-115W, 115W). Mit der Auswahl "individuell" kann ein eigener Regelbereich definiert werden.'),P,r(" Bei Speichervorrang erzeugt die Regelung bei Bedarf unabhängig vom eingestellten Regelmodus Einspeisung, damit der Speicher seine Ladeleistung erhöht. ")]),_:1},8,["modelValue"]),i(l,{disabled:d.controlMode!=="individual",readonly:d.controlMode!=="individual",title:"Minimum",step:.005,unit:"kW","model-value":Array.isArray(n.$store.state.mqtt["openWB/general/chargemode_config/pv_charging/control_range"])?n.$store.state.mqtt["openWB/general/chargemode_config/pv_charging/control_range"][0]/1e3:void 0,"onUpdate:modelValue":e[1]||(e[1]=t=>n.updateState("openWB/general/chargemode_config/pv_charging/control_range",t*1e3,"0"))},{help:a(()=>[r(" Untere Grenze des Regelbereichs. ")]),_:1},8,["disabled","readonly","model-value"]),i(l,{disabled:d.controlMode!=="individual",readonly:d.controlMode!=="individual",title:"Maximum",step:.005,unit:"kW","model-value":Array.isArray(n.$store.state.mqtt["openWB/general/chargemode_config/pv_charging/control_range"])?n.$store.state.mqtt["openWB/general/chargemode_config/pv_charging/control_range"][1]/1e3:void 0,"onUpdate:modelValue":e[2]||(e[2]=t=>n.updateState("openWB/general/chargemode_config/pv_charging/control_range",t*1e3,"1"))},{help:a(()=>[r("Obere Grenze des Regelbereichs.")]),_:1},8,["disabled","readonly","model-value"]),U,i(l,{title:"Einschaltschwelle",min:0,step:.05,unit:"kW","model-value":n.$store.state.mqtt["openWB/general/chargemode_config/pv_charging/switch_on_threshold"]/1e3,"onUpdate:modelValue":e[3]||(e[3]=t=>n.updateState("openWB/general/chargemode_config/pv_charging/switch_on_threshold",t*1e3))},{help:a(()=>[r(" Wird der Regelbereich in Richtung Einspeisung um diese Leistung überschritten, so wird der Ladevorgang gestartet."),$,r(" Dieser Wert wird pro Phase genutzt und ist daher immer für eine Phase anzugeben. ")]),_:1},8,["model-value"]),i(l,{title:"Einschaltverzögerung",min:0,step:1,unit:"s","model-value":n.$store.state.mqtt["openWB/general/chargemode_config/pv_charging/switch_on_delay"],"onUpdate:modelValue":e[4]||(e[4]=t=>n.updateState("openWB/general/chargemode_config/pv_charging/switch_on_delay",t))},{help:a(()=>[r(" Die Einschaltschwelle muss für die hier angegebene Zeit dauerhaft überschritten werden, bevor ein Ladevorgang gestartet wird."),F,r(" Wenn ein Ladevorgang aktiv ist und auf PV-Laden umgeschaltet wird, wird weiter geladen, wenn die Abschaltschwelle nicht unterschritten wird. ")]),_:1},8,["model-value"]),D,i(l,{title:"Abschaltschwelle",step:.05,unit:"kW","model-value":n.$store.state.mqtt["openWB/general/chargemode_config/pv_charging/switch_off_threshold"]/1e3,"onUpdate:modelValue":e[5]||(e[5]=t=>n.updateState("openWB/general/chargemode_config/pv_charging/switch_off_threshold",t*1e3))},{help:a(()=>[r(" Wird der Regelbereich in Richtung Netzbezug um diese Leistung überschritten, so wird der Ladevorgang beendet."),N,r(" Dieser Wert ist unabhängig von der Anzahl genutzter Phasen. ")]),_:1},8,["model-value"]),i(l,{title:"Abschaltverzögerung",min:0,step:1,unit:"s","model-value":n.$store.state.mqtt["openWB/general/chargemode_config/pv_charging/switch_off_delay"],"onUpdate:modelValue":e[6]||(e[6]=t=>n.updateState("openWB/general/chargemode_config/pv_charging/switch_off_delay",t))},{help:a(()=>[r(" Die Abschaltschwelle muss für die hier angegebene Zeit dauerhaft unterschritten werden, bevor ein Ladevorgang beendet wird."),I,r(" Wenn ein Ladevorgang aktiv ist und auf PV-Laden umgeschaltet wird, wird die Ladung sofort beendet, wenn die Abschaltschwelle unterschritten wird. ")]),_:1},8,["model-value"]),O,i(l,{title:"Regelpunkt Einspeisegrenze",min:0,step:.05,unit:"kW","model-value":n.$store.state.mqtt["openWB/general/chargemode_config/pv_charging/feed_in_yield"]/1e3,"onUpdate:modelValue":e[7]||(e[7]=t=>n.updateState("openWB/general/chargemode_config/pv_charging/feed_in_yield",t*1e3))},{help:a(()=>[r(" Ein Wert größer 0kW bewirkt, dass weniger PV-Leistung zum Laden benutzt wird."),T,r(" Die Nutzung dieser Option ergibt nur Sinn, wenn ein Wechselrichter mit separatem Smart-Meter am EVU-Punkt verbaut ist (nicht der originale Zähler des Versorgers!), welches eine dynamische Begrenzung der Einspeiseleistung am EVU-Punkt durch den PV-Wechselrichter bietet (bitte bei ev. Problemen immer vorab prüfen lassen)."),Z,r(' Ist eine Einspeiseleistungsreduzierung verbaut (in vielen älteren, privaten Einspeiseverträgen z.B. als 70% Regelung bekannt), wird mit Eingabe des Wertes "Regelpunkt Einspeisegrenze" ein eigenverbrauchsoptimiertes Fahrzeugladen mit PV-Überschussenergie möglich, die sonst abgeregelt werden würde (Nutzung der PV-Peaks).'),H,r(' Wird in einem "Ladeprofil" die Option "Einspeisegrenze beachten" eingeschaltet, so wird der Regelpunkt auf diesen Wert verschoben und die Ladung startet erst, wenn der hinterlegte Wert "Regelpunkt Einspeisegrenze" überschritten wird.'),G,r(" Zur optimalen Eigenverbrauchssteuerung sollte der Wert einige hundert Watt UNTER der im Wechselrichter hinterlegten EVU-Einspeiseleistungsgrenze liegen, damit openWB die Ladung freigibt, BEVOR der Wechselrichter begrenzt wird. ")]),_:1},8,["model-value"])]))]),_:1}),i(b,{title:"Phasenumschaltung"},{default:a(()=>[n.$store.state.mqtt["openWB/general/extern"]===!0?(s(),u("div",J,[i(_,{subtype:"info"},{default:a(()=>[r(' Diese Einstellungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. ')]),_:1})])):(s(),u("div",j,[i(p,{title:"Anzahl Phasen",buttons:[{buttonValue:1,text:"1"},{buttonValue:3,text:"Maximum"},{buttonValue:0,text:"Automatik"}],"model-value":n.$store.state.mqtt["openWB/general/chargemode_config/pv_charging/phases_to_use"],"onUpdate:modelValue":e[8]||(e[8]=t=>n.updateState("openWB/general/chargemode_config/pv_charging/phases_to_use",t))},{help:a(()=>[r(' Hier kann eingestellt werden, ob Ladevorgänge im Modus "PV-Laden" mit nur einer Phase oder dem möglichen Maximum in Abhängigkeit der "Ladepunkt"- und "Fahrzeug"-Einstellungen durchgeführt werden. Im Modus "Automatik" entscheidet die Regelung, welche Einstellung genutzt wird, um den verfügbaren Überschuss in die Fahrzeuge zu laden. Voraussetzung ist die verbaute Umschaltmöglichkeit zwischen einer und drei Phasen (s.g. 1p3p). ')]),_:1},8,["model-value"]),n.$store.state.mqtt["openWB/general/chargemode_config/pv_charging/phases_to_use"]==0?(s(),v(f,{key:0,title:"Verzögerung automat. Phasenumschaltung",min:1,max:15,step:1,unit:"Min.","model-value":n.$store.state.mqtt["openWB/general/chargemode_config/pv_charging/phase_switch_delay"],"onUpdate:modelValue":e[9]||(e[9]=t=>n.updateState("openWB/general/chargemode_config/pv_charging/phase_switch_delay",t))},{help:a(()=>[r(" Um zu viele Umschaltungen zu vermeiden, wird Anhand dieses Wertes definiert, wann die Umschaltung erfolgen soll. Ist für durchgehend x Minuten die Maximalstromstärke erreicht, wird auf mehrphasige Ladung umgestellt. Ist die Ladung nur für ein Intervall unterhalb der Maximalstromstärke, beginnt das Intervall für die Umschaltung erneut. Ist die Ladung im mehrphasigen Modus für 16 - x Minuten auf der Minimalstromstärke, wird wieder auf einphasige Ladung gewechselt. ")]),_:1},8,["model-value"])):m("",!0)]))]),_:1}),i(b,{title:"Speicher-Beachtung"},{default:a(()=>[n.$store.state.mqtt["openWB/general/extern"]===!0?(s(),u("div",K,[i(_,{subtype:"info"},{default:a(()=>[r(' Diese Einstellungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. ')]),_:1})])):(s(),u("div",Q,[i(p,{title:"Laden mit Überschuss",buttons:[{buttonValue:"ev_mode"},{buttonValue:"bat_mode"},{buttonValue:"min_soc_bat_mode"}],modelValue:d.batMode,"onUpdate:modelValue":[e[10]||(e[10]=t=>d.batMode=t),e[11]||(e[11]=t=>n.updateState("openWB/general/chargemode_config/pv_charging/bat_mode",t))],"model-value":n.$store.state.mqtt["openWB/general/chargemode_config/pv_charging/bat_mode"]},{"label-ev_mode":a(()=>[i(c,{"fixed-width":"",icon:["fas","car-side"]}),r(" Fahrzeuge ")]),"label-bat_mode":a(()=>[i(c,{"fixed-width":"",icon:["fas","fa-car-battery"]}),r(" Speicher ")]),"label-min_soc_bat_mode":a(()=>[i(c,{"fixed-width":"",icon:["fas","fa-battery-half"]}),r(" Mindest-SoC des Speichers ")]),help:a(()=>[X,o("p",null,[r(' Bei Auswahl " '),i(c,{"fixed-width":"",icon:["fas","car-side"]}),r(' Fahrzeuge" wird der gesamte Überschuss in das EV geladen. Ist die maximale Ladeleistung der Fahrzeuge erreicht und es wird eingespeist, wird dieser Überschuss in den Speicher geladen. ')]),o("p",null,[r(' Bei Auswahl " '),i(c,{"fixed-width":"",icon:["fas","fa-car-battery"]}),r(' Speicher" wird der gesamte Überschuss in den Speicher geladen. Ist die maximale Ladeleistung des Speichers erreicht und es wird eingespeist, wird dieser Überschuss unter Beachtung der Einschaltschwelle in die Fahrzeuge geladen. ')]),o("p",null,[r(' Bei Auswahl " '),i(c,{"fixed-width":"",icon:["fas","fa-battery-half"]}),r(' Mindest-SoC des Speichers" wird der Überschuss bis zum Mindest-SoC in den Speicher geladen. Ist die maximale Ladeleistung des Speichers erreicht und es wird eingespeist, wird dieser Überschuss in die Fahrzeuge geladen. Wird der Mindest-SoC überschritten, wird der Überschuss ins Fahrzeug geladen. ')])]),_:1},8,["modelValue","model-value"]),d.batMode==="min_soc_bat_mode"?(s(),u("div",Y,[i(f,{title:"Mindest-SoC des Speichers",min:0,max:100,step:1,unit:"%",required:n.required,"model-value":n.$store.state.mqtt["openWB/general/chargemode_config/pv_charging/min_bat_soc"],"onUpdate:modelValue":e[12]||(e[12]=t=>n.updateState("openWB/general/chargemode_config/pv_charging/min_bat_soc",t))},null,8,["required","model-value"]),i(w,null,{default:a(()=>[r("Speicher-SoC unterhalb Mindest-SoC")]),_:1}),i(p,{title:"Ladeleistung für Speicher reservieren",buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],modelValue:n.batPowerReserveActive,"onUpdate:modelValue":[e[13]||(e[13]=t=>n.batPowerReserveActive=t),e[14]||(e[14]=t=>n.updateState("openWB/general/chargemode_config/pv_charging/bat_power_reserve_active",t))],"model-value":n.$store.state.mqtt["openWB/general/chargemode_config/pv_charging/bat_power_reserve_active"]},{help:a(()=>[r("ACHTUNG: Der hier eingestellte Wert darf die maximale Ladeleistung des Speichers nicht überschreiten."),x,r(" Wird der Mindest-SoC des Speichers nicht erreicht, wird der Speicher mit der hier eingestellte Leistung geladen. Mit dem verbleibenden Überschuss werden die Fahrzeuge geladen.")]),_:1},8,["modelValue","model-value"]),n.$store.state.mqtt["openWB/general/chargemode_config/pv_charging/bat_power_reserve_active"]?(s(),v(l,{key:0,title:"Reserve Ladeleistung",min:.1,step:.1,unit:"kW",required:n.required,"model-value":n.$store.state.mqtt["openWB/general/chargemode_config/pv_charging/bat_power_reserve"]/1e3,"onUpdate:modelValue":e[15]||(e[15]=t=>n.updateState("openWB/general/chargemode_config/pv_charging/bat_power_reserve",t*1e3))},null,8,["required","model-value"])):m("",!0),i(w,null,{default:a(()=>[r("Speicher-SoC oberhalb Mindest-SoC")]),_:1}),i(p,{title:"Entladung des Speichers erlauben",buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],modelValue:n.batPowerReserveActive,"onUpdate:modelValue":[e[16]||(e[16]=t=>n.batPowerReserveActive=t),e[17]||(e[17]=t=>n.updateState("openWB/general/chargemode_config/pv_charging/bat_power_discharge_active",t))],"model-value":n.$store.state.mqtt["openWB/general/chargemode_config/pv_charging/bat_power_discharge_active"]},{help:a(()=>[r("Wird der Mindest-SoC überschritten, wird der Überschuss ins Fahrzeug geladen und der Speicher mit der hier eingestellten Leistung in die Fahrzeuge entladen. Die Entladeleistung des Speichers wird dem Überschuss zum Erreichen der Einschaltschwelle hinzugerechnet.")]),_:1},8,["modelValue","model-value"]),n.$store.state.mqtt["openWB/general/chargemode_config/pv_charging/bat_power_discharge_active"]?(s(),v(l,{key:1,title:"Erlaubte Entladeleistung",min:.1,step:.1,unit:"kW",required:n.required,"model-value":n.$store.state.mqtt["openWB/general/chargemode_config/pv_charging/bat_power_discharge"]/1e3,"onUpdate:modelValue":e[18]||(e[18]=t=>n.updateState("openWB/general/chargemode_config/pv_charging/bat_power_discharge",t*1e3))},null,8,["required","model-value"])):m("",!0)])):m("",!0)]))]),_:1}),i(W,{formName:"pvChargeConfigForm",onSave:e[19]||(e[19]=t=>n.$emit("save")),onReset:e[20]||(e[20]=t=>n.$emit("reset")),onDefaults:e[21]||(e[21]=t=>n.$emit("defaults"))})])])}const ge=M(E,[["render",ee],["__file","/opt/openWB-dev/openwb-ui-settings/src/views/PVChargeConfig.vue"]]);export{ge as default}; diff --git a/web/settings/assets/PVChargeConfig-b9f94d54.js b/web/settings/assets/PVChargeConfig-b9f94d54.js deleted file mode 100644 index aacdc477df..0000000000 --- a/web/settings/assets/PVChargeConfig-b9f94d54.js +++ /dev/null @@ -1 +0,0 @@ -import{C as w}from"./index-131a952e.js";import{_ as W,q as h,k as o,l as g,u as i,B as a,M as s,x as r,z as b,A as p}from"./vendor-f0f38b48.js";import"./vendor-fortawesome-9fdc06a9.js";import"./vendor-bootstrap-384bc385.js";import"./vendor-jquery-8576ed22.js";import"./vendor-axios-e59ef189.js";import"./vendor-sortablejs-cbf37f8f.js";const B={name:"OpenwbPVChargeConfig",mixins:[w],data(){return{mqttTopicsToSubscribe:["openWB/general/extern","openWB/general/chargemode_config/pv_charging/control_range","openWB/general/chargemode_config/pv_charging/feed_in_yield","openWB/general/chargemode_config/pv_charging/switch_on_threshold","openWB/general/chargemode_config/pv_charging/switch_on_delay","openWB/general/chargemode_config/pv_charging/switch_off_threshold","openWB/general/chargemode_config/pv_charging/switch_off_delay","openWB/general/chargemode_config/pv_charging/phases_to_use","openWB/general/chargemode_config/pv_charging/phase_switch_delay","openWB/general/chargemode_config/pv_charging/bat_mode","openWB/general/chargemode_config/pv_charging/bat_power_reserve","openWB/general/chargemode_config/pv_charging/bat_power_reserve_active","openWB/general/chargemode_config/pv_charging/bat_power_discharge","openWB/general/chargemode_config/pv_charging/bat_power_discharge_active","openWB/general/chargemode_config/pv_charging/min_bat_soc"],calculatedControlMode:void 0}},computed:{controlMode:{get(){if(this.calculatedControlMode!==void 0)return this.calculatedControlMode;const n="openWB/general/chargemode_config/pv_charging/control_range";let e=this.$store.state.mqtt[n];var u="individual";return typeof e<"u"&&(e[0]===-230&&e[1]===0?u="export":e[0]===0&&e[1]===230?u="import":e[0]===-115&&e[1]===115?u="balanced":u="individual"),u},set(n){const e="openWB/general/chargemode_config/pv_charging/control_range";switch(this.calculatedControlMode=n,n){case"export":this.updateState(e,[-230,0]);break;case"import":this.updateState(e,[0,230]);break;case"balanced":this.updateState(e,[-115,115]);break}}},batMode(){return this.$store.state.mqtt["openWB/general/chargemode_config/pv_charging/bat_mode"]}},watch:{controlMode(n){this.calculatedControlMode=n}}},S={class:"pvChargeConfig"},V={name:"pvChargeConfigForm"},z={key:0},k={key:1},M=i("br",null,null,-1),y=i("br",null,null,-1),E=i("hr",null,null,-1),q=i("br",null,null,-1),L=i("br",null,null,-1),C=i("hr",null,null,-1),R=i("br",null,null,-1),A=i("br",null,null,-1),P=i("hr",null,null,-1),U=i("br",null,null,-1),$=i("br",null,null,-1),F=i("br",null,null,-1),D=i("br",null,null,-1),N={key:0},I={key:1},O={key:0},T={key:1},Z=i("br",null,null,-1),G=i("br",null,null,-1),H=i("br",null,null,-1),J=i("br",null,null,-1),j=i("br",null,null,-1),K=i("br",null,null,-1),Q={key:0},X=i("br",null,null,-1);function Y(n,e,u,x,ee,d){const m=h("openwb-base-alert"),c=h("openwb-base-button-group-input"),l=h("openwb-base-number-input"),_=h("openwb-base-card"),v=h("openwb-base-range-input"),f=h("openwb-base-submit-buttons");return o(),g("div",S,[i("form",V,[a(_,{title:"Regelparameter"},{default:s(()=>[n.$store.state.mqtt["openWB/general/extern"]===!0?(o(),g("div",z,[a(m,{subtype:"info"},{default:s(()=>[r(' Diese Einstellungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. ')]),_:1})])):(o(),g("div",k,[a(c,{title:"Regelmodus",buttons:[{buttonValue:"export",text:"Einspeisung"},{buttonValue:"import",text:"Bezug"},{buttonValue:"balanced",text:"Ausgewogen"},{buttonValue:"individual",text:"Individuell"}],modelValue:d.controlMode,"onUpdate:modelValue":e[0]||(e[0]=t=>d.controlMode=t)},{help:s(()=>[r(" Der Regelbereich wird auf den gesamten Überschuss angewendet, bevor die PV-Regelung durchgeführt wird. D.h. der Regelbereich wird auf alle Einstellungen für das PV-Laden angewendet und nur einmal unabhängig von der Anzahl der angesteckten Fahrzeuge. Liegt der Überschuss im vorgegebenen Regelbereich, wird nicht nachgeregelt. Liegt der Überschuss außerhalb des Regelbereichs, wird in die Mitte des Regelbereichs nachgeregelt."),M,r(' "Einspeisung" definiert einen Bereich mit minimaler Einspeisung (-230W, 0W), "Bezug" mit minimalem Netzbezug (0W, 230W), "Ausgewogen" mit ausgewogenem Netzbezug (-115W, 115W). Mit der Auswahl "individuell" kann ein eigener Regelbereich definiert werden.'),y,r(" Bei Speichervorrang erzeugt die Regelung bei Bedarf unabhängig vom eingestellten Regelmodus Einspeisung, damit der Speicher seine Ladeleistung erhöht. ")]),_:1},8,["modelValue"]),a(l,{disabled:d.controlMode!=="individual",readonly:d.controlMode!=="individual",title:"Minimum",step:.005,unit:"kW","model-value":Array.isArray(n.$store.state.mqtt["openWB/general/chargemode_config/pv_charging/control_range"])?n.$store.state.mqtt["openWB/general/chargemode_config/pv_charging/control_range"][0]/1e3:void 0,"onUpdate:modelValue":e[1]||(e[1]=t=>n.updateState("openWB/general/chargemode_config/pv_charging/control_range",t*1e3,"0"))},{help:s(()=>[r(" Untere Grenze des Regelbereichs. ")]),_:1},8,["disabled","readonly","model-value"]),a(l,{disabled:d.controlMode!=="individual",readonly:d.controlMode!=="individual",title:"Maximum",step:.005,unit:"kW","model-value":Array.isArray(n.$store.state.mqtt["openWB/general/chargemode_config/pv_charging/control_range"])?n.$store.state.mqtt["openWB/general/chargemode_config/pv_charging/control_range"][1]/1e3:void 0,"onUpdate:modelValue":e[2]||(e[2]=t=>n.updateState("openWB/general/chargemode_config/pv_charging/control_range",t*1e3,"1"))},{help:s(()=>[r("Obere Grenze des Regelbereichs.")]),_:1},8,["disabled","readonly","model-value"]),E,a(l,{title:"Einschaltschwelle",min:0,step:.05,unit:"kW","model-value":n.$store.state.mqtt["openWB/general/chargemode_config/pv_charging/switch_on_threshold"]/1e3,"onUpdate:modelValue":e[3]||(e[3]=t=>n.updateState("openWB/general/chargemode_config/pv_charging/switch_on_threshold",t*1e3))},{help:s(()=>[r(" Wird der Regelbereich in Richtung Einspeisung um diese Leistung überschritten, so wird der Ladevorgang gestartet."),q,r(" Dieser Wert wird pro Phase genutzt und ist daher immer für eine Phase anzugeben. ")]),_:1},8,["model-value"]),a(l,{title:"Einschaltverzögerung",min:0,step:1,unit:"s","model-value":n.$store.state.mqtt["openWB/general/chargemode_config/pv_charging/switch_on_delay"],"onUpdate:modelValue":e[4]||(e[4]=t=>n.updateState("openWB/general/chargemode_config/pv_charging/switch_on_delay",t))},{help:s(()=>[r(" Die Einschaltschwelle muss für die hier angegebene Zeit dauerhaft überschritten werden, bevor ein Ladevorgang gestartet wird."),L,r(" Wenn ein Ladevorgang aktiv ist und auf PV-Laden umgeschaltet wird, wird weiter geladen, wenn die Abschaltschwelle nicht unterschritten wird. ")]),_:1},8,["model-value"]),C,a(l,{title:"Abschaltschwelle",step:.05,unit:"kW","model-value":n.$store.state.mqtt["openWB/general/chargemode_config/pv_charging/switch_off_threshold"]/1e3,"onUpdate:modelValue":e[5]||(e[5]=t=>n.updateState("openWB/general/chargemode_config/pv_charging/switch_off_threshold",t*1e3))},{help:s(()=>[r(" Wird der Regelbereich in Richtung Netzbezug um diese Leistung überschritten, so wird der Ladevorgang beendet."),R,r(" Dieser Wert ist unabhängig von der Anzahl genutzter Phasen. ")]),_:1},8,["model-value"]),a(l,{title:"Abschaltverzögerung",min:0,step:1,unit:"s","model-value":n.$store.state.mqtt["openWB/general/chargemode_config/pv_charging/switch_off_delay"],"onUpdate:modelValue":e[6]||(e[6]=t=>n.updateState("openWB/general/chargemode_config/pv_charging/switch_off_delay",t))},{help:s(()=>[r(" Die Abschaltschwelle muss für die hier angegebene Zeit dauerhaft unterschritten werden, bevor ein Ladevorgang beendet wird."),A,r(" Wenn ein Ladevorgang aktiv ist und auf PV-Laden umgeschaltet wird, wird die Ladung sofort beendet, wenn die Abschaltschwelle unterschritten wird. ")]),_:1},8,["model-value"]),P,a(l,{title:"Regelpunkt Einspeisegrenze",min:0,step:.05,unit:"kW","model-value":n.$store.state.mqtt["openWB/general/chargemode_config/pv_charging/feed_in_yield"]/1e3,"onUpdate:modelValue":e[7]||(e[7]=t=>n.updateState("openWB/general/chargemode_config/pv_charging/feed_in_yield",t*1e3))},{help:s(()=>[r(" Ein Wert größer 0kW bewirkt, dass weniger PV-Leistung zum Laden benutzt wird."),U,r(" Die Nutzung dieser Option ergibt nur Sinn, wenn ein Wechselrichter mit separatem Smart-Meter am EVU-Punkt verbaut ist (nicht der originale Zähler des Versorgers!), welches eine dynamische Begrenzung der Einspeiseleistung am EVU-Punkt durch den PV-Wechselrichter bietet (bitte bei ev. Problemen immer vorab prüfen lassen)."),$,r(' Ist eine Einspeiseleistungsreduzierung verbaut (in vielen älteren, privaten Einspeiseverträgen z.B. als 70% Regelung bekannt), wird mit Eingabe des Wertes "Regelpunkt Einspeisegrenze" ein eigenverbrauchsoptimiertes Fahrzeugladen mit PV-Überschussenergie möglich, die sonst abgeregelt werden würde (Nutzung der PV-Peaks).'),F,r(' Wird in einem "Ladeprofil" die Option "Einspeisegrenze beachten" eingeschaltet, so wird der Regelpunkt auf diesen Wert verschoben und die Ladung startet erst, wenn der hinterlegte Wert "Regelpunkt Einspeisegrenze" überschritten wird.'),D,r(" Zur optimalen Eigenverbrauchssteuerung sollte der Wert einige hundert Watt UNTER der im Wechselrichter hinterlegten EVU-Einspeiseleistungsgrenze liegen, damit openWB die Ladung freigibt, BEVOR der Wechselrichter begrenzt wird. ")]),_:1},8,["model-value"])]))]),_:1}),a(_,{title:"Phasenumschaltung"},{default:s(()=>[n.$store.state.mqtt["openWB/general/extern"]===!0?(o(),g("div",N,[a(m,{subtype:"info"},{default:s(()=>[r(' Diese Einstellungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. ')]),_:1})])):(o(),g("div",I,[a(c,{title:"Anzahl Phasen",buttons:[{buttonValue:1,text:"1"},{buttonValue:3,text:"Maximum"},{buttonValue:0,text:"Automatik"}],"model-value":n.$store.state.mqtt["openWB/general/chargemode_config/pv_charging/phases_to_use"],"onUpdate:modelValue":e[8]||(e[8]=t=>n.updateState("openWB/general/chargemode_config/pv_charging/phases_to_use",t))},{help:s(()=>[r(' Hier kann eingestellt werden, ob Ladevorgänge im Modus "PV-Laden" mit nur einer Phase oder dem möglichen Maximum in Abhängigkeit der "Ladepunkt"- und "Fahrzeug"-Einstellungen durchgeführt werden. Im Modus "Automatik" entscheidet die Regelung, welche Einstellung genutzt wird, um den verfügbaren Überschuss in die Fahrzeuge zu laden. Voraussetzung ist die verbaute Umschaltmöglichkeit zwischen einer und drei Phasen (s.g. 1p3p). ')]),_:1},8,["model-value"]),n.$store.state.mqtt["openWB/general/chargemode_config/pv_charging/phases_to_use"]==0?(o(),b(v,{key:0,title:"Verzögerung automat. Phasenumschaltung",min:1,max:15,step:1,unit:"Min.","model-value":n.$store.state.mqtt["openWB/general/chargemode_config/pv_charging/phase_switch_delay"],"onUpdate:modelValue":e[9]||(e[9]=t=>n.updateState("openWB/general/chargemode_config/pv_charging/phase_switch_delay",t))},{help:s(()=>[r(" Um zu viele Umschaltungen zu vermeiden, wird Anhand dieses Wertes definiert, wann die Umschaltung erfolgen soll. Ist für durchgehend x Minuten die Maximalstromstärke erreicht, wird auf mehrphasige Ladung umgestellt. Ist die Ladung nur für ein Intervall unterhalb der Maximalstromstärke, beginnt das Intervall für die Umschaltung erneut. Ist die Ladung im mehrphasigen Modus für 16 - x Minuten auf der Minimalstromstärke, wird wieder auf einphasige Ladung gewechselt. ")]),_:1},8,["model-value"])):p("",!0)]))]),_:1}),a(_,{title:"Speicher-Beachtung"},{default:s(()=>[n.$store.state.mqtt["openWB/general/extern"]===!0?(o(),g("div",O,[a(m,{subtype:"info"},{default:s(()=>[r(' Diese Einstellungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. ')]),_:1})])):(o(),g("div",T,[a(c,{title:"Laden mit Überschuss",buttons:[{buttonValue:"ev_mode",text:"Fahrzeuge"},{buttonValue:"bat_mode",text:"Speicher"},{buttonValue:"min_soc_bat_mode",text:"Mindest-SoC des Speichers"}],modelValue:d.batMode,"onUpdate:modelValue":[e[10]||(e[10]=t=>d.batMode=t),e[11]||(e[11]=t=>n.updateState("openWB/general/chargemode_config/pv_charging/bat_mode",t))],"model-value":n.$store.state.mqtt["openWB/general/chargemode_config/pv_charging/bat_mode"]},{help:s(()=>[r(' Sofern ein Hausstromspeicher (im Folgenden "Speicher" genannt) im Energiesystem verbaut ist, kann dieser beim Fahrzeugladen mit berücksichtigt werden. Dies erfolgt passiv über die Berücksichtigung der Speicherleistungswerte und des Speicher-SoC. Eine aktive Speichersteuerung durch openWB ist aktuell mangels Speicherschnittstelle nicht möglich.'),Z,G,r(' Bei Auswahl "Fahrzeuge" wird der gesamte Überschuss in das EV geladen. Ist die maximale Ladeleistung der Fahrzeuge erreicht und es wird eingespeist, wird dieser Überschuss in den Speicher geladen.'),H,J,r(' Bei Auswahl "Speicher" wird der gesamte Überschuss in den Speicher geladen. Ist die maximale Ladeleistung des Speichers erreicht und es wird eingespeist, wird dieser Überschuss unter Beachtung der Einschaltschwelle in die Fahrzeuge geladen.'),j,K,r(' Bei Auswahl "Mindest-SoC des Speichers" wird der Überschuss bis zum Mindest-SoC in den Speicher geladen. Ist die maximale Ladeleistung des Speichers erreicht und es wird eingespeist, wird dieser Überschuss in die Fahrzeuge geladen. Wird der Mindest-SoC überschritten, wird der Überschuss ins Fahrzeug geladen. ')]),_:1},8,["modelValue","model-value"]),d.batMode==="min_soc_bat_mode"?(o(),g("div",Q,[a(c,{title:"Ladeleistung für Speicher unterhalb des Mindest-SoC des Speichers",buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],modelValue:n.batPowerReserveActive,"onUpdate:modelValue":[e[12]||(e[12]=t=>n.batPowerReserveActive=t),e[13]||(e[13]=t=>n.updateState("openWB/general/chargemode_config/pv_charging/bat_power_reserve_active",t))],"model-value":n.$store.state.mqtt["openWB/general/chargemode_config/pv_charging/bat_power_reserve_active"]},{help:s(()=>[r("ACHTUNG: Der hier eingestellte Wert darf die maximale Ladeleistung des Speichers nicht überschreiten."),X,r(" Wird der Mindest-SoC des Speichers nicht erreicht, wird der Speicher mit der hier eingestellte Leistung geladen. Mit dem verbleibenden Überschuss werden die Fahrzeuge geladen.")]),_:1},8,["modelValue","model-value"]),n.$store.state.mqtt["openWB/general/chargemode_config/pv_charging/bat_power_reserve_active"]?(o(),b(l,{key:0,min:.1,step:.1,unit:"kW",required:n.required,"model-value":n.$store.state.mqtt["openWB/general/chargemode_config/pv_charging/bat_power_reserve"]/1e3,"onUpdate:modelValue":e[14]||(e[14]=t=>n.updateState("openWB/general/chargemode_config/pv_charging/bat_power_reserve",t*1e3))},null,8,["required","model-value"])):p("",!0),a(v,{title:"Mindest-SoC des Speichers",min:0,max:100,step:1,unit:"%",required:n.required,"model-value":n.$store.state.mqtt["openWB/general/chargemode_config/pv_charging/min_bat_soc"],"onUpdate:modelValue":e[15]||(e[15]=t=>n.updateState("openWB/general/chargemode_config/pv_charging/min_bat_soc",t))},null,8,["required","model-value"]),a(c,{title:"Entladeleistung des Speichers oberhalb des Mindest-SoC des Speichers",buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],modelValue:n.batPowerReserveActive,"onUpdate:modelValue":[e[16]||(e[16]=t=>n.batPowerReserveActive=t),e[17]||(e[17]=t=>n.updateState("openWB/general/chargemode_config/pv_charging/bat_power_discharge_active",t))],"model-value":n.$store.state.mqtt["openWB/general/chargemode_config/pv_charging/bat_power_discharge_active"]},{help:s(()=>[r("Wird der Mindest-SoC überschritten, wird der Überschuss ins Fahrzeug geladen und der Speicher mit der hier eingestellten Leistung in die Fahrzeuge entladen. Die Entladeleistung des Speichers wird dem Überschuss zum Erreichen der Einschaltschwelle hinzugerechnet.")]),_:1},8,["modelValue","model-value"]),n.$store.state.mqtt["openWB/general/chargemode_config/pv_charging/bat_power_discharge_active"]?(o(),b(l,{key:1,min:.1,step:.1,unit:"kW",required:n.required,"model-value":n.$store.state.mqtt["openWB/general/chargemode_config/pv_charging/bat_power_discharge"]/1e3,"onUpdate:modelValue":e[18]||(e[18]=t=>n.updateState("openWB/general/chargemode_config/pv_charging/bat_power_discharge",t*1e3))},null,8,["required","model-value"])):p("",!0)])):p("",!0)]))]),_:1}),a(f,{formName:"pvChargeConfigForm",onSave:e[19]||(e[19]=t=>n.$emit("save")),onReset:e[20]||(e[20]=t=>n.$emit("reset")),onDefaults:e[21]||(e[21]=t=>n.$emit("defaults"))})])])}const de=W(B,[["render",Y],["__file","/opt/openWB-dev/openwb-ui-settings/src/views/PVChargeConfig.vue"]]);export{de as default}; diff --git a/web/settings/assets/ScheduledChargeConfig-70c2a8ec.js b/web/settings/assets/ScheduledChargeConfig-6f25b09e.js similarity index 85% rename from web/settings/assets/ScheduledChargeConfig-70c2a8ec.js rename to web/settings/assets/ScheduledChargeConfig-6f25b09e.js index 842c397298..b2f31128fe 100644 --- a/web/settings/assets/ScheduledChargeConfig-70c2a8ec.js +++ b/web/settings/assets/ScheduledChargeConfig-6f25b09e.js @@ -1 +1 @@ -import{C as p}from"./index-131a952e.js";import{_ as h,q as o,k as a,l as i,u as c,B as s,M as r,x as u}from"./vendor-f0f38b48.js";import"./vendor-fortawesome-9fdc06a9.js";import"./vendor-bootstrap-384bc385.js";import"./vendor-jquery-8576ed22.js";import"./vendor-axios-e59ef189.js";import"./vendor-sortablejs-cbf37f8f.js";const _={name:"OpenwbScheduledChargeConfig",mixins:[p],data(){return{mqttTopicsToSubscribe:["openWB/general/extern","openWB/general/chargemode_config/scheduled_charging/phases_to_use"]}}},b={class:"scheduledChargeConfig"},f={name:"scheduledChargeConfigForm"},v={key:0},w={key:1};function C(t,e,$,k,B,V){const d=o("openwb-base-alert"),l=o("openwb-base-button-group-input"),m=o("openwb-base-card"),g=o("openwb-base-submit-buttons");return a(),i("div",b,[c("form",f,[s(m,{title:"Phasenumschaltung"},{default:r(()=>[t.$store.state.mqtt["openWB/general/extern"]===!0?(a(),i("div",v,[s(d,{subtype:"info"},{default:r(()=>[u(' Diese Einstellungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. ')]),_:1})])):(a(),i("div",w,[s(l,{title:"Anzahl Phasen",buttons:[{buttonValue:1,text:"1"},{buttonValue:3,text:"Maximum"},{buttonValue:0,text:"Automatik"}],"model-value":t.$store.state.mqtt["openWB/general/chargemode_config/scheduled_charging/phases_to_use"],"onUpdate:modelValue":e[0]||(e[0]=n=>t.updateState("openWB/general/chargemode_config/scheduled_charging/phases_to_use",n))},{help:r(()=>[u(' Hier kann eingestellt werden, ob Ladevorgänge im Modus "Zielladen" mit nur einer Phase oder dem möglichen Maximum in Abhängigkeit der "Ladepunkt"- und "Fahrzeug"-Einstellungen durchgeführt werden. Im Modus "Automatik" entscheidet die Regelung, welche Einstellung genutzt wird, um das Ziel zu erreichen. Voraussetzung ist die verbaute Umschaltmöglichkeit zwischen 1- und 3-phasig (s.g. 1p3p). ')]),_:1},8,["model-value"])]))]),_:1}),s(g,{formName:"scheduledChargeConfigForm",onSave:e[1]||(e[1]=n=>t.$emit("save")),onReset:e[2]||(e[2]=n=>t.$emit("reset")),onDefaults:e[3]||(e[3]=n=>t.$emit("defaults"))})])])}const A=h(_,[["render",C],["__file","/opt/openWB-dev/openwb-ui-settings/src/views/ScheduledChargeConfig.vue"]]);export{A as default}; +import{C as p}from"./index-eaa58995.js";import{_ as h,q as o,k as a,l as i,u as c,B as s,M as r,x as u}from"./vendor-493c2bec.js";import"./vendor-fortawesome-542fe04f.js";import"./vendor-bootstrap-a615942d.js";import"./vendor-jquery-a64a4809.js";import"./vendor-axios-b1ba123b.js";import"./vendor-sortablejs-0b339223.js";const _={name:"OpenwbScheduledChargeConfig",mixins:[p],data(){return{mqttTopicsToSubscribe:["openWB/general/extern","openWB/general/chargemode_config/scheduled_charging/phases_to_use"]}}},b={class:"scheduledChargeConfig"},f={name:"scheduledChargeConfigForm"},v={key:0},w={key:1};function C(t,e,$,k,B,V){const d=o("openwb-base-alert"),l=o("openwb-base-button-group-input"),m=o("openwb-base-card"),g=o("openwb-base-submit-buttons");return a(),i("div",b,[c("form",f,[s(m,{title:"Phasenumschaltung"},{default:r(()=>[t.$store.state.mqtt["openWB/general/extern"]===!0?(a(),i("div",v,[s(d,{subtype:"info"},{default:r(()=>[u(' Diese Einstellungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. ')]),_:1})])):(a(),i("div",w,[s(l,{title:"Anzahl Phasen",buttons:[{buttonValue:1,text:"1"},{buttonValue:3,text:"Maximum"},{buttonValue:0,text:"Automatik"}],"model-value":t.$store.state.mqtt["openWB/general/chargemode_config/scheduled_charging/phases_to_use"],"onUpdate:modelValue":e[0]||(e[0]=n=>t.updateState("openWB/general/chargemode_config/scheduled_charging/phases_to_use",n))},{help:r(()=>[u(' Hier kann eingestellt werden, ob Ladevorgänge im Modus "Zielladen" mit nur einer Phase oder dem möglichen Maximum in Abhängigkeit der "Ladepunkt"- und "Fahrzeug"-Einstellungen durchgeführt werden. Im Modus "Automatik" entscheidet die Regelung, welche Einstellung genutzt wird, um das Ziel zu erreichen. Voraussetzung ist die verbaute Umschaltmöglichkeit zwischen 1- und 3-phasig (s.g. 1p3p). ')]),_:1},8,["model-value"])]))]),_:1}),s(g,{formName:"scheduledChargeConfigForm",onSave:e[1]||(e[1]=n=>t.$emit("save")),onReset:e[2]||(e[2]=n=>t.$emit("reset")),onDefaults:e[3]||(e[3]=n=>t.$emit("defaults"))})])])}const A=h(_,[["render",C],["__file","/opt/openWB-dev/openwb-ui-settings/src/views/ScheduledChargeConfig.vue"]]);export{A as default}; diff --git a/web/settings/assets/Status-1831bf84.js b/web/settings/assets/Status-e4dc10a2.js similarity index 98% rename from web/settings/assets/Status-1831bf84.js rename to web/settings/assets/Status-e4dc10a2.js index 0bb3cc3222..c1d5e7c50d 100644 --- a/web/settings/assets/Status-1831bf84.js +++ b/web/settings/assets/Status-e4dc10a2.js @@ -1 +1 @@ -import{C as y}from"./index-131a952e.js";import{l as w,K as L,F as x,L as k,M as C,c as T,N as z,O as S,P as A,Q as E,R as M,S as V}from"./vendor-fortawesome-9fdc06a9.js";import{_ as W,q as n,k as a,z as s,M as u,B as t,x as c,y as g,u as v,A as q,R as H,S as Z,l as I,I as P,J as $}from"./vendor-f0f38b48.js";import{C as K,p as F,a as J,L as G,b as Q,P as U,c as X,T as Y,i as ee,d as te,e as ne}from"./vendor-chartjs-3e4a7d38.js";import"./vendor-bootstrap-384bc385.js";import"./vendor-jquery-8576ed22.js";import"./vendor-axios-e59ef189.js";import"./vendor-sortablejs-cbf37f8f.js";import"./vendor-luxon-78deadb9.js";w.add(L);const oe={name:"ChargePointSumCard",mixins:[y],components:{FontAwesomeIcon:x}};function ae(e,_,o,h,m,r){const l=n("font-awesome-icon"),p=n("openwb-base-text-input"),d=n("openwb-base-heading"),i=n("openwb-base-card");return a(),s(i,{subtype:"primary",collapsible:!0,collapsed:!0},{header:u(()=>[t(l,{"fixed-width":"",icon:["fas","charging-station"]}),c(" Alle Ladepunkte ")]),default:u(()=>[t(p,{title:"Leistung",readonly:"",class:"text-right text-monospace",step:"0.001",unit:"kW","model-value":e.formatNumberTopic("openWB/chargepoint/get/power",3,3,.001)},null,8,["model-value"]),t(p,{title:"Zählerstand laden",readonly:"",class:"text-right text-monospace",step:"0.001",unit:"kWh","model-value":e.formatNumberTopic("openWB/chargepoint/get/imported",3,3,.001)},null,8,["model-value"]),t(p,{title:"Zählerstand entladen",readonly:"",class:"text-right text-monospace",step:"0.001",unit:"kWh","model-value":e.formatNumberTopic("openWB/chargepoint/get/exported",3,3,.001)},null,8,["model-value"]),t(d,null,{default:u(()=>[c("Historie")]),_:1}),t(p,{title:"Heute geladen",readonly:"",class:"text-right text-monospace",step:"0.001",unit:"kWh","model-value":e.formatNumberTopic("openWB/chargepoint/get/daily_imported",3,3,.001)},null,8,["model-value"]),t(p,{title:"Heute entladen",readonly:"",class:"text-right text-monospace",step:"0.001",unit:"kWh","model-value":e.formatNumberTopic("openWB/chargepoint/get/daily_exported",3,3,.001)},null,8,["model-value"])]),_:1})}const re=W(oe,[["render",ae],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/status/ChargePointSumCard.vue"]]);w.add(k,C,T,L);const se={name:"ChargePointCard",mixins:[y],components:{FontAwesomeIcon:x},props:{installedChargePointKey:String,installedChargePoint:Object},data(){return{statusLevel:["success","warning","danger"]}},computed:{chargePointIndex:{get(){return parseInt(this.installedChargePointKey.match(/(?:\/)(\d+)(?=\/)/)[1])}}}},le=v("br",null,null,-1),ie=v("br",null,null,-1);function ce(e,_,o,h,m,r){const l=n("font-awesome-icon"),p=n("openwb-base-alert"),d=n("openwb-base-checkbox-input"),i=n("openwb-base-text-input"),f=n("openwb-base-heading"),B=n("openwb-base-card");return a(),s(B,{subtype:"primary",collapsible:!0,collapsed:!0},{header:u(()=>[t(l,{"fixed-width":"",icon:["fas","charging-station"]}),c(" "+g(o.installedChargePoint.name)+" (ID: "+g(r.chargePointIndex)+") ",1)]),default:u(()=>[t(p,{subtype:m.statusLevel[e.$store.state.mqtt["openWB/chargepoint/"+r.chargePointIndex+"/get/fault_state"]]},{default:u(()=>[e.$store.state.mqtt["openWB/chargepoint/"+r.chargePointIndex+"/get/fault_state"]==1?(a(),s(l,{key:0,"fixed-width":"",icon:["fas","exclamation-triangle"]})):e.$store.state.mqtt["openWB/chargepoint/"+r.chargePointIndex+"/get/fault_state"]==2?(a(),s(l,{key:1,"fixed-width":"",icon:["fas","times-circle"]})):(a(),s(l,{key:2,"fixed-width":"",icon:["fas","check-circle"]})),c(" Modulmeldung:"),le,c(" "+g(e.$store.state.mqtt["openWB/chargepoint/"+r.chargePointIndex+"/get/fault_str"]),1)]),_:1},8,["subtype"]),t(p,{subtype:"info"},{default:u(()=>[c(" Statusmeldung:"),ie,c(" "+g(e.$store.state.mqtt["openWB/chargepoint/"+r.chargePointIndex+"/get/state_str"]),1)]),_:1}),t(d,{title:"Fahrzeug angesteckt",disabled:"","model-value":e.$store.state.mqtt["openWB/chargepoint/"+r.chargePointIndex+"/get/plug_state"]==1},null,8,["model-value"]),t(d,{title:"Ladevorgang aktiv",disabled:"","model-value":e.$store.state.mqtt["openWB/chargepoint/"+r.chargePointIndex+"/get/charge_state"]==1},null,8,["model-value"]),t(i,{title:"Zählerstand laden",readonly:"",class:"text-right text-monospace",step:"0.001",unit:"kWh","model-value":e.formatNumberTopic("openWB/chargepoint/"+r.chargePointIndex+"/get/imported",3,3,.001)},null,8,["model-value"]),t(i,{title:"Zählerstand entladen",readonly:"",class:"text-right text-monospace",step:"0.001",unit:"kWh","model-value":e.formatNumberTopic("openWB/chargepoint/"+r.chargePointIndex+"/get/exported",3,3,.001)},null,8,["model-value"]),t(i,{title:"Heute geladen",readonly:"",class:"text-right text-monospace",step:"0.001",unit:"kWh","model-value":e.formatNumberTopic("openWB/chargepoint/"+r.chargePointIndex+"/get/daily_imported",3,3,.001)},null,8,["model-value"]),t(i,{title:"Heute entladen",readonly:"",class:"text-right text-monospace",step:"0.001",unit:"kWh","model-value":e.formatNumberTopic("openWB/chargepoint/"+r.chargePointIndex+"/get/daily_exported",3,3,.001)},null,8,["model-value"]),t(i,{title:"Wirkleistung",readonly:"",class:"text-right text-monospace",step:"0.001",unit:"kW","model-value":e.formatNumberTopic("openWB/chargepoint/"+r.chargePointIndex+"/get/power",3,3,.001)},null,8,["model-value"]),t(i,{title:"Ladestromvorgabe",readonly:"",class:"text-right text-monospace",step:"0.01",unit:"A","model-value":e.formatNumberTopic("openWB/chargepoint/"+r.chargePointIndex+"/set/current",2)},null,8,["model-value"]),t(i,{title:"Netzfrequenz",readonly:"",class:"text-right text-monospace",step:"0.01",unit:"Hz","model-value":e.formatNumberTopic("openWB/chargepoint/"+r.chargePointIndex+"/get/frequency",2)},null,8,["model-value"]),t(f,null,{default:u(()=>[c("Werte pro Phase")]),_:1}),t(i,{title:"Spannung",readonly:"",class:"text-right text-monospace",unit:"V","model-value":e.formatPhaseArrayNumberTopic("openWB/chargepoint/"+r.chargePointIndex+"/get/voltages",1)},null,8,["model-value"]),t(i,{title:"Strom",readonly:"",class:"text-right text-monospace",unit:"A","model-value":e.formatPhaseArrayNumberTopic("openWB/chargepoint/"+r.chargePointIndex+"/get/currents",2)},null,8,["model-value"]),t(i,{title:"Wirkleistung",readonly:"",class:"text-right text-monospace",unit:"kW","model-value":e.formatPhaseArrayNumberTopic("openWB/chargepoint/"+r.chargePointIndex+"/get/powers",3,3,.001)},null,8,["model-value"]),t(i,{title:"Leistungsfaktor",readonly:"",class:"text-right text-monospace","model-value":e.formatPhaseArrayNumberTopic("openWB/chargepoint/"+r.chargePointIndex+"/get/power_factors",2)},null,8,["model-value"]),t(f,null,{default:u(()=>[c("Phasen")]),_:1}),e.$store.state.mqtt["openWB/general/extern"]===!0?(a(),s(i,{key:0,title:"Vorgabe",readonly:"",class:"text-right text-monospace","model-value":e.formatNumberTopic("openWB/internal_chargepoint/"+r.chargePointIndex+"/data/phases_to_use")},null,8,["model-value"])):(a(),s(i,{key:1,title:"Vorgabe",readonly:"",class:"text-right text-monospace","model-value":e.formatNumberTopic("openWB/chargepoint/"+r.chargePointIndex+"/set/phases_to_use")},null,8,["model-value"])),t(i,{title:"Aktuell",readonly:"",class:"text-right text-monospace","model-value":e.formatNumberTopic("openWB/chargepoint/"+r.chargePointIndex+"/get/phases_in_use")},null,8,["model-value"])]),_:1})}const ue=W(se,[["render",ce],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/status/ChargePointCard.vue"]]);w.add(k,C,T,z);const de={name:"CounterCard",mixins:[y],components:{FontAwesomeIcon:x},props:{counter:Object},data(){return{statusLevel:["success","warning","danger"]}}},pe=v("br",null,null,-1),me=v("br",null,null,-1);function ge(e,_,o,h,m,r){const l=n("font-awesome-icon"),p=n("openwb-base-alert"),d=n("openwb-base-heading"),i=n("openwb-base-text-input"),f=n("openwb-base-card");return a(),s(f,{subtype:"danger",collapsible:!0,collapsed:!0},{header:u(()=>[t(l,{"fixed-width":"",icon:["fas","gauge-high"]}),c(" "+g(o.counter.name)+" (ID: "+g(o.counter.id)+") ",1)]),default:u(()=>[t(p,{subtype:m.statusLevel[e.$store.state.mqtt["openWB/counter/"+o.counter.id+"/get/fault_state"]]},{default:u(()=>[e.$store.state.mqtt["openWB/counter/"+o.counter.id+"/get/fault_state"]==1?(a(),s(l,{key:0,"fixed-width":"",icon:["fas","exclamation-triangle"]})):e.$store.state.mqtt["openWB/counter/"+o.counter.id+"/get/fault_state"]==2?(a(),s(l,{key:1,"fixed-width":"",icon:["fas","times-circle"]})):(a(),s(l,{key:2,"fixed-width":"",icon:["fas","check-circle"]})),c(" Modulmeldung:"),pe,c(" "+g(e.$store.state.mqtt["openWB/counter/"+o.counter.id+"/get/fault_str"]),1)]),_:1},8,["subtype"]),e.$store.state.mqtt["openWB/counter/"+o.counter.id+"/get/state_str"]!=null?(a(),s(p,{key:0,subtype:"info"},{default:u(()=>[c(" Statusmeldung:"),me,c(" "+g(e.$store.state.mqtt["openWB/counter/"+o.counter.id+"/get/state_str"]),1)]),_:1})):q("",!0),t(d,null,{default:u(()=>[c("Zählerstände")]),_:1}),t(i,{title:"Export",readonly:"",class:"text-right text-monospace",step:"0.001",unit:"kWh","model-value":e.formatNumberTopic("openWB/counter/"+o.counter.id+"/get/exported",3,3,.001)},null,8,["model-value"]),t(i,{title:"Import",readonly:"",class:"text-right text-monospace",step:"0.001",unit:"kWh","model-value":e.formatNumberTopic("openWB/counter/"+o.counter.id+"/get/imported",3,3,.001)},null,8,["model-value"]),t(d,null,{default:u(()=>[c("Saldierte Werte")]),_:1}),t(i,{title:"Wirkleistung",readonly:"",class:"text-right text-monospace",step:"0.001",unit:"kW","model-value":e.formatNumberTopic("openWB/counter/"+o.counter.id+"/get/power",3,3,.001)},null,8,["model-value"]),t(i,{title:"Netzfrequenz",readonly:"",class:"text-right text-monospace",step:"0.001",unit:"Hz","model-value":e.formatNumberTopic("openWB/counter/"+o.counter.id+"/get/frequency",3)},null,8,["model-value"]),t(d,null,{default:u(()=>[c("Werte pro Phase")]),_:1}),t(i,{title:"Spannung",readonly:"",class:"text-right text-monospace",unit:"V","model-value":e.formatPhaseArrayNumberTopic("openWB/counter/"+o.counter.id+"/get/voltages",1)},null,8,["model-value"]),t(i,{title:"Strom",readonly:"",class:"text-right text-monospace",unit:"A","model-value":e.formatPhaseArrayNumberTopic("openWB/counter/"+o.counter.id+"/get/currents",2)},null,8,["model-value"]),t(i,{title:"Wirkleistung",readonly:"",class:"text-right text-monospace",unit:"kW","model-value":e.formatPhaseArrayNumberTopic("openWB/counter/"+o.counter.id+"/get/powers",3,3,.001)},null,8,["model-value"]),t(i,{title:"Leistungsfaktor",readonly:"",class:"text-right text-monospace","model-value":e.formatPhaseArrayNumberTopic("openWB/counter/"+o.counter.id+"/get/power_factors",2)},null,8,["model-value"])]),_:1})}const _e=W(de,[["render",ge],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/status/CounterCard.vue"]]);w.add(k,C,T,S);const he={name:"InverterSumCard",mixins:[y],components:{FontAwesomeIcon:x},data(){return{statusLevel:["success","warning","danger"]}}},fe=v("br",null,null,-1);function be(e,_,o,h,m,r){const l=n("font-awesome-icon"),p=n("openwb-base-alert"),d=n("openwb-base-text-input"),i=n("openwb-base-heading"),f=n("openwb-base-card");return a(),s(f,{subtype:"success",collapsible:!0,collapsed:!0},{header:u(()=>[t(l,{"fixed-width":"",icon:["fas","solar-panel"]}),c(" Alle Wechselrichter ")]),default:u(()=>[t(p,{subtype:m.statusLevel[e.$store.state.mqtt["openWB/pv/get/fault_state"]]},{default:u(()=>[e.$store.state.mqtt["openWB/pv/get/fault_state"]==1?(a(),s(l,{key:0,"fixed-width":"",icon:["fas","exclamation-triangle"]})):e.$store.state.mqtt["openWB/pv/get/fault_state"]==2?(a(),s(l,{key:1,"fixed-width":"",icon:["fas","times-circle"]})):(a(),s(l,{key:2,"fixed-width":"",icon:["fas","check-circle"]})),c(" Modulmeldung:"),fe,c(" "+g(e.$store.state.mqtt["openWB/pv/get/fault_str"]),1)]),_:1},8,["subtype"]),t(d,{title:"Zählerstand",readonly:"",class:"text-right text-monospace",step:"0.001",unit:"kWh","model-value":e.formatNumberTopic("openWB/pv/get/exported",3,3,.001)},null,8,["model-value"]),t(d,{title:"Leistung",readonly:"",class:"text-right text-monospace",step:"0.001",unit:"kW","model-value":e.formatNumberTopic("openWB/pv/get/power",3,3,.001)},null,8,["model-value"]),t(i,null,{default:u(()=>[c("Erträge")]),_:1}),t(d,{title:"Heute",readonly:"",class:"text-right text-monospace",step:"0.001",unit:"kWh","model-value":e.formatNumberTopic("openWB/pv/get/daily_exported",3,3,.001)},null,8,["model-value"]),t(d,{title:"Dieser Monat",readonly:"",class:"text-right text-monospace",step:"0.001",unit:"kWh","model-value":e.formatNumberTopic("openWB/pv/get/monthly_exported",3,3,.001)},null,8,["model-value"]),t(d,{title:"Dieses Jahr",readonly:"",class:"text-right text-monospace",step:"0.001",unit:"kWh","model-value":e.formatNumberTopic("openWB/pv/get/yearly_exported",3,3,.001)},null,8,["model-value"])]),_:1})}const ve=W(he,[["render",be],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/status/InverterSumCard.vue"]]);w.add(k,C,T,S);const ye={name:"InverterCard",mixins:[y],components:{FontAwesomeIcon:x},props:{inverter:Object},data(){return{statusLevel:["success","warning","danger"]}}},We=v("br",null,null,-1);function we(e,_,o,h,m,r){const l=n("font-awesome-icon"),p=n("openwb-base-alert"),d=n("openwb-base-text-input"),i=n("openwb-base-heading"),f=n("openwb-base-card");return a(),s(f,{subtype:"success",collapsible:!0,collapsed:!0},{header:u(()=>[t(l,{"fixed-width":"",icon:["fas","solar-panel"]}),c(" "+g(o.inverter.name)+" (ID: "+g(o.inverter.id)+") ",1)]),default:u(()=>[t(p,{subtype:m.statusLevel[e.$store.state.mqtt["openWB/pv/"+o.inverter.id+"/get/fault_state"]]},{default:u(()=>[e.$store.state.mqtt["openWB/pv/"+o.inverter.id+"/get/fault_state"]==1?(a(),s(l,{key:0,"fixed-width":"",icon:["fas","exclamation-triangle"]})):e.$store.state.mqtt["openWB/pv/"+o.inverter.id+"/get/fault_state"]==2?(a(),s(l,{key:1,"fixed-width":"",icon:["fas","times-circle"]})):(a(),s(l,{key:2,"fixed-width":"",icon:["fas","check-circle"]})),c(" Modulmeldung:"),We,c(" "+g(e.$store.state.mqtt["openWB/pv/"+o.inverter.id+"/get/fault_str"]),1)]),_:1},8,["subtype"]),t(d,{title:"Zählerstand",readonly:"",class:"text-right text-monospace",step:"0.001",unit:"kWh","model-value":e.formatNumberTopic("openWB/pv/"+o.inverter.id+"/get/exported",3,3,.001)},null,8,["model-value"]),t(d,{title:"Leistung",readonly:"",class:"text-right text-monospace",step:"0.001",unit:"kW","model-value":e.formatNumberTopic("openWB/pv/"+o.inverter.id+"/get/power",3,3,.001)},null,8,["model-value"]),t(i,null,{default:u(()=>[c("Erträge")]),_:1}),t(d,{title:"Heute",readonly:"",class:"text-right text-monospace",step:"0.001",unit:"kWh","model-value":e.formatNumberTopic("openWB/pv/"+o.inverter.id+"/get/daily_exported",3,3,.001)},null,8,["model-value"]),t(d,{title:"Dieser Monat",readonly:"",class:"text-right text-monospace",step:"0.001",unit:"kWh","model-value":e.formatNumberTopic("openWB/pv/"+o.inverter.id+"/get/monthly_exported",3,3,.001)},null,8,["model-value"]),t(d,{title:"Dieses Jahr",readonly:"",class:"text-right text-monospace",step:"0.001",unit:"kWh","model-value":e.formatNumberTopic("openWB/pv/"+o.inverter.id+"/get/yearly_exported",3,3,.001)},null,8,["model-value"])]),_:1})}const xe=W(ye,[["render",we],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/status/InverterCard.vue"]]);w.add(k,C,T,A);const Be={name:"BatterySumCard",mixins:[y],components:{FontAwesomeIcon:x},data(){return{statusLevel:["success","warning","danger"]}}},ke=v("br",null,null,-1);function Ce(e,_,o,h,m,r){const l=n("font-awesome-icon"),p=n("openwb-base-alert"),d=n("openwb-base-heading"),i=n("openwb-base-text-input"),f=n("openwb-base-number-input"),B=n("openwb-base-card");return a(),s(B,{subtype:"warning",collapsible:!0,collapsed:!0},{header:u(()=>[t(l,{"fixed-width":"",icon:["fas","car-battery"]}),c(" Alle Speicher ")]),default:u(()=>[t(p,{subtype:m.statusLevel[e.$store.state.mqtt["openWB/bat/get/fault_state"]]},{default:u(()=>[e.$store.state.mqtt["openWB/bat/get/fault_state"]==1?(a(),s(l,{key:0,"fixed-width":"",icon:["fas","exclamation-triangle"]})):e.$store.state.mqtt["openWB/bat/get/fault_state"]==2?(a(),s(l,{key:1,"fixed-width":"",icon:["fas","times-circle"]})):(a(),s(l,{key:2,"fixed-width":"",icon:["fas","check-circle"]})),c(" Modulmeldung:"),ke,c(" "+g(e.$store.state.mqtt["openWB/bat/get/fault_str"]),1)]),_:1},8,["subtype"]),t(d,null,{default:u(()=>[c("Zählerstände")]),_:1}),t(i,{title:"Ladung",readonly:"",class:"text-right text-monospace",step:"0.001",unit:"kWh","model-value":e.formatNumberTopic("openWB/bat/get/imported",3,3,.001)},null,8,["model-value"]),t(i,{title:"Entladung",readonly:"",class:"text-right text-monospace",step:"0.001",unit:"kWh","model-value":e.formatNumberTopic("openWB/bat/get/exported",3,3,.001)},null,8,["model-value"]),t(d,null,{default:u(()=>[c("Tageswerte")]),_:1}),t(i,{title:"Ladung",readonly:"",class:"text-right text-monospace",step:"0.001",unit:"kWh","model-value":e.formatNumberTopic("openWB/bat/get/daily_imported",3,3,.001)},null,8,["model-value"]),t(i,{title:"Entladung",readonly:"",class:"text-right text-monospace",step:"0.001",unit:"kWh","model-value":e.formatNumberTopic("openWB/bat/get/daily_exported",3,3,.001)},null,8,["model-value"]),t(d,null,{default:u(()=>[c("Saldierte Werte")]),_:1}),t(i,{title:"Leistung",readonly:"",class:"text-right text-monospace",step:"0.001",unit:"kW","model-value":e.formatNumberTopic("openWB/bat/get/power",3,3,.001)},null,8,["model-value"]),t(f,{title:"Ladestand",readonly:"",class:"text-right text-monospace",unit:"%","model-value":e.$store.state.mqtt["openWB/bat/get/soc"]},null,8,["model-value"])]),_:1})}const Te=W(Be,[["render",Ce],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/status/BatterySumCard.vue"]]);w.add(k,C,T,A);const qe={name:"InverterCard",mixins:[y],components:{FontAwesomeIcon:x},props:{battery:Object},data(){return{statusLevel:["success","warning","danger"]}}},Ie=v("br",null,null,-1);function Ne(e,_,o,h,m,r){const l=n("font-awesome-icon"),p=n("openwb-base-alert"),d=n("openwb-base-heading"),i=n("openwb-base-text-input"),f=n("openwb-base-number-input"),B=n("openwb-base-card");return a(),s(B,{subtype:"warning",collapsible:!0,collapsed:!0},{header:u(()=>[t(l,{"fixed-width":"",icon:["fas","car-battery"]}),c(" "+g(o.battery.name)+" (ID: "+g(o.battery.id)+") ",1)]),default:u(()=>[t(p,{subtype:m.statusLevel[e.$store.state.mqtt["openWB/bat/"+o.battery.id+"/get/fault_state"]]},{default:u(()=>[e.$store.state.mqtt["openWB/bat/"+o.battery.id+"/get/fault_state"]==1?(a(),s(l,{key:0,"fixed-width":"",icon:["fas","exclamation-triangle"]})):e.$store.state.mqtt["openWB/bat/"+o.battery.id+"/get/fault_state"]==2?(a(),s(l,{key:1,"fixed-width":"",icon:["fas","times-circle"]})):(a(),s(l,{key:2,"fixed-width":"",icon:["fas","check-circle"]})),c(" Modulmeldung:"),Ie,c(" "+g(e.$store.state.mqtt["openWB/bat/"+o.battery.id+"/get/fault_str"]),1)]),_:1},8,["subtype"]),t(d,null,{default:u(()=>[c("Aktuelle Werte")]),_:1}),t(i,{title:"Leistung",readonly:"",class:"text-right text-monospace",step:"0.001",unit:"kW","model-value":e.formatNumberTopic("openWB/bat/"+o.battery.id+"/get/power",3,3,.001)},null,8,["model-value"]),t(f,{title:"Ladestand",readonly:"",class:"text-right text-monospace",unit:"%","model-value":e.$store.state.mqtt["openWB/bat/"+o.battery.id+"/get/soc"]},null,8,["model-value"]),t(d,null,{default:u(()=>[c("Zählerstände")]),_:1}),t(i,{title:"Ladung",readonly:"",class:"text-right text-monospace",step:"0.001",unit:"kWh","model-value":e.formatNumberTopic("openWB/bat/"+o.battery.id+"/get/imported",3,3,.001)},null,8,["model-value"]),t(i,{title:"Entladung",readonly:"",class:"text-right text-monospace",step:"0.001",unit:"kWh","model-value":e.formatNumberTopic("openWB/bat/"+o.battery.id+"/get/exported",3,3,.001)},null,8,["model-value"])]),_:1})}const Pe=W(qe,[["render",Ne],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/status/BatteryCard.vue"]]);w.add(k,C,T,E);const $e={name:"RippleControlReceiverCard",mixins:[y],components:{FontAwesomeIcon:x},data(){return{mqttTopicsToSubscribe:["openWB/general/ripple_control_receiver/get/fault_state","openWB/general/ripple_control_receiver/get/fault_str","openWB/general/ripple_control_receiver/get/override_value","openWB/general/ripple_control_receiver/module"],statusLevel:["success","warning","danger"]}}},Le=v("br",null,null,-1);function Se(e,_,o,h,m,r){const l=n("font-awesome-icon"),p=n("openwb-base-alert"),d=n("openwb-base-text-input"),i=n("openwb-base-card");return e.$store.state.mqtt["openWB/general/ripple_control_receiver/module"]&&e.$store.state.mqtt["openWB/general/ripple_control_receiver/module"].type?(a(),s(i,{key:0,subtype:"secondary",collapsible:!0,collapsed:!0},{header:u(()=>[t(l,{icon:["fas","tower-broadcast"]}),c(" Steuerbare Verbrauchseinrichtung (RSE) ")]),default:u(()=>[t(p,{subtype:m.statusLevel[e.$store.state.mqtt["openWB/general/ripple_control_receiver/get/fault_state"]]},{default:u(()=>[e.$store.state.mqtt["openWB/general/ripple_control_receiver/get/fault_state"]==1?(a(),s(l,{key:0,"fixed-width":"",icon:["fas","exclamation-triangle"]})):e.$store.state.mqtt["openWB/general/ripple_control_receiver/get/fault_state"]==2?(a(),s(l,{key:1,"fixed-width":"",icon:["fas","times-circle"]})):(a(),s(l,{key:2,"fixed-width":"",icon:["fas","check-circle"]})),c(" Modulmeldung:"),Le,c(" "+g(e.$store.state.mqtt["openWB/general/ripple_control_receiver/get/fault_str"]),1)]),_:1},8,["subtype"]),t(d,{title:"Status",readonly:"","model-value":e.$store.state.mqtt["openWB/general/ripple_control_receiver/get/override_value"]==0?"Laden gesperrt":"Laden erlaubt ("+e.$store.state.mqtt["openWB/general/ripple_control_receiver/get/override_value"]+"%)"},null,8,["model-value"])]),_:1})):q("",!0)}const Ae=W($e,[["render",Se],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/status/RippleControlReceiver.vue"]]);w.add(k,C,T,M);const Oe={name:"VehicleCard",mixins:[y],components:{FontAwesomeIcon:x},props:{vehicle:Object,vehicleKey:String,vehicleName:String},data(){return{statusLevel:["success","warning","danger"]}},computed:{vehicleIndex:{get(){return parseInt(this.vehicleKey.match(/(?:\/)(\d+)(?=\/)/)[1])}},socTimestamp:{get(){return this.$store.state.mqtt["openWB/vehicle/"+this.vehicleIndex+"/get/soc_timestamp"]!==void 0?new Date(this.$store.state.mqtt["openWB/vehicle/"+this.vehicleIndex+"/get/soc_timestamp"]*1e3).toLocaleString():"-"}},socRange:{get(){return this.$store.state.mqtt["openWB/vehicle/"+this.vehicleIndex+"/get/range"]!==void 0?Math.round(this.$store.state.mqtt["openWB/vehicle/"+this.vehicleIndex+"/get/range"]):0}}}},je=v("br",null,null,-1);function Re(e,_,o,h,m,r){const l=n("font-awesome-icon"),p=n("openwb-base-alert"),d=n("openwb-base-heading"),i=n("openwb-base-number-input"),f=n("openwb-base-text-input"),B=n("openwb-base-card");return a(),s(B,{subtype:"info",collapsible:!0,collapsed:!0},{header:u(()=>[t(l,{"fixed-width":"",icon:["fas","car"]}),c(" "+g(o.vehicleName)+" (ID: "+g(r.vehicleIndex)+") ",1)]),default:u(()=>[e.$store.state.mqtt["openWB/vehicle/"+r.vehicleIndex+"/get/fault_state"]!==void 0?(a(),s(p,{key:0,subtype:m.statusLevel[e.$store.state.mqtt["openWB/vehicle/"+r.vehicleIndex+"/get/fault_state"]]},{default:u(()=>[e.$store.state.mqtt["openWB/vehicle/"+r.vehicleIndex+"/get/fault_state"]==1?(a(),s(l,{key:0,"fixed-width":"",icon:["fas","exclamation-triangle"]})):e.$store.state.mqtt["openWB/vehicle/"+r.vehicleIndex+"/get/fault_state"]==2?(a(),s(l,{key:1,"fixed-width":"",icon:["fas","times-circle"]})):(a(),s(l,{key:2,"fixed-width":"",icon:["fas","check-circle"]})),c(" Modulmeldung:"),je,c(" "+g(e.$store.state.mqtt["openWB/vehicle/"+r.vehicleIndex+"/get/fault_str"]),1)]),_:1},8,["subtype"])):q("",!0),t(d,null,{default:u(()=>[c("Fahrzeugdaten")]),_:1}),t(i,{title:"Ladestand",readonly:"",class:"text-right text-monospace",unit:"%","model-value":e.$store.state.mqtt["openWB/vehicle/"+r.vehicleIndex+"/get/soc"]},null,8,["model-value"]),t(i,{title:"Reichweite",readonly:"",class:"text-right text-monospace",unit:"km","model-value":r.socRange},null,8,["model-value"]),t(f,{title:"Letzter Zeitstempel",readonly:"",class:"text-right text-monospace","model-value":r.socTimestamp},null,8,["model-value"])]),_:1})}const De=W(Oe,[["render",Re],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/status/VehicleCard.vue"]]);w.add(k,C,T,V);K.register(F,J,G,Q,U,X,Y,ee,te);const ze={name:"ElectricityTariffCard",mixins:[y],components:{ChartjsLine:ne,FontAwesomeIcon:x},data(){return{mqttTopicsToSubscribe:["openWB/optional/et/provider","openWB/optional/et/get/fault_state","openWB/optional/et/get/fault_str","openWB/optional/et/get/prices"],statusLevel:["success","warning","danger"],chartDatasets:{datasets:[{label:"Stromtarif",unit:"ct/kWh",type:"line",stepped:!0,borderColor:"rgba(255, 0, 0, 0.7)",backgroundColor:"rgba(255, 10, 13, 0.3)",fill:!1,pointStyle:"circle",pointRadius:0,pointHoverRadius:4,cubicInterpolationMode:"monotone",hidden:!1,borderWidth:1,data:void 0,yAxisID:"y",parsing:{xAxisKey:"timestamp",yAxisKey:"price"}}]},chartOptions:{plugins:{title:{display:!1},tooltip:{enabled:!0},legend:{display:!1}},elements:{point:{radius:2}},responsive:!0,maintainAspectRatio:!1,interaction:{mode:"index",intersect:!1},scales:{x:{type:"time",time:{unit:"hour",text:"Zeit",maxTicksLimit:24},display:!0,title:{display:!0,text:"Uhrzeit"},ticks:{font:{size:12},maxTicksLimit:0},grid:{}},y:{position:"left",type:"linear",display:"auto",title:{font:{size:12},display:!0,text:"Preis [ct/kWh]"},grid:{},ticks:{font:{size:12},stepSize:.01,maxTicksLimit:11}}}}}},computed:{electricityTariffConfigured(){const e=this.$store.state.mqtt["openWB/optional/et/provider"];return e!==void 0?e.type!==null:!1},chartDataRead(){return this.chartDataObject.datasets[0].data!=null},chartDataObject(){if(this.$store.state.mqtt["openWB/optional/et/get/prices"]){var e=this.$store.state.mqtt["openWB/optional/et/get/prices"],_=[];for(const[m,r]of Object.entries(e))_.push({timestamp:m*1e3,price:r*1e5});const h=_.slice(-1)[0];_.push({timestamp:h.timestamp+(60*60-1)*1e3,price:h.price})}const o=this.chartDatasets;return o.datasets[0].data=_,o}}},Ee=e=>(H("data-v-f4769d2f"),e=e(),Z(),e),Me=Ee(()=>v("br",null,null,-1)),Ve={class:"openwb-chart"};function He(e,_,o,h,m,r){const l=n("font-awesome-icon"),p=n("openwb-base-alert"),d=n("openwb-base-text-input"),i=n("chartjs-line"),f=n("openwb-base-card");return r.electricityTariffConfigured?(a(),s(f,{key:0,subtype:"secondary",collapsible:!0,collapsed:!0},{header:u(()=>[t(l,{"fixed-width":"",icon:["fas","ranking-star"]}),c(" Variabler Stromtarif ")]),default:u(()=>[t(p,{subtype:m.statusLevel[e.$store.state.mqtt["openWB/optional/et/get/fault_state"]]},{default:u(()=>[e.$store.state.mqtt["openWB/optional/et/get/fault_state"]==1?(a(),s(l,{key:0,"fixed-width":"",icon:["fas","exclamation-triangle"]})):e.$store.state.mqtt["openWB/optional/et/get/fault_state"]==2?(a(),s(l,{key:1,"fixed-width":"",icon:["fas","times-circle"]})):(a(),s(l,{key:2,"fixed-width":"",icon:["fas","check-circle"]})),c(" Modulmeldung:"),Me,c(" "+g(e.$store.state.mqtt["openWB/optional/et/get/fault_str"]),1)]),_:1},8,["subtype"]),t(d,{title:"Anbieter",readonly:"","model-value":e.$store.state.mqtt["openWB/optional/et/provider"].name},null,8,["model-value"]),v("div",Ve,[r.chartDataRead?(a(),s(i,{key:0,ref:"myChart",data:r.chartDataObject,options:m.chartOptions},null,8,["data","options"])):q("",!0)])]),_:1})):q("",!0)}const Ze=W(ze,[["render",He],["__scopeId","data-v-f4769d2f"],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/status/ElectricityTariffCard.vue"]]);const Ke={name:"OpenwbStatus",mixins:[y],components:{ChargePointSumCard:re,ChargePointCard:ue,CounterCard:_e,InverterSumCard:ve,InverterCard:xe,BatterySumCard:Te,BatteryCard:Pe,RippleControlReceiverCard:Ae,VehicleCard:De,ElectricityTariffCard:Ze},data(){return{mqttTopicsToSubscribe:["openWB/general/extern","openWB/chargepoint/get/power","openWB/chargepoint/get/imported","openWB/chargepoint/get/exported","openWB/chargepoint/get/daily_imported","openWB/chargepoint/get/daily_exported","openWB/chargepoint/+/config","openWB/chargepoint/+/get/+","openWB/chargepoint/+/get/connected_vehicle/info","openWB/chargepoint/+/set/+","openWB/internal_chargepoint/+/data/phases_to_use","openWB/system/device/+/component/+/config","openWB/counter/+/get/+","openWB/pv/get/+","openWB/pv/+/get/+","openWB/bat/get/+","openWB/bat/+/get/+","openWB/vehicle/+/name","openWB/vehicle/+/get/+"]}},computed:{installedChargePoints:{get(){let e=this.getWildcardTopics("openWB/chargepoint/+/config"),_={};for(const[o,h]of Object.entries(e))(h.type==="internal_openwb"||this.$store.state.mqtt["openWB/general/extern"]===!1)&&(_[o]=h);return _}},numChargePointsInstalled:{get(){return Object.keys(this.installedChargePoints).length}},counterConfigs:{get(){return this.$store.state.mqtt["openWB/general/extern"]===!0?{}:this.filterComponentsByType(this.getWildcardTopics("openWB/system/device/+/component/+/config"),"counter")}},numInvertersInstalled:{get(){return Object.keys(this.inverterConfigs).length}},inverterConfigs:{get(){return this.$store.state.mqtt["openWB/general/extern"]===!0?{}:this.filterComponentsByType(this.getWildcardTopics("openWB/system/device/+/component/+/config"),"inverter")}},numBatteriesInstalled:{get(){return Object.keys(this.batteryConfigs).length}},batteryConfigs:{get(){return this.$store.state.mqtt["openWB/general/extern"]===!0?{}:this.filterComponentsByType(this.getWildcardTopics("openWB/system/device/+/component/+/config"),"bat")}},vehicleNames:{get(){return this.$store.state.mqtt["openWB/general/extern"]===!0?{}:this.getWildcardTopics("openWB/vehicle/+/name")}}},methods:{filterComponentsByType(e,_){return Object.keys(e).filter(o=>e[o].type.includes(_)).reduce((o,h)=>({...o,[h]:e[h]}),{})}}},Fe={class:"status"};function Je(e,_,o,h,m,r){const l=n("charge-point-sum-card"),p=n("charge-point-card"),d=n("counter-card"),i=n("inverter-sum-card"),f=n("inverter-card"),B=n("battery-sum-card"),O=n("battery-card"),j=n("vehicle-card"),R=n("electricity-tariff-card"),D=n("ripple-control-receiver-card");return a(),I("div",Fe,[r.numChargePointsInstalled>1&&e.$store.state.mqtt["openWB/general/extern"]===!1?(a(),s(l,{key:0})):q("",!0),(a(!0),I(P,null,$(r.installedChargePoints,(b,N)=>(a(),s(p,{key:N,installedChargePoint:b,installedChargePointKey:N},null,8,["installedChargePoint","installedChargePointKey"]))),128)),(a(!0),I(P,null,$(r.counterConfigs,b=>(a(),s(d,{key:b.id,counter:b},null,8,["counter"]))),128)),r.numInvertersInstalled>1&&e.$store.state.mqtt["openWB/general/extern"]===!1?(a(),s(i,{key:1})):q("",!0),(a(!0),I(P,null,$(r.inverterConfigs,b=>(a(),s(f,{key:b.id,inverter:b},null,8,["inverter"]))),128)),r.numBatteriesInstalled>1&&e.$store.state.mqtt["openWB/general/extern"]===!1?(a(),s(B,{key:2})):q("",!0),(a(!0),I(P,null,$(r.batteryConfigs,b=>(a(),s(O,{key:b.id,battery:b},null,8,["battery"]))),128)),(a(!0),I(P,null,$(r.vehicleNames,(b,N)=>(a(),s(j,{key:N,vehicleKey:N,vehicleName:b},null,8,["vehicleKey","vehicleName"]))),128)),t(R),t(D)])}const at=W(Ke,[["render",Je],["__scopeId","data-v-051028a3"],["__file","/opt/openWB-dev/openwb-ui-settings/src/views/Status.vue"]]);export{at as default}; +import{C as y}from"./index-eaa58995.js";import{l as w,K as L,F as x,L as k,M as C,c as T,N as z,O as S,P as A,Q as E,R as M,S as V}from"./vendor-fortawesome-542fe04f.js";import{_ as W,q as n,k as a,z as s,M as u,B as t,x as c,y as g,u as v,A as q,R as H,S as Z,l as I,I as P,J as $}from"./vendor-493c2bec.js";import{C as K,p as F,a as J,L as G,b as Q,P as U,c as X,T as Y,i as ee,d as te,e as ne}from"./vendor-chartjs-a50f5391.js";import"./vendor-bootstrap-a615942d.js";import"./vendor-jquery-a64a4809.js";import"./vendor-axios-b1ba123b.js";import"./vendor-sortablejs-0b339223.js";import"./vendor-luxon-78deadb9.js";w.add(L);const oe={name:"ChargePointSumCard",mixins:[y],components:{FontAwesomeIcon:x}};function ae(e,_,o,h,m,r){const l=n("font-awesome-icon"),p=n("openwb-base-text-input"),d=n("openwb-base-heading"),i=n("openwb-base-card");return a(),s(i,{subtype:"primary",collapsible:!0,collapsed:!0},{header:u(()=>[t(l,{"fixed-width":"",icon:["fas","charging-station"]}),c(" Alle Ladepunkte ")]),default:u(()=>[t(p,{title:"Leistung",readonly:"",class:"text-right text-monospace",step:"0.001",unit:"kW","model-value":e.formatNumberTopic("openWB/chargepoint/get/power",3,3,.001)},null,8,["model-value"]),t(p,{title:"Zählerstand laden",readonly:"",class:"text-right text-monospace",step:"0.001",unit:"kWh","model-value":e.formatNumberTopic("openWB/chargepoint/get/imported",3,3,.001)},null,8,["model-value"]),t(p,{title:"Zählerstand entladen",readonly:"",class:"text-right text-monospace",step:"0.001",unit:"kWh","model-value":e.formatNumberTopic("openWB/chargepoint/get/exported",3,3,.001)},null,8,["model-value"]),t(d,null,{default:u(()=>[c("Historie")]),_:1}),t(p,{title:"Heute geladen",readonly:"",class:"text-right text-monospace",step:"0.001",unit:"kWh","model-value":e.formatNumberTopic("openWB/chargepoint/get/daily_imported",3,3,.001)},null,8,["model-value"]),t(p,{title:"Heute entladen",readonly:"",class:"text-right text-monospace",step:"0.001",unit:"kWh","model-value":e.formatNumberTopic("openWB/chargepoint/get/daily_exported",3,3,.001)},null,8,["model-value"])]),_:1})}const re=W(oe,[["render",ae],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/status/ChargePointSumCard.vue"]]);w.add(k,C,T,L);const se={name:"ChargePointCard",mixins:[y],components:{FontAwesomeIcon:x},props:{installedChargePointKey:String,installedChargePoint:Object},data(){return{statusLevel:["success","warning","danger"]}},computed:{chargePointIndex:{get(){return parseInt(this.installedChargePointKey.match(/(?:\/)(\d+)(?=\/)/)[1])}}}},le=v("br",null,null,-1),ie=v("br",null,null,-1);function ce(e,_,o,h,m,r){const l=n("font-awesome-icon"),p=n("openwb-base-alert"),d=n("openwb-base-checkbox-input"),i=n("openwb-base-text-input"),f=n("openwb-base-heading"),B=n("openwb-base-card");return a(),s(B,{subtype:"primary",collapsible:!0,collapsed:!0},{header:u(()=>[t(l,{"fixed-width":"",icon:["fas","charging-station"]}),c(" "+g(o.installedChargePoint.name)+" (ID: "+g(r.chargePointIndex)+") ",1)]),default:u(()=>[t(p,{subtype:m.statusLevel[e.$store.state.mqtt["openWB/chargepoint/"+r.chargePointIndex+"/get/fault_state"]]},{default:u(()=>[e.$store.state.mqtt["openWB/chargepoint/"+r.chargePointIndex+"/get/fault_state"]==1?(a(),s(l,{key:0,"fixed-width":"",icon:["fas","exclamation-triangle"]})):e.$store.state.mqtt["openWB/chargepoint/"+r.chargePointIndex+"/get/fault_state"]==2?(a(),s(l,{key:1,"fixed-width":"",icon:["fas","times-circle"]})):(a(),s(l,{key:2,"fixed-width":"",icon:["fas","check-circle"]})),c(" Modulmeldung:"),le,c(" "+g(e.$store.state.mqtt["openWB/chargepoint/"+r.chargePointIndex+"/get/fault_str"]),1)]),_:1},8,["subtype"]),t(p,{subtype:"info"},{default:u(()=>[c(" Statusmeldung:"),ie,c(" "+g(e.$store.state.mqtt["openWB/chargepoint/"+r.chargePointIndex+"/get/state_str"]),1)]),_:1}),t(d,{title:"Fahrzeug angesteckt",disabled:"","model-value":e.$store.state.mqtt["openWB/chargepoint/"+r.chargePointIndex+"/get/plug_state"]==1},null,8,["model-value"]),t(d,{title:"Ladevorgang aktiv",disabled:"","model-value":e.$store.state.mqtt["openWB/chargepoint/"+r.chargePointIndex+"/get/charge_state"]==1},null,8,["model-value"]),t(i,{title:"Zählerstand laden",readonly:"",class:"text-right text-monospace",step:"0.001",unit:"kWh","model-value":e.formatNumberTopic("openWB/chargepoint/"+r.chargePointIndex+"/get/imported",3,3,.001)},null,8,["model-value"]),t(i,{title:"Zählerstand entladen",readonly:"",class:"text-right text-monospace",step:"0.001",unit:"kWh","model-value":e.formatNumberTopic("openWB/chargepoint/"+r.chargePointIndex+"/get/exported",3,3,.001)},null,8,["model-value"]),t(i,{title:"Heute geladen",readonly:"",class:"text-right text-monospace",step:"0.001",unit:"kWh","model-value":e.formatNumberTopic("openWB/chargepoint/"+r.chargePointIndex+"/get/daily_imported",3,3,.001)},null,8,["model-value"]),t(i,{title:"Heute entladen",readonly:"",class:"text-right text-monospace",step:"0.001",unit:"kWh","model-value":e.formatNumberTopic("openWB/chargepoint/"+r.chargePointIndex+"/get/daily_exported",3,3,.001)},null,8,["model-value"]),t(i,{title:"Wirkleistung",readonly:"",class:"text-right text-monospace",step:"0.001",unit:"kW","model-value":e.formatNumberTopic("openWB/chargepoint/"+r.chargePointIndex+"/get/power",3,3,.001)},null,8,["model-value"]),t(i,{title:"Ladestromvorgabe",readonly:"",class:"text-right text-monospace",step:"0.01",unit:"A","model-value":e.formatNumberTopic("openWB/chargepoint/"+r.chargePointIndex+"/set/current",2)},null,8,["model-value"]),t(i,{title:"Netzfrequenz",readonly:"",class:"text-right text-monospace",step:"0.01",unit:"Hz","model-value":e.formatNumberTopic("openWB/chargepoint/"+r.chargePointIndex+"/get/frequency",2)},null,8,["model-value"]),t(f,null,{default:u(()=>[c("Werte pro Phase")]),_:1}),t(i,{title:"Spannung",readonly:"",class:"text-right text-monospace",unit:"V","model-value":e.formatPhaseArrayNumberTopic("openWB/chargepoint/"+r.chargePointIndex+"/get/voltages",1)},null,8,["model-value"]),t(i,{title:"Strom",readonly:"",class:"text-right text-monospace",unit:"A","model-value":e.formatPhaseArrayNumberTopic("openWB/chargepoint/"+r.chargePointIndex+"/get/currents",2)},null,8,["model-value"]),t(i,{title:"Wirkleistung",readonly:"",class:"text-right text-monospace",unit:"kW","model-value":e.formatPhaseArrayNumberTopic("openWB/chargepoint/"+r.chargePointIndex+"/get/powers",3,3,.001)},null,8,["model-value"]),t(i,{title:"Leistungsfaktor",readonly:"",class:"text-right text-monospace","model-value":e.formatPhaseArrayNumberTopic("openWB/chargepoint/"+r.chargePointIndex+"/get/power_factors",2)},null,8,["model-value"]),t(f,null,{default:u(()=>[c("Phasen")]),_:1}),e.$store.state.mqtt["openWB/general/extern"]===!0?(a(),s(i,{key:0,title:"Vorgabe",readonly:"",class:"text-right text-monospace","model-value":e.formatNumberTopic("openWB/internal_chargepoint/"+r.chargePointIndex+"/data/phases_to_use")},null,8,["model-value"])):(a(),s(i,{key:1,title:"Vorgabe",readonly:"",class:"text-right text-monospace","model-value":e.formatNumberTopic("openWB/chargepoint/"+r.chargePointIndex+"/set/phases_to_use")},null,8,["model-value"])),t(i,{title:"Aktuell",readonly:"",class:"text-right text-monospace","model-value":e.formatNumberTopic("openWB/chargepoint/"+r.chargePointIndex+"/get/phases_in_use")},null,8,["model-value"])]),_:1})}const ue=W(se,[["render",ce],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/status/ChargePointCard.vue"]]);w.add(k,C,T,z);const de={name:"CounterCard",mixins:[y],components:{FontAwesomeIcon:x},props:{counter:Object},data(){return{statusLevel:["success","warning","danger"]}}},pe=v("br",null,null,-1),me=v("br",null,null,-1);function ge(e,_,o,h,m,r){const l=n("font-awesome-icon"),p=n("openwb-base-alert"),d=n("openwb-base-heading"),i=n("openwb-base-text-input"),f=n("openwb-base-card");return a(),s(f,{subtype:"danger",collapsible:!0,collapsed:!0},{header:u(()=>[t(l,{"fixed-width":"",icon:["fas","gauge-high"]}),c(" "+g(o.counter.name)+" (ID: "+g(o.counter.id)+") ",1)]),default:u(()=>[t(p,{subtype:m.statusLevel[e.$store.state.mqtt["openWB/counter/"+o.counter.id+"/get/fault_state"]]},{default:u(()=>[e.$store.state.mqtt["openWB/counter/"+o.counter.id+"/get/fault_state"]==1?(a(),s(l,{key:0,"fixed-width":"",icon:["fas","exclamation-triangle"]})):e.$store.state.mqtt["openWB/counter/"+o.counter.id+"/get/fault_state"]==2?(a(),s(l,{key:1,"fixed-width":"",icon:["fas","times-circle"]})):(a(),s(l,{key:2,"fixed-width":"",icon:["fas","check-circle"]})),c(" Modulmeldung:"),pe,c(" "+g(e.$store.state.mqtt["openWB/counter/"+o.counter.id+"/get/fault_str"]),1)]),_:1},8,["subtype"]),e.$store.state.mqtt["openWB/counter/"+o.counter.id+"/get/state_str"]!=null?(a(),s(p,{key:0,subtype:"info"},{default:u(()=>[c(" Statusmeldung:"),me,c(" "+g(e.$store.state.mqtt["openWB/counter/"+o.counter.id+"/get/state_str"]),1)]),_:1})):q("",!0),t(d,null,{default:u(()=>[c("Zählerstände")]),_:1}),t(i,{title:"Export",readonly:"",class:"text-right text-monospace",step:"0.001",unit:"kWh","model-value":e.formatNumberTopic("openWB/counter/"+o.counter.id+"/get/exported",3,3,.001)},null,8,["model-value"]),t(i,{title:"Import",readonly:"",class:"text-right text-monospace",step:"0.001",unit:"kWh","model-value":e.formatNumberTopic("openWB/counter/"+o.counter.id+"/get/imported",3,3,.001)},null,8,["model-value"]),t(d,null,{default:u(()=>[c("Saldierte Werte")]),_:1}),t(i,{title:"Wirkleistung",readonly:"",class:"text-right text-monospace",step:"0.001",unit:"kW","model-value":e.formatNumberTopic("openWB/counter/"+o.counter.id+"/get/power",3,3,.001)},null,8,["model-value"]),t(i,{title:"Netzfrequenz",readonly:"",class:"text-right text-monospace",step:"0.001",unit:"Hz","model-value":e.formatNumberTopic("openWB/counter/"+o.counter.id+"/get/frequency",3)},null,8,["model-value"]),t(d,null,{default:u(()=>[c("Werte pro Phase")]),_:1}),t(i,{title:"Spannung",readonly:"",class:"text-right text-monospace",unit:"V","model-value":e.formatPhaseArrayNumberTopic("openWB/counter/"+o.counter.id+"/get/voltages",1)},null,8,["model-value"]),t(i,{title:"Strom",readonly:"",class:"text-right text-monospace",unit:"A","model-value":e.formatPhaseArrayNumberTopic("openWB/counter/"+o.counter.id+"/get/currents",2)},null,8,["model-value"]),t(i,{title:"Wirkleistung",readonly:"",class:"text-right text-monospace",unit:"kW","model-value":e.formatPhaseArrayNumberTopic("openWB/counter/"+o.counter.id+"/get/powers",3,3,.001)},null,8,["model-value"]),t(i,{title:"Leistungsfaktor",readonly:"",class:"text-right text-monospace","model-value":e.formatPhaseArrayNumberTopic("openWB/counter/"+o.counter.id+"/get/power_factors",2)},null,8,["model-value"])]),_:1})}const _e=W(de,[["render",ge],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/status/CounterCard.vue"]]);w.add(k,C,T,S);const he={name:"InverterSumCard",mixins:[y],components:{FontAwesomeIcon:x},data(){return{statusLevel:["success","warning","danger"]}}},fe=v("br",null,null,-1);function be(e,_,o,h,m,r){const l=n("font-awesome-icon"),p=n("openwb-base-alert"),d=n("openwb-base-text-input"),i=n("openwb-base-heading"),f=n("openwb-base-card");return a(),s(f,{subtype:"success",collapsible:!0,collapsed:!0},{header:u(()=>[t(l,{"fixed-width":"",icon:["fas","solar-panel"]}),c(" Alle Wechselrichter ")]),default:u(()=>[t(p,{subtype:m.statusLevel[e.$store.state.mqtt["openWB/pv/get/fault_state"]]},{default:u(()=>[e.$store.state.mqtt["openWB/pv/get/fault_state"]==1?(a(),s(l,{key:0,"fixed-width":"",icon:["fas","exclamation-triangle"]})):e.$store.state.mqtt["openWB/pv/get/fault_state"]==2?(a(),s(l,{key:1,"fixed-width":"",icon:["fas","times-circle"]})):(a(),s(l,{key:2,"fixed-width":"",icon:["fas","check-circle"]})),c(" Modulmeldung:"),fe,c(" "+g(e.$store.state.mqtt["openWB/pv/get/fault_str"]),1)]),_:1},8,["subtype"]),t(d,{title:"Zählerstand",readonly:"",class:"text-right text-monospace",step:"0.001",unit:"kWh","model-value":e.formatNumberTopic("openWB/pv/get/exported",3,3,.001)},null,8,["model-value"]),t(d,{title:"Leistung",readonly:"",class:"text-right text-monospace",step:"0.001",unit:"kW","model-value":e.formatNumberTopic("openWB/pv/get/power",3,3,.001)},null,8,["model-value"]),t(i,null,{default:u(()=>[c("Erträge")]),_:1}),t(d,{title:"Heute",readonly:"",class:"text-right text-monospace",step:"0.001",unit:"kWh","model-value":e.formatNumberTopic("openWB/pv/get/daily_exported",3,3,.001)},null,8,["model-value"]),t(d,{title:"Dieser Monat",readonly:"",class:"text-right text-monospace",step:"0.001",unit:"kWh","model-value":e.formatNumberTopic("openWB/pv/get/monthly_exported",3,3,.001)},null,8,["model-value"]),t(d,{title:"Dieses Jahr",readonly:"",class:"text-right text-monospace",step:"0.001",unit:"kWh","model-value":e.formatNumberTopic("openWB/pv/get/yearly_exported",3,3,.001)},null,8,["model-value"])]),_:1})}const ve=W(he,[["render",be],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/status/InverterSumCard.vue"]]);w.add(k,C,T,S);const ye={name:"InverterCard",mixins:[y],components:{FontAwesomeIcon:x},props:{inverter:Object},data(){return{statusLevel:["success","warning","danger"]}}},We=v("br",null,null,-1);function we(e,_,o,h,m,r){const l=n("font-awesome-icon"),p=n("openwb-base-alert"),d=n("openwb-base-text-input"),i=n("openwb-base-heading"),f=n("openwb-base-card");return a(),s(f,{subtype:"success",collapsible:!0,collapsed:!0},{header:u(()=>[t(l,{"fixed-width":"",icon:["fas","solar-panel"]}),c(" "+g(o.inverter.name)+" (ID: "+g(o.inverter.id)+") ",1)]),default:u(()=>[t(p,{subtype:m.statusLevel[e.$store.state.mqtt["openWB/pv/"+o.inverter.id+"/get/fault_state"]]},{default:u(()=>[e.$store.state.mqtt["openWB/pv/"+o.inverter.id+"/get/fault_state"]==1?(a(),s(l,{key:0,"fixed-width":"",icon:["fas","exclamation-triangle"]})):e.$store.state.mqtt["openWB/pv/"+o.inverter.id+"/get/fault_state"]==2?(a(),s(l,{key:1,"fixed-width":"",icon:["fas","times-circle"]})):(a(),s(l,{key:2,"fixed-width":"",icon:["fas","check-circle"]})),c(" Modulmeldung:"),We,c(" "+g(e.$store.state.mqtt["openWB/pv/"+o.inverter.id+"/get/fault_str"]),1)]),_:1},8,["subtype"]),t(d,{title:"Zählerstand",readonly:"",class:"text-right text-monospace",step:"0.001",unit:"kWh","model-value":e.formatNumberTopic("openWB/pv/"+o.inverter.id+"/get/exported",3,3,.001)},null,8,["model-value"]),t(d,{title:"Leistung",readonly:"",class:"text-right text-monospace",step:"0.001",unit:"kW","model-value":e.formatNumberTopic("openWB/pv/"+o.inverter.id+"/get/power",3,3,.001)},null,8,["model-value"]),t(i,null,{default:u(()=>[c("Erträge")]),_:1}),t(d,{title:"Heute",readonly:"",class:"text-right text-monospace",step:"0.001",unit:"kWh","model-value":e.formatNumberTopic("openWB/pv/"+o.inverter.id+"/get/daily_exported",3,3,.001)},null,8,["model-value"]),t(d,{title:"Dieser Monat",readonly:"",class:"text-right text-monospace",step:"0.001",unit:"kWh","model-value":e.formatNumberTopic("openWB/pv/"+o.inverter.id+"/get/monthly_exported",3,3,.001)},null,8,["model-value"]),t(d,{title:"Dieses Jahr",readonly:"",class:"text-right text-monospace",step:"0.001",unit:"kWh","model-value":e.formatNumberTopic("openWB/pv/"+o.inverter.id+"/get/yearly_exported",3,3,.001)},null,8,["model-value"])]),_:1})}const xe=W(ye,[["render",we],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/status/InverterCard.vue"]]);w.add(k,C,T,A);const Be={name:"BatterySumCard",mixins:[y],components:{FontAwesomeIcon:x},data(){return{statusLevel:["success","warning","danger"]}}},ke=v("br",null,null,-1);function Ce(e,_,o,h,m,r){const l=n("font-awesome-icon"),p=n("openwb-base-alert"),d=n("openwb-base-heading"),i=n("openwb-base-text-input"),f=n("openwb-base-number-input"),B=n("openwb-base-card");return a(),s(B,{subtype:"warning",collapsible:!0,collapsed:!0},{header:u(()=>[t(l,{"fixed-width":"",icon:["fas","car-battery"]}),c(" Alle Speicher ")]),default:u(()=>[t(p,{subtype:m.statusLevel[e.$store.state.mqtt["openWB/bat/get/fault_state"]]},{default:u(()=>[e.$store.state.mqtt["openWB/bat/get/fault_state"]==1?(a(),s(l,{key:0,"fixed-width":"",icon:["fas","exclamation-triangle"]})):e.$store.state.mqtt["openWB/bat/get/fault_state"]==2?(a(),s(l,{key:1,"fixed-width":"",icon:["fas","times-circle"]})):(a(),s(l,{key:2,"fixed-width":"",icon:["fas","check-circle"]})),c(" Modulmeldung:"),ke,c(" "+g(e.$store.state.mqtt["openWB/bat/get/fault_str"]),1)]),_:1},8,["subtype"]),t(d,null,{default:u(()=>[c("Zählerstände")]),_:1}),t(i,{title:"Ladung",readonly:"",class:"text-right text-monospace",step:"0.001",unit:"kWh","model-value":e.formatNumberTopic("openWB/bat/get/imported",3,3,.001)},null,8,["model-value"]),t(i,{title:"Entladung",readonly:"",class:"text-right text-monospace",step:"0.001",unit:"kWh","model-value":e.formatNumberTopic("openWB/bat/get/exported",3,3,.001)},null,8,["model-value"]),t(d,null,{default:u(()=>[c("Tageswerte")]),_:1}),t(i,{title:"Ladung",readonly:"",class:"text-right text-monospace",step:"0.001",unit:"kWh","model-value":e.formatNumberTopic("openWB/bat/get/daily_imported",3,3,.001)},null,8,["model-value"]),t(i,{title:"Entladung",readonly:"",class:"text-right text-monospace",step:"0.001",unit:"kWh","model-value":e.formatNumberTopic("openWB/bat/get/daily_exported",3,3,.001)},null,8,["model-value"]),t(d,null,{default:u(()=>[c("Saldierte Werte")]),_:1}),t(i,{title:"Leistung",readonly:"",class:"text-right text-monospace",step:"0.001",unit:"kW","model-value":e.formatNumberTopic("openWB/bat/get/power",3,3,.001)},null,8,["model-value"]),t(f,{title:"Ladestand",readonly:"",class:"text-right text-monospace",unit:"%","model-value":e.$store.state.mqtt["openWB/bat/get/soc"]},null,8,["model-value"])]),_:1})}const Te=W(Be,[["render",Ce],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/status/BatterySumCard.vue"]]);w.add(k,C,T,A);const qe={name:"InverterCard",mixins:[y],components:{FontAwesomeIcon:x},props:{battery:Object},data(){return{statusLevel:["success","warning","danger"]}}},Ie=v("br",null,null,-1);function Ne(e,_,o,h,m,r){const l=n("font-awesome-icon"),p=n("openwb-base-alert"),d=n("openwb-base-heading"),i=n("openwb-base-text-input"),f=n("openwb-base-number-input"),B=n("openwb-base-card");return a(),s(B,{subtype:"warning",collapsible:!0,collapsed:!0},{header:u(()=>[t(l,{"fixed-width":"",icon:["fas","car-battery"]}),c(" "+g(o.battery.name)+" (ID: "+g(o.battery.id)+") ",1)]),default:u(()=>[t(p,{subtype:m.statusLevel[e.$store.state.mqtt["openWB/bat/"+o.battery.id+"/get/fault_state"]]},{default:u(()=>[e.$store.state.mqtt["openWB/bat/"+o.battery.id+"/get/fault_state"]==1?(a(),s(l,{key:0,"fixed-width":"",icon:["fas","exclamation-triangle"]})):e.$store.state.mqtt["openWB/bat/"+o.battery.id+"/get/fault_state"]==2?(a(),s(l,{key:1,"fixed-width":"",icon:["fas","times-circle"]})):(a(),s(l,{key:2,"fixed-width":"",icon:["fas","check-circle"]})),c(" Modulmeldung:"),Ie,c(" "+g(e.$store.state.mqtt["openWB/bat/"+o.battery.id+"/get/fault_str"]),1)]),_:1},8,["subtype"]),t(d,null,{default:u(()=>[c("Aktuelle Werte")]),_:1}),t(i,{title:"Leistung",readonly:"",class:"text-right text-monospace",step:"0.001",unit:"kW","model-value":e.formatNumberTopic("openWB/bat/"+o.battery.id+"/get/power",3,3,.001)},null,8,["model-value"]),t(f,{title:"Ladestand",readonly:"",class:"text-right text-monospace",unit:"%","model-value":e.$store.state.mqtt["openWB/bat/"+o.battery.id+"/get/soc"]},null,8,["model-value"]),t(d,null,{default:u(()=>[c("Zählerstände")]),_:1}),t(i,{title:"Ladung",readonly:"",class:"text-right text-monospace",step:"0.001",unit:"kWh","model-value":e.formatNumberTopic("openWB/bat/"+o.battery.id+"/get/imported",3,3,.001)},null,8,["model-value"]),t(i,{title:"Entladung",readonly:"",class:"text-right text-monospace",step:"0.001",unit:"kWh","model-value":e.formatNumberTopic("openWB/bat/"+o.battery.id+"/get/exported",3,3,.001)},null,8,["model-value"])]),_:1})}const Pe=W(qe,[["render",Ne],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/status/BatteryCard.vue"]]);w.add(k,C,T,E);const $e={name:"RippleControlReceiverCard",mixins:[y],components:{FontAwesomeIcon:x},data(){return{mqttTopicsToSubscribe:["openWB/general/ripple_control_receiver/get/fault_state","openWB/general/ripple_control_receiver/get/fault_str","openWB/general/ripple_control_receiver/get/override_value","openWB/general/ripple_control_receiver/module"],statusLevel:["success","warning","danger"]}}},Le=v("br",null,null,-1);function Se(e,_,o,h,m,r){const l=n("font-awesome-icon"),p=n("openwb-base-alert"),d=n("openwb-base-text-input"),i=n("openwb-base-card");return e.$store.state.mqtt["openWB/general/ripple_control_receiver/module"]&&e.$store.state.mqtt["openWB/general/ripple_control_receiver/module"].type?(a(),s(i,{key:0,subtype:"secondary",collapsible:!0,collapsed:!0},{header:u(()=>[t(l,{icon:["fas","tower-broadcast"]}),c(" Steuerbare Verbrauchseinrichtung (RSE) ")]),default:u(()=>[t(p,{subtype:m.statusLevel[e.$store.state.mqtt["openWB/general/ripple_control_receiver/get/fault_state"]]},{default:u(()=>[e.$store.state.mqtt["openWB/general/ripple_control_receiver/get/fault_state"]==1?(a(),s(l,{key:0,"fixed-width":"",icon:["fas","exclamation-triangle"]})):e.$store.state.mqtt["openWB/general/ripple_control_receiver/get/fault_state"]==2?(a(),s(l,{key:1,"fixed-width":"",icon:["fas","times-circle"]})):(a(),s(l,{key:2,"fixed-width":"",icon:["fas","check-circle"]})),c(" Modulmeldung:"),Le,c(" "+g(e.$store.state.mqtt["openWB/general/ripple_control_receiver/get/fault_str"]),1)]),_:1},8,["subtype"]),t(d,{title:"Status",readonly:"","model-value":e.$store.state.mqtt["openWB/general/ripple_control_receiver/get/override_value"]==0?"Laden gesperrt":"Laden erlaubt ("+e.$store.state.mqtt["openWB/general/ripple_control_receiver/get/override_value"]+"%)"},null,8,["model-value"])]),_:1})):q("",!0)}const Ae=W($e,[["render",Se],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/status/RippleControlReceiver.vue"]]);w.add(k,C,T,M);const Oe={name:"VehicleCard",mixins:[y],components:{FontAwesomeIcon:x},props:{vehicle:Object,vehicleKey:String,vehicleName:String},data(){return{statusLevel:["success","warning","danger"]}},computed:{vehicleIndex:{get(){return parseInt(this.vehicleKey.match(/(?:\/)(\d+)(?=\/)/)[1])}},socTimestamp:{get(){return this.$store.state.mqtt["openWB/vehicle/"+this.vehicleIndex+"/get/soc_timestamp"]!==void 0?new Date(this.$store.state.mqtt["openWB/vehicle/"+this.vehicleIndex+"/get/soc_timestamp"]*1e3).toLocaleString():"-"}},socRange:{get(){return this.$store.state.mqtt["openWB/vehicle/"+this.vehicleIndex+"/get/range"]!==void 0?Math.round(this.$store.state.mqtt["openWB/vehicle/"+this.vehicleIndex+"/get/range"]):0}}}},je=v("br",null,null,-1);function Re(e,_,o,h,m,r){const l=n("font-awesome-icon"),p=n("openwb-base-alert"),d=n("openwb-base-heading"),i=n("openwb-base-number-input"),f=n("openwb-base-text-input"),B=n("openwb-base-card");return a(),s(B,{subtype:"info",collapsible:!0,collapsed:!0},{header:u(()=>[t(l,{"fixed-width":"",icon:["fas","car"]}),c(" "+g(o.vehicleName)+" (ID: "+g(r.vehicleIndex)+") ",1)]),default:u(()=>[e.$store.state.mqtt["openWB/vehicle/"+r.vehicleIndex+"/get/fault_state"]!==void 0?(a(),s(p,{key:0,subtype:m.statusLevel[e.$store.state.mqtt["openWB/vehicle/"+r.vehicleIndex+"/get/fault_state"]]},{default:u(()=>[e.$store.state.mqtt["openWB/vehicle/"+r.vehicleIndex+"/get/fault_state"]==1?(a(),s(l,{key:0,"fixed-width":"",icon:["fas","exclamation-triangle"]})):e.$store.state.mqtt["openWB/vehicle/"+r.vehicleIndex+"/get/fault_state"]==2?(a(),s(l,{key:1,"fixed-width":"",icon:["fas","times-circle"]})):(a(),s(l,{key:2,"fixed-width":"",icon:["fas","check-circle"]})),c(" Modulmeldung:"),je,c(" "+g(e.$store.state.mqtt["openWB/vehicle/"+r.vehicleIndex+"/get/fault_str"]),1)]),_:1},8,["subtype"])):q("",!0),t(d,null,{default:u(()=>[c("Fahrzeugdaten")]),_:1}),t(i,{title:"Ladestand",readonly:"",class:"text-right text-monospace",unit:"%","model-value":e.$store.state.mqtt["openWB/vehicle/"+r.vehicleIndex+"/get/soc"]},null,8,["model-value"]),t(i,{title:"Reichweite",readonly:"",class:"text-right text-monospace",unit:"km","model-value":r.socRange},null,8,["model-value"]),t(f,{title:"Letzter Zeitstempel",readonly:"",class:"text-right text-monospace","model-value":r.socTimestamp},null,8,["model-value"])]),_:1})}const De=W(Oe,[["render",Re],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/status/VehicleCard.vue"]]);w.add(k,C,T,V);K.register(F,J,G,Q,U,X,Y,ee,te);const ze={name:"ElectricityTariffCard",mixins:[y],components:{ChartjsLine:ne,FontAwesomeIcon:x},data(){return{mqttTopicsToSubscribe:["openWB/optional/et/provider","openWB/optional/et/get/fault_state","openWB/optional/et/get/fault_str","openWB/optional/et/get/prices"],statusLevel:["success","warning","danger"],chartDatasets:{datasets:[{label:"Stromtarif",unit:"ct/kWh",type:"line",stepped:!0,borderColor:"rgba(255, 0, 0, 0.7)",backgroundColor:"rgba(255, 10, 13, 0.3)",fill:!1,pointStyle:"circle",pointRadius:0,pointHoverRadius:4,cubicInterpolationMode:"monotone",hidden:!1,borderWidth:1,data:void 0,yAxisID:"y",parsing:{xAxisKey:"timestamp",yAxisKey:"price"}}]},chartOptions:{plugins:{title:{display:!1},tooltip:{enabled:!0},legend:{display:!1}},elements:{point:{radius:2}},responsive:!0,maintainAspectRatio:!1,interaction:{mode:"index",intersect:!1},scales:{x:{type:"time",time:{unit:"hour",text:"Zeit",maxTicksLimit:24},display:!0,title:{display:!0,text:"Uhrzeit"},ticks:{font:{size:12},maxTicksLimit:0},grid:{}},y:{position:"left",type:"linear",display:"auto",title:{font:{size:12},display:!0,text:"Preis [ct/kWh]"},grid:{},ticks:{font:{size:12},stepSize:.01,maxTicksLimit:11}}}}}},computed:{electricityTariffConfigured(){const e=this.$store.state.mqtt["openWB/optional/et/provider"];return e!==void 0?e.type!==null:!1},chartDataRead(){return this.chartDataObject.datasets[0].data!=null},chartDataObject(){if(this.$store.state.mqtt["openWB/optional/et/get/prices"]){var e=this.$store.state.mqtt["openWB/optional/et/get/prices"],_=[];for(const[m,r]of Object.entries(e))_.push({timestamp:m*1e3,price:r*1e5});const h=_.slice(-1)[0];_.push({timestamp:h.timestamp+(60*60-1)*1e3,price:h.price})}const o=this.chartDatasets;return o.datasets[0].data=_,o}}},Ee=e=>(H("data-v-f4769d2f"),e=e(),Z(),e),Me=Ee(()=>v("br",null,null,-1)),Ve={class:"openwb-chart"};function He(e,_,o,h,m,r){const l=n("font-awesome-icon"),p=n("openwb-base-alert"),d=n("openwb-base-text-input"),i=n("chartjs-line"),f=n("openwb-base-card");return r.electricityTariffConfigured?(a(),s(f,{key:0,subtype:"secondary",collapsible:!0,collapsed:!0},{header:u(()=>[t(l,{"fixed-width":"",icon:["fas","ranking-star"]}),c(" Variabler Stromtarif ")]),default:u(()=>[t(p,{subtype:m.statusLevel[e.$store.state.mqtt["openWB/optional/et/get/fault_state"]]},{default:u(()=>[e.$store.state.mqtt["openWB/optional/et/get/fault_state"]==1?(a(),s(l,{key:0,"fixed-width":"",icon:["fas","exclamation-triangle"]})):e.$store.state.mqtt["openWB/optional/et/get/fault_state"]==2?(a(),s(l,{key:1,"fixed-width":"",icon:["fas","times-circle"]})):(a(),s(l,{key:2,"fixed-width":"",icon:["fas","check-circle"]})),c(" Modulmeldung:"),Me,c(" "+g(e.$store.state.mqtt["openWB/optional/et/get/fault_str"]),1)]),_:1},8,["subtype"]),t(d,{title:"Anbieter",readonly:"","model-value":e.$store.state.mqtt["openWB/optional/et/provider"].name},null,8,["model-value"]),v("div",Ve,[r.chartDataRead?(a(),s(i,{key:0,ref:"myChart",data:r.chartDataObject,options:m.chartOptions},null,8,["data","options"])):q("",!0)])]),_:1})):q("",!0)}const Ze=W(ze,[["render",He],["__scopeId","data-v-f4769d2f"],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/status/ElectricityTariffCard.vue"]]);const Ke={name:"OpenwbStatus",mixins:[y],components:{ChargePointSumCard:re,ChargePointCard:ue,CounterCard:_e,InverterSumCard:ve,InverterCard:xe,BatterySumCard:Te,BatteryCard:Pe,RippleControlReceiverCard:Ae,VehicleCard:De,ElectricityTariffCard:Ze},data(){return{mqttTopicsToSubscribe:["openWB/general/extern","openWB/chargepoint/get/power","openWB/chargepoint/get/imported","openWB/chargepoint/get/exported","openWB/chargepoint/get/daily_imported","openWB/chargepoint/get/daily_exported","openWB/chargepoint/+/config","openWB/chargepoint/+/get/+","openWB/chargepoint/+/get/connected_vehicle/info","openWB/chargepoint/+/set/+","openWB/internal_chargepoint/+/data/phases_to_use","openWB/system/device/+/component/+/config","openWB/counter/+/get/+","openWB/pv/get/+","openWB/pv/+/get/+","openWB/bat/get/+","openWB/bat/+/get/+","openWB/vehicle/+/name","openWB/vehicle/+/get/+"]}},computed:{installedChargePoints:{get(){let e=this.getWildcardTopics("openWB/chargepoint/+/config"),_={};for(const[o,h]of Object.entries(e))(h.type==="internal_openwb"||this.$store.state.mqtt["openWB/general/extern"]===!1)&&(_[o]=h);return _}},numChargePointsInstalled:{get(){return Object.keys(this.installedChargePoints).length}},counterConfigs:{get(){return this.$store.state.mqtt["openWB/general/extern"]===!0?{}:this.filterComponentsByType(this.getWildcardTopics("openWB/system/device/+/component/+/config"),"counter")}},numInvertersInstalled:{get(){return Object.keys(this.inverterConfigs).length}},inverterConfigs:{get(){return this.$store.state.mqtt["openWB/general/extern"]===!0?{}:this.filterComponentsByType(this.getWildcardTopics("openWB/system/device/+/component/+/config"),"inverter")}},numBatteriesInstalled:{get(){return Object.keys(this.batteryConfigs).length}},batteryConfigs:{get(){return this.$store.state.mqtt["openWB/general/extern"]===!0?{}:this.filterComponentsByType(this.getWildcardTopics("openWB/system/device/+/component/+/config"),"bat")}},vehicleNames:{get(){return this.$store.state.mqtt["openWB/general/extern"]===!0?{}:this.getWildcardTopics("openWB/vehicle/+/name")}}},methods:{filterComponentsByType(e,_){return Object.keys(e).filter(o=>e[o].type.includes(_)).reduce((o,h)=>({...o,[h]:e[h]}),{})}}},Fe={class:"status"};function Je(e,_,o,h,m,r){const l=n("charge-point-sum-card"),p=n("charge-point-card"),d=n("counter-card"),i=n("inverter-sum-card"),f=n("inverter-card"),B=n("battery-sum-card"),O=n("battery-card"),j=n("vehicle-card"),R=n("electricity-tariff-card"),D=n("ripple-control-receiver-card");return a(),I("div",Fe,[r.numChargePointsInstalled>1&&e.$store.state.mqtt["openWB/general/extern"]===!1?(a(),s(l,{key:0})):q("",!0),(a(!0),I(P,null,$(r.installedChargePoints,(b,N)=>(a(),s(p,{key:N,installedChargePoint:b,installedChargePointKey:N},null,8,["installedChargePoint","installedChargePointKey"]))),128)),(a(!0),I(P,null,$(r.counterConfigs,b=>(a(),s(d,{key:b.id,counter:b},null,8,["counter"]))),128)),r.numInvertersInstalled>1&&e.$store.state.mqtt["openWB/general/extern"]===!1?(a(),s(i,{key:1})):q("",!0),(a(!0),I(P,null,$(r.inverterConfigs,b=>(a(),s(f,{key:b.id,inverter:b},null,8,["inverter"]))),128)),r.numBatteriesInstalled>1&&e.$store.state.mqtt["openWB/general/extern"]===!1?(a(),s(B,{key:2})):q("",!0),(a(!0),I(P,null,$(r.batteryConfigs,b=>(a(),s(O,{key:b.id,battery:b},null,8,["battery"]))),128)),(a(!0),I(P,null,$(r.vehicleNames,(b,N)=>(a(),s(j,{key:N,vehicleKey:N,vehicleName:b},null,8,["vehicleKey","vehicleName"]))),128)),t(R),t(D)])}const at=W(Ke,[["render",Je],["__scopeId","data-v-051028a3"],["__file","/opt/openWB-dev/openwb-ui-settings/src/views/Status.vue"]]);export{at as default}; diff --git a/web/settings/assets/Support-b03e8e2b.js b/web/settings/assets/Support-488fe6e3.js similarity index 94% rename from web/settings/assets/Support-b03e8e2b.js rename to web/settings/assets/Support-488fe6e3.js index 2206bbea43..71064de36f 100644 --- a/web/settings/assets/Support-b03e8e2b.js +++ b/web/settings/assets/Support-488fe6e3.js @@ -1 +1 @@ -import{l as w,g as V,F as y}from"./vendor-fortawesome-9fdc06a9.js";import{C as B}from"./index-131a952e.js";import{_ as v,q as a,k as r,l as c,u as l,z as h,M as s,B as n,a3 as z,A as g,x as t,p as F}from"./vendor-f0f38b48.js";import"./vendor-bootstrap-384bc385.js";import"./vendor-jquery-8576ed22.js";import"./vendor-axios-e59ef189.js";import"./vendor-sortablejs-cbf37f8f.js";w.add(V);const x={name:"OpenwbSupport",mixins:[B],emits:["sendCommand"],components:{FontAwesomeIcon:y},data(){return{mqttTopicsToSubscribe:["openWB/general/extern","openWB/system/dataprotection_acknowledged"],sendDebugData:{email:"",serialNumber:"",installedComponents:"",vehicles:"",message:""},enableSendDebugButton:!0}},methods:{sendDebugMessage(){if(document.forms.supportForm.reportValidity())this.$emit("sendCommand",{command:"sendDebug",data:this.sendDebugData}),this.enableSendDebugButton=!1;else{console.warn("form invalid");return}}}},C={class:"support"},q={name:"supportForm"},A={key:1},W={key:0},N=l("li",null,' Vergewissern Sie sich, dass mindestens die aktuelle "Release" Version installiert ist. ',-1),M=l("li",null," Stellen Sie beim Absenden des Berichtes die Fehlerkonditionen her. Lädt ein Fahrzeug nicht, sollte es angeschlossen und nicht voll geladen sein. Ist PV laden betroffen, sollte die Sonne auch scheinen. Der Systembericht muss dann versendet werden, wenn der Fehler aktuell vorliegt. ",-1),L=l("li",null," Stellen Sie sicher, dass der Lademodus korrekt gewählt ist und im Falle von nicht ladenden Fahrzeugen, dass der Ladepunkt auch entsperrt wurde. ",-1),U=l("li",null," Das Auslesen der Systemkonfiguration erfolgt direkt nach den Klick auf Absenden und kann einige Zeit in Anspruch nehmen. Sie erhalten ca. 15 bis 30 Minuten nach Versand des Systemberichtes von uns automatisch eine E-Mail mit der Ticketnummer unter der die Anfrage bei uns registriert wurde. Wir melden uns bei ihnen. Bitte kontrollieren Sie daher immer auch den Spam Ordner auf eingehende Nachrichten. Erhalten Sie trotzdem keine Ticketnummer, ist das Versenden des Systemberichtes fehlgeschlagen. ",-1),E={class:"row justify-content-center"};function G(d,o,T,H,e,_){const b=a("router-link"),u=a("openwb-base-alert"),f=a("FontAwesomeIcon"),p=a("openwb-base-text-input"),m=a("openwb-base-textarea"),S=a("openwb-base-click-button"),k=a("openwb-base-card"),D=a("font-awesome-icon");return r(),c("div",C,[l("form",q,[d.$store.state.mqtt["openWB/system/dataprotection_acknowledged"]!==!0?(r(),h(u,{key:0,subtype:"danger"},{default:s(()=>[t(" Sie müssen der "),n(b,{to:"/System/LegalSettings"},{default:s(()=>[t(" Datenschutzerklärung ")]),_:1}),t(" zustimmen, um einen Systembericht senden zu können. ")]),_:1})):(r(),c("div",A,[n(u,{subtype:"success"},{default:s(()=>[t(" Sie haben der "),n(b,{to:"/System/LegalSettings"},{default:s(()=>[t(" Datenschutzerklärung ")]),_:1}),t(" zugestimmt und können Systemberichte senden. ")]),_:1}),n(k,{title:"Systembericht"},z({default:s(()=>[d.$store.state.mqtt["openWB/system/dataprotection_acknowledged"]===!0?(r(),c("div",W,[n(u,{subtype:"info"},{default:s(()=>[l("ul",null,[l("li",null,[t(" Lesen Sie den Hilfetext, der durch Klick auf das "),n(f,{icon:["far","question-circle"]}),t(" angezeigt wird. Nehmen Sie das Wiki zur Hilfe. ")]),N,M,L,U])]),_:1}),n(p,{title:"E-Mail",required:"",subtype:"email",modelValue:e.sendDebugData.email,"onUpdate:modelValue":o[0]||(o[0]=i=>e.sendDebugData.email=i)},null,8,["modelValue"]),n(p,{title:"openWB Seriennummer",required:"",modelValue:e.sendDebugData.serialNumber,"onUpdate:modelValue":o[1]||(o[1]=i=>e.sendDebugData.serialNumber=i)},{help:s(()=>[t(" Die Seriennummer der openWB finden Sie außen am Gehäuse - bei Älteren innen im Gehäuse. Sie können uns aber auch eine Bestellnummer oder Rechnungsnummer übermitteln. Das Gehäuse muss nicht extra geöffnet werden! ")]),_:1},8,["modelValue"]),n(m,{title:"Verwendete Komponenten",required:"",minlength:"3",maxlength:"500",modelValue:e.sendDebugData.installedComponents,"onUpdate:modelValue":o[2]||(o[2]=i=>e.sendDebugData.installedComponents=i)},{help:s(()=>[t(" Geben Sie hier möglichst detailliert an, welche Anlagenkomponenten (EVU, PV, Speicher) angebunden sind. ")]),_:1},8,["modelValue"]),n(m,{title:"Fahrzeuge",required:"",minlength:"3",maxlength:"500",modelValue:e.sendDebugData.vehicles,"onUpdate:modelValue":o[3]||(o[3]=i=>e.sendDebugData.vehicles=i)},{help:s(()=>[t(" Geben Sie hier an, welche Fahrzeuge geladen werden (Hersteller, Modell, Baujahr). ")]),_:1},8,["modelValue"]),n(m,{title:"Problembeschreibung",required:"",minlength:"20",maxlength:"500",modelValue:e.sendDebugData.message,"onUpdate:modelValue":o[4]||(o[4]=i=>e.sendDebugData.message=i)},null,8,["modelValue"])])):g("",!0)]),_:2},[d.$store.state.mqtt["openWB/system/dataprotection_acknowledged"]===!0?{name:"footer",fn:s(()=>[l("div",E,[n(S,{class:F(["col-4",e.enableSendDebugButton?"btn-success":"btn-outline-success"]),disabled:!e.enableSendDebugButton,onButtonClicked:_.sendDebugMessage},{default:s(()=>[t(" Absenden ")]),_:1},8,["class","disabled","onButtonClicked"])])]),key:"0"}:void 0]),1024),e.enableSendDebugButton?g("",!0):(r(),h(u,{key:0,subtype:"success"},{default:s(()=>[t(" Die Daten für den Fehlerbericht werden im Hintergrund zusammengestellt. Sie können diese Seite jetzt verlassen. "),n(D,{"fixed-width":"",icon:["fas","check"]})]),_:1}))]))])])}const J=v(x,[["render",G],["__file","/opt/openWB-dev/openwb-ui-settings/src/views/Support.vue"]]);export{J as default}; +import{l as w,g as V,F as y}from"./vendor-fortawesome-542fe04f.js";import{C as B}from"./index-eaa58995.js";import{_ as v,q as a,k as r,l as c,u as l,z as h,M as s,B as n,a3 as z,A as g,x as t,p as F}from"./vendor-493c2bec.js";import"./vendor-bootstrap-a615942d.js";import"./vendor-jquery-a64a4809.js";import"./vendor-axios-b1ba123b.js";import"./vendor-sortablejs-0b339223.js";w.add(V);const x={name:"OpenwbSupport",mixins:[B],emits:["sendCommand"],components:{FontAwesomeIcon:y},data(){return{mqttTopicsToSubscribe:["openWB/general/extern","openWB/system/dataprotection_acknowledged"],sendDebugData:{email:"",serialNumber:"",installedComponents:"",vehicles:"",message:""},enableSendDebugButton:!0}},methods:{sendDebugMessage(){if(document.forms.supportForm.reportValidity())this.$emit("sendCommand",{command:"sendDebug",data:this.sendDebugData}),this.enableSendDebugButton=!1;else{console.warn("form invalid");return}}}},C={class:"support"},q={name:"supportForm"},A={key:1},W={key:0},N=l("li",null,' Vergewissern Sie sich, dass mindestens die aktuelle "Release" Version installiert ist. ',-1),M=l("li",null," Stellen Sie beim Absenden des Berichtes die Fehlerkonditionen her. Lädt ein Fahrzeug nicht, sollte es angeschlossen und nicht voll geladen sein. Ist PV laden betroffen, sollte die Sonne auch scheinen. Der Systembericht muss dann versendet werden, wenn der Fehler aktuell vorliegt. ",-1),L=l("li",null," Stellen Sie sicher, dass der Lademodus korrekt gewählt ist und im Falle von nicht ladenden Fahrzeugen, dass der Ladepunkt auch entsperrt wurde. ",-1),U=l("li",null," Das Auslesen der Systemkonfiguration erfolgt direkt nach den Klick auf Absenden und kann einige Zeit in Anspruch nehmen. Sie erhalten ca. 15 bis 30 Minuten nach Versand des Systemberichtes von uns automatisch eine E-Mail mit der Ticketnummer unter der die Anfrage bei uns registriert wurde. Wir melden uns bei ihnen. Bitte kontrollieren Sie daher immer auch den Spam Ordner auf eingehende Nachrichten. Erhalten Sie trotzdem keine Ticketnummer, ist das Versenden des Systemberichtes fehlgeschlagen. ",-1),E={class:"row justify-content-center"};function G(d,o,T,H,e,_){const b=a("router-link"),u=a("openwb-base-alert"),f=a("FontAwesomeIcon"),p=a("openwb-base-text-input"),m=a("openwb-base-textarea"),S=a("openwb-base-click-button"),k=a("openwb-base-card"),D=a("font-awesome-icon");return r(),c("div",C,[l("form",q,[d.$store.state.mqtt["openWB/system/dataprotection_acknowledged"]!==!0?(r(),h(u,{key:0,subtype:"danger"},{default:s(()=>[t(" Sie müssen der "),n(b,{to:"/System/LegalSettings"},{default:s(()=>[t(" Datenschutzerklärung ")]),_:1}),t(" zustimmen, um einen Systembericht senden zu können. ")]),_:1})):(r(),c("div",A,[n(u,{subtype:"success"},{default:s(()=>[t(" Sie haben der "),n(b,{to:"/System/LegalSettings"},{default:s(()=>[t(" Datenschutzerklärung ")]),_:1}),t(" zugestimmt und können Systemberichte senden. ")]),_:1}),n(k,{title:"Systembericht"},z({default:s(()=>[d.$store.state.mqtt["openWB/system/dataprotection_acknowledged"]===!0?(r(),c("div",W,[n(u,{subtype:"info"},{default:s(()=>[l("ul",null,[l("li",null,[t(" Lesen Sie den Hilfetext, der durch Klick auf das "),n(f,{icon:["far","question-circle"]}),t(" angezeigt wird. Nehmen Sie das Wiki zur Hilfe. ")]),N,M,L,U])]),_:1}),n(p,{title:"E-Mail",required:"",subtype:"email",modelValue:e.sendDebugData.email,"onUpdate:modelValue":o[0]||(o[0]=i=>e.sendDebugData.email=i)},null,8,["modelValue"]),n(p,{title:"openWB Seriennummer",required:"",modelValue:e.sendDebugData.serialNumber,"onUpdate:modelValue":o[1]||(o[1]=i=>e.sendDebugData.serialNumber=i)},{help:s(()=>[t(" Die Seriennummer der openWB finden Sie außen am Gehäuse - bei Älteren innen im Gehäuse. Sie können uns aber auch eine Bestellnummer oder Rechnungsnummer übermitteln. Das Gehäuse muss nicht extra geöffnet werden! ")]),_:1},8,["modelValue"]),n(m,{title:"Verwendete Komponenten",required:"",minlength:"3",maxlength:"500",modelValue:e.sendDebugData.installedComponents,"onUpdate:modelValue":o[2]||(o[2]=i=>e.sendDebugData.installedComponents=i)},{help:s(()=>[t(" Geben Sie hier möglichst detailliert an, welche Anlagenkomponenten (EVU, PV, Speicher) angebunden sind. ")]),_:1},8,["modelValue"]),n(m,{title:"Fahrzeuge",required:"",minlength:"3",maxlength:"500",modelValue:e.sendDebugData.vehicles,"onUpdate:modelValue":o[3]||(o[3]=i=>e.sendDebugData.vehicles=i)},{help:s(()=>[t(" Geben Sie hier an, welche Fahrzeuge geladen werden (Hersteller, Modell, Baujahr). ")]),_:1},8,["modelValue"]),n(m,{title:"Problembeschreibung",required:"",minlength:"20",maxlength:"500",modelValue:e.sendDebugData.message,"onUpdate:modelValue":o[4]||(o[4]=i=>e.sendDebugData.message=i)},null,8,["modelValue"])])):g("",!0)]),_:2},[d.$store.state.mqtt["openWB/system/dataprotection_acknowledged"]===!0?{name:"footer",fn:s(()=>[l("div",E,[n(S,{class:F(["col-4",e.enableSendDebugButton?"btn-success":"btn-outline-success"]),disabled:!e.enableSendDebugButton,onButtonClicked:_.sendDebugMessage},{default:s(()=>[t(" Absenden ")]),_:1},8,["class","disabled","onButtonClicked"])])]),key:"0"}:void 0]),1024),e.enableSendDebugButton?g("",!0):(r(),h(u,{key:0,subtype:"success"},{default:s(()=>[t(" Die Daten für den Fehlerbericht werden im Hintergrund zusammengestellt. Sie können diese Seite jetzt verlassen. "),n(D,{"fixed-width":"",icon:["fas","check"]})]),_:1}))]))])])}const J=v(x,[["render",G],["__file","/opt/openWB-dev/openwb-ui-settings/src/views/Support.vue"]]);export{J as default}; diff --git a/web/settings/assets/System-6b822daf.js b/web/settings/assets/System-a82a8cc5.js similarity index 96% rename from web/settings/assets/System-6b822daf.js rename to web/settings/assets/System-a82a8cc5.js index ce42629dde..95dd36b830 100644 --- a/web/settings/assets/System-6b822daf.js +++ b/web/settings/assets/System-a82a8cc5.js @@ -1 +1 @@ -import{l as V,a8 as q,p as S,a7 as C,U as $,a9 as A,F as x}from"./vendor-fortawesome-9fdc06a9.js";import{C as U}from"./index-131a952e.js";import{_ as z,q as c,k as g,l as y,B as s,M as o,u as a,A as k,x as d,p as v,z as E,I as F,J as j,y as T,R as I,S as D}from"./vendor-f0f38b48.js";import"./vendor-bootstrap-384bc385.js";import"./vendor-jquery-8576ed22.js";import"./vendor-axios-e59ef189.js";import"./vendor-sortablejs-cbf37f8f.js";V.add(q,S,C,$,A);const L={name:"OpenwbSystem",mixins:[U],emits:["sendCommand"],components:{FontAwesomeIcon:x},data(){return{mqttTopicsToSubscribe:["openWB/system/optionBackup","openWB/system/current_commit","openWB/system/current_branch_commit","openWB/system/current_missing_commits","openWB/system/available_branches","openWB/system/current_branch","openWB/system/version"],warningAcknowledged:!1,selectedTag:"*HEAD*"}},computed:{updateAvailable(){return this.$store.state.mqtt["openWB/system/current_branch_commit"]&&this.$store.state.mqtt["openWB/system/current_branch_commit"]!=this.$store.state.mqtt["openWB/system/current_commit"]},releaseChangeValid(){return this.$store.state.mqtt["openWB/system/current_branch"]in this.$store.state.mqtt["openWB/system/available_branches"]&&"tags"in this.$store.state.mqtt["openWB/system/available_branches"][this.$store.state.mqtt["openWB/system/current_branch"]]&&this.selectedTag in this.$store.state.mqtt["openWB/system/available_branches"][this.$store.state.mqtt["openWB/system/current_branch"]].tags}},methods:{sendSystemCommand(t,e={}){this.$emit("sendCommand",{command:t,data:e})},getBranchGroups(){const t="Release",e="Beta",m="master",w=[t,e,m],p=(l,i)=>l.value==i.value?0:l.value==t?-1:i.value==t?1:l.value==e?-1:i.value==e?1:l.value==m?-1:i.value==m||l.value>i.value?1:l.value(I("data-v-059847f6"),t=t(),D(),t),N={class:"system"},O=f(()=>a("h2",null,"Achtung!",-1)),R=f(()=>a("p",null," Vor allen Aktionen auf dieser Seite ist sicherzustellen, dass kein Ladevorgang aktiv ist! Zur Sicherheit bitte zusätzlich alle Fahrzeuge von der Ladestation / den Ladestationen abstecken! ",-1)),Z={key:0},P={name:"versionInfoForm"},G={class:"missing-commits"},J={class:"row justify-content-center"},H={class:"col-md-4 d-flex py-1 justify-content-center"},M={class:"col-md-4 d-flex py-1 justify-content-center"},K={name:"powerForm"},Q={class:"row justify-content-center"},X={class:"col-md-4 d-flex py-1 justify-content-center"},Y={class:"col-md-4 d-flex py-1 justify-content-center"},ee={name:"releaseChangeForm"},te=f(()=>a("br",null,null,-1)),se=f(()=>a("br",null,null,-1)),ne=f(()=>a("br",null,null,-1)),ae=f(()=>a("br",null,null,-1)),oe={class:"row justify-content-center"},re={class:"col-md-4 d-flex py-1 justify-content-center"};function le(t,e,m,w,p,r){const h=c("openwb-base-button-group-input"),u=c("openwb-base-alert"),l=c("openwb-base-text-input"),i=c("openwb-base-card"),b=c("font-awesome-icon"),_=c("openwb-base-click-button"),B=c("openwb-base-select-input");return g(),y("div",N,[s(u,{subtype:"danger"},{default:o(()=>[O,R,s(h,{title:"Ich habe die Warnung verstanden",buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],modelValue:this.warningAcknowledged,"onUpdate:modelValue":e[0]||(e[0]=n=>this.warningAcknowledged=n)},null,8,["modelValue"])]),_:1}),p.warningAcknowledged?(g(),y("div",Z,[a("form",P,[s(i,{title:"Versions-Informationen / Aktualisierung",subtype:"success",collapsible:!0,collapsed:!0},{footer:o(()=>[a("div",J,[a("div",H,[s(_,{class:"btn-info",onButtonClicked:e[5]||(e[5]=n=>r.sendSystemCommand("systemFetchVersions"))},{default:o(()=>[d(" Informationen aktualisieren "),s(b,{"fixed-width":"",icon:["fas","download"]})]),_:1})]),a("div",M,[s(_,{class:v(r.updateAvailable?"btn-success clickable":"btn-outline-success"),disabled:!r.updateAvailable,onButtonClicked:e[6]||(e[6]=n=>r.systemUpdate())},{default:o(()=>[d(" Update "),s(b,{"fixed-width":"",icon:["fas","arrow-alt-circle-up"]})]),_:1},8,["class","disabled"])])])]),default:o(()=>[s(l,{title:"Entwicklungszweig",readonly:"",modelValue:t.$store.state.mqtt["openWB/system/current_branch"],"onUpdate:modelValue":e[1]||(e[1]=n=>t.$store.state.mqtt["openWB/system/current_branch"]=n)},null,8,["modelValue"]),s(l,{title:"Bezeichnung",readonly:"",modelValue:t.$store.state.mqtt["openWB/system/version"],"onUpdate:modelValue":e[2]||(e[2]=n=>t.$store.state.mqtt["openWB/system/version"]=n)},null,8,["modelValue"]),s(l,{title:"installierte Version",readonly:"",class:v(r.updateAvailable?"text-danger":"text-success"),modelValue:t.$store.state.mqtt["openWB/system/current_commit"],"onUpdate:modelValue":e[3]||(e[3]=n=>t.$store.state.mqtt["openWB/system/current_commit"]=n)},null,8,["class","modelValue"]),s(l,{title:"aktuellste Version",readonly:"",modelValue:t.$store.state.mqtt["openWB/system/current_branch_commit"],"onUpdate:modelValue":e[4]||(e[4]=n=>t.$store.state.mqtt["openWB/system/current_branch_commit"]=n)},null,8,["modelValue"]),r.updateAvailable?(g(),E(i,{key:0,title:"Änderungen",subtype:"info",collapsible:!0,collapsed:!0},{default:o(()=>[a("ul",G,[(g(!0),y(F,null,j(t.$store.state.mqtt["openWB/system/current_missing_commits"],(n,W)=>(g(),y("li",{key:W},T(n),1))),128))])]),_:1})):k("",!0),s(u,{subtype:"danger"},{default:o(()=>[d(" Nach einem Update wird die Ladestation direkt neu gestartet! Es werden alle eventuell vorhandenen lokalen Änderungen am Programmcode mit dem Update verworfen! ")]),_:1})]),_:1})]),a("form",K,[s(i,{title:"Betrieb",collapsible:!0,collapsed:!0},{footer:o(()=>[a("div",Q,[a("div",X,[s(_,{class:"btn-warning",onButtonClicked:e[7]||(e[7]=n=>r.sendSystemCommand("systemReboot"))},{default:o(()=>[d(" Neustart "),s(b,{"fixed-width":"",icon:["fas","undo"]})]),_:1})]),a("div",Y,[s(_,{class:"btn-danger",onButtonClicked:e[8]||(e[8]=n=>r.sendSystemCommand("systemShutdown"))},{default:o(()=>[d(" Ausschalten "),s(b,{"fixed-width":"",icon:["fas","power-off"]})]),_:1})])])]),default:o(()=>[s(u,{subtype:"danger"},{default:o(()=>[d(" Wenn die Ladestation ausgeschaltet wird, muss sie komplett spannungsfrei geschaltet werden. Erst beim erneuten Zuschalten der Spannung fährt das System wieder hoch. ")]),_:1})]),_:1})]),a("form",ee,[s(i,{title:"Entwicklungszweig",subtype:"danger",collapsible:!0,collapsed:!0},{footer:o(()=>[a("div",oe,[a("div",re,[s(_,{class:v(r.releaseChangeValid?"btn-danger clickable":"btn-outline-danger"),disabled:!r.releaseChangeValid,onButtonClicked:e[11]||(e[11]=n=>r.switchBranch())},{default:o(()=>[s(b,{"fixed-width":"",icon:["fas","skull-crossbones"]}),d(" Branch und Tag wechseln "),s(b,{"fixed-width":"",icon:["fas","skull-crossbones"]})]),_:1},8,["class","disabled"])])])]),default:o(()=>[s(u,{subtype:"danger"},{default:o(()=>[d(" Nach einem Wechsel wird die Ladestation direkt neu gestartet! Es werden alle lokalen Änderungen mit dem Wechsel verworfen! ")]),_:1}),s(u,{subtype:"warning"},{default:o(()=>[d(" Bevor auf einen neuen Entwicklungszweig gewechselt wird sollte immer eine Sicherung erstellt werden! Es kann zwar wieder auf eine ältere Version gewechselt werden, jedoch ist nicht sichergestellt, dass es dabei keine Probleme gibt. Gerade wenn das Datenformat in der neuen Version angepasst wurde, wird eine ältere damit Fehler produzieren."),te,d(' Für den normalen Betrieb wird der Zweig "Release" empfohlen. Der Softwarestand wurde ausgiebig getestet, sodass ein Fehlverhalten relativ unwahrscheinlich ist.'),se,d(' Der "Beta" Zweig beinhaltet Vorabversionen, bei denen die Entwicklung soweit abgeschlossen ist. Die enthaltenen Anpassungen wurden rudimentär getestet, können aber durchaus noch Fehler enthalten.'),ne,d(' Die aktuelle Softwareentwicklung findet im Zweig "master" statt. Die enthaltenen Anpassungen sind teilweise noch nicht getestet und enthalten potentiell Fehler.'),ae,d(' Einträge, die mit "feature" beginnen, sind experimentelle Entwicklungszweige, die nicht für den allgemeinen Gebrauch gedacht sind. ')]),_:1}),s(B,{title:"Entwicklungszweig",groups:r.getBranchGroups(),"model-value":t.$store.state.mqtt["openWB/system/current_branch"],"onUpdate:modelValue":e[9]||(e[9]=n=>t.updateState("openWB/system/current_branch",n))},null,8,["groups","model-value"]),s(B,{title:"Tag",options:r.getBranchTagOptions(),modelValue:p.selectedTag,"onUpdate:modelValue":e[10]||(e[10]=n=>p.selectedTag=n)},null,8,["options","modelValue"])]),_:1})])])):k("",!0)])}const be=z(L,[["render",le],["__scopeId","data-v-059847f6"],["__file","/opt/openWB-dev/openwb-ui-settings/src/views/System.vue"]]);export{be as default}; +import{l as V,aa as q,p as S,a9 as C,U as $,ab as A,F as x}from"./vendor-fortawesome-542fe04f.js";import{C as U}from"./index-eaa58995.js";import{_ as z,q as c,k as g,l as y,B as s,M as o,u as a,A as k,x as d,p as v,z as E,I as F,J as j,y as T,R as I,S as D}from"./vendor-493c2bec.js";import"./vendor-bootstrap-a615942d.js";import"./vendor-jquery-a64a4809.js";import"./vendor-axios-b1ba123b.js";import"./vendor-sortablejs-0b339223.js";V.add(q,S,C,$,A);const L={name:"OpenwbSystem",mixins:[U],emits:["sendCommand"],components:{FontAwesomeIcon:x},data(){return{mqttTopicsToSubscribe:["openWB/system/optionBackup","openWB/system/current_commit","openWB/system/current_branch_commit","openWB/system/current_missing_commits","openWB/system/available_branches","openWB/system/current_branch","openWB/system/version"],warningAcknowledged:!1,selectedTag:"*HEAD*"}},computed:{updateAvailable(){return this.$store.state.mqtt["openWB/system/current_branch_commit"]&&this.$store.state.mqtt["openWB/system/current_branch_commit"]!=this.$store.state.mqtt["openWB/system/current_commit"]},releaseChangeValid(){return this.$store.state.mqtt["openWB/system/current_branch"]in this.$store.state.mqtt["openWB/system/available_branches"]&&"tags"in this.$store.state.mqtt["openWB/system/available_branches"][this.$store.state.mqtt["openWB/system/current_branch"]]&&this.selectedTag in this.$store.state.mqtt["openWB/system/available_branches"][this.$store.state.mqtt["openWB/system/current_branch"]].tags}},methods:{sendSystemCommand(t,e={}){this.$emit("sendCommand",{command:t,data:e})},getBranchGroups(){const t="Release",e="Beta",m="master",w=[t,e,m],p=(l,i)=>l.value==i.value?0:l.value==t?-1:i.value==t?1:l.value==e?-1:i.value==e?1:l.value==m?-1:i.value==m||l.value>i.value?1:l.value(I("data-v-059847f6"),t=t(),D(),t),N={class:"system"},O=f(()=>a("h2",null,"Achtung!",-1)),R=f(()=>a("p",null," Vor allen Aktionen auf dieser Seite ist sicherzustellen, dass kein Ladevorgang aktiv ist! Zur Sicherheit bitte zusätzlich alle Fahrzeuge von der Ladestation / den Ladestationen abstecken! ",-1)),Z={key:0},P={name:"versionInfoForm"},G={class:"missing-commits"},J={class:"row justify-content-center"},H={class:"col-md-4 d-flex py-1 justify-content-center"},M={class:"col-md-4 d-flex py-1 justify-content-center"},K={name:"powerForm"},Q={class:"row justify-content-center"},X={class:"col-md-4 d-flex py-1 justify-content-center"},Y={class:"col-md-4 d-flex py-1 justify-content-center"},ee={name:"releaseChangeForm"},te=f(()=>a("br",null,null,-1)),se=f(()=>a("br",null,null,-1)),ne=f(()=>a("br",null,null,-1)),ae=f(()=>a("br",null,null,-1)),oe={class:"row justify-content-center"},re={class:"col-md-4 d-flex py-1 justify-content-center"};function le(t,e,m,w,p,r){const h=c("openwb-base-button-group-input"),u=c("openwb-base-alert"),l=c("openwb-base-text-input"),i=c("openwb-base-card"),b=c("font-awesome-icon"),_=c("openwb-base-click-button"),B=c("openwb-base-select-input");return g(),y("div",N,[s(u,{subtype:"danger"},{default:o(()=>[O,R,s(h,{title:"Ich habe die Warnung verstanden",buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],modelValue:this.warningAcknowledged,"onUpdate:modelValue":e[0]||(e[0]=n=>this.warningAcknowledged=n)},null,8,["modelValue"])]),_:1}),p.warningAcknowledged?(g(),y("div",Z,[a("form",P,[s(i,{title:"Versions-Informationen / Aktualisierung",subtype:"success",collapsible:!0,collapsed:!0},{footer:o(()=>[a("div",J,[a("div",H,[s(_,{class:"btn-info",onButtonClicked:e[5]||(e[5]=n=>r.sendSystemCommand("systemFetchVersions"))},{default:o(()=>[d(" Informationen aktualisieren "),s(b,{"fixed-width":"",icon:["fas","download"]})]),_:1})]),a("div",M,[s(_,{class:v(r.updateAvailable?"btn-success clickable":"btn-outline-success"),disabled:!r.updateAvailable,onButtonClicked:e[6]||(e[6]=n=>r.systemUpdate())},{default:o(()=>[d(" Update "),s(b,{"fixed-width":"",icon:["fas","arrow-alt-circle-up"]})]),_:1},8,["class","disabled"])])])]),default:o(()=>[s(l,{title:"Entwicklungszweig",readonly:"",modelValue:t.$store.state.mqtt["openWB/system/current_branch"],"onUpdate:modelValue":e[1]||(e[1]=n=>t.$store.state.mqtt["openWB/system/current_branch"]=n)},null,8,["modelValue"]),s(l,{title:"Bezeichnung",readonly:"",modelValue:t.$store.state.mqtt["openWB/system/version"],"onUpdate:modelValue":e[2]||(e[2]=n=>t.$store.state.mqtt["openWB/system/version"]=n)},null,8,["modelValue"]),s(l,{title:"installierte Version",readonly:"",class:v(r.updateAvailable?"text-danger":"text-success"),modelValue:t.$store.state.mqtt["openWB/system/current_commit"],"onUpdate:modelValue":e[3]||(e[3]=n=>t.$store.state.mqtt["openWB/system/current_commit"]=n)},null,8,["class","modelValue"]),s(l,{title:"aktuellste Version",readonly:"",modelValue:t.$store.state.mqtt["openWB/system/current_branch_commit"],"onUpdate:modelValue":e[4]||(e[4]=n=>t.$store.state.mqtt["openWB/system/current_branch_commit"]=n)},null,8,["modelValue"]),r.updateAvailable?(g(),E(i,{key:0,title:"Änderungen",subtype:"info",collapsible:!0,collapsed:!0},{default:o(()=>[a("ul",G,[(g(!0),y(F,null,j(t.$store.state.mqtt["openWB/system/current_missing_commits"],(n,W)=>(g(),y("li",{key:W},T(n),1))),128))])]),_:1})):k("",!0),s(u,{subtype:"danger"},{default:o(()=>[d(" Nach einem Update wird die Ladestation direkt neu gestartet! Es werden alle eventuell vorhandenen lokalen Änderungen am Programmcode mit dem Update verworfen! ")]),_:1})]),_:1})]),a("form",K,[s(i,{title:"Betrieb",collapsible:!0,collapsed:!0},{footer:o(()=>[a("div",Q,[a("div",X,[s(_,{class:"btn-warning",onButtonClicked:e[7]||(e[7]=n=>r.sendSystemCommand("systemReboot"))},{default:o(()=>[d(" Neustart "),s(b,{"fixed-width":"",icon:["fas","undo"]})]),_:1})]),a("div",Y,[s(_,{class:"btn-danger",onButtonClicked:e[8]||(e[8]=n=>r.sendSystemCommand("systemShutdown"))},{default:o(()=>[d(" Ausschalten "),s(b,{"fixed-width":"",icon:["fas","power-off"]})]),_:1})])])]),default:o(()=>[s(u,{subtype:"danger"},{default:o(()=>[d(" Wenn die Ladestation ausgeschaltet wird, muss sie komplett spannungsfrei geschaltet werden. Erst beim erneuten Zuschalten der Spannung fährt das System wieder hoch. ")]),_:1})]),_:1})]),a("form",ee,[s(i,{title:"Entwicklungszweig",subtype:"danger",collapsible:!0,collapsed:!0},{footer:o(()=>[a("div",oe,[a("div",re,[s(_,{class:v(r.releaseChangeValid?"btn-danger clickable":"btn-outline-danger"),disabled:!r.releaseChangeValid,onButtonClicked:e[11]||(e[11]=n=>r.switchBranch())},{default:o(()=>[s(b,{"fixed-width":"",icon:["fas","skull-crossbones"]}),d(" Branch und Tag wechseln "),s(b,{"fixed-width":"",icon:["fas","skull-crossbones"]})]),_:1},8,["class","disabled"])])])]),default:o(()=>[s(u,{subtype:"danger"},{default:o(()=>[d(" Nach einem Wechsel wird die Ladestation direkt neu gestartet! Es werden alle lokalen Änderungen mit dem Wechsel verworfen! ")]),_:1}),s(u,{subtype:"warning"},{default:o(()=>[d(" Bevor auf einen neuen Entwicklungszweig gewechselt wird sollte immer eine Sicherung erstellt werden! Es kann zwar wieder auf eine ältere Version gewechselt werden, jedoch ist nicht sichergestellt, dass es dabei keine Probleme gibt. Gerade wenn das Datenformat in der neuen Version angepasst wurde, wird eine ältere damit Fehler produzieren."),te,d(' Für den normalen Betrieb wird der Zweig "Release" empfohlen. Der Softwarestand wurde ausgiebig getestet, sodass ein Fehlverhalten relativ unwahrscheinlich ist.'),se,d(' Der "Beta" Zweig beinhaltet Vorabversionen, bei denen die Entwicklung soweit abgeschlossen ist. Die enthaltenen Anpassungen wurden rudimentär getestet, können aber durchaus noch Fehler enthalten.'),ne,d(' Die aktuelle Softwareentwicklung findet im Zweig "master" statt. Die enthaltenen Anpassungen sind teilweise noch nicht getestet und enthalten potentiell Fehler.'),ae,d(' Einträge, die mit "feature" beginnen, sind experimentelle Entwicklungszweige, die nicht für den allgemeinen Gebrauch gedacht sind. ')]),_:1}),s(B,{title:"Entwicklungszweig",groups:r.getBranchGroups(),"model-value":t.$store.state.mqtt["openWB/system/current_branch"],"onUpdate:modelValue":e[9]||(e[9]=n=>t.updateState("openWB/system/current_branch",n))},null,8,["groups","model-value"]),s(B,{title:"Tag",options:r.getBranchTagOptions(),modelValue:p.selectedTag,"onUpdate:modelValue":e[10]||(e[10]=n=>p.selectedTag=n)},null,8,["options","modelValue"])]),_:1})])])):k("",!0)])}const be=z(L,[["render",le],["__scopeId","data-v-059847f6"],["__file","/opt/openWB-dev/openwb-ui-settings/src/views/System.vue"]]);export{be as default}; diff --git a/web/settings/assets/TestingStore-c15c7450.js b/web/settings/assets/TestingStore-956b6b84.js similarity index 95% rename from web/settings/assets/TestingStore-c15c7450.js rename to web/settings/assets/TestingStore-956b6b84.js index 5ce48b3f66..c2a67cff7b 100644 --- a/web/settings/assets/TestingStore-c15c7450.js +++ b/web/settings/assets/TestingStore-956b6b84.js @@ -1 +1 @@ -import{C as V}from"./index-131a952e.js";import{S as U}from"./OpenwbSortableList-e04fc271.js";import{_ as y,q as s,k as E,l as k,u,B as o,M as a,x as n,y as v}from"./vendor-f0f38b48.js";import"./vendor-fortawesome-9fdc06a9.js";import"./vendor-bootstrap-384bc385.js";import"./vendor-jquery-8576ed22.js";import"./vendor-axios-e59ef189.js";import"./vendor-sortablejs-cbf37f8f.js";const T={name:"OpenwbTestingStore",mixins:[V],components:{SortableList:U},data(){return{mqttTopicsToSubscribe:[]}}},_={class:"testingStore"},N={name:"testingStoreForm"},z=u("hr",null,null,-1),O=u("br",null,null,-1),Z=u("br",null,null,-1),j=u("hr",null,null,-1),B=u("hr",null,null,-1),D=u("hr",null,null,-1),J=u("hr",null,null,-1),L=u("span",{style:{"text-decoration":"underline","font-style":"italic"}},[n(" Styled "),u("span",{style:{"font-weight":"initial"}},"Header"),n(" Slot ")],-1);function W(e,t,G,R,H,A){const p=s("openwb-base-text-input"),m=s("openwb-base-number-input"),g=s("openwb-base-textarea"),i=s("openwb-base-card"),r=s("openwb-base-range-input"),b=s("openwb-base-select-input"),f=s("openwb-base-button-group-input"),S=s("openwb-base-checkbox-input"),h=s("openwb-base-array-input"),x=s("openwb-base-heading"),d=s("openwb-base-alert"),w=s("sortable-list"),$=s("openwb-base-submit-buttons");return E(),k("div",_,[u("form",N,[o(i,{title:"Einfache Eingabefelder"},{default:a(()=>[o(p,{title:"1. Text","model-value":e.$store.state.examples.text1,"onUpdate:modelValue":t[0]||(t[0]=l=>e.updateState("text1",l))},{help:a(()=>[n("Einfacher Text")]),_:1},8,["model-value"]),o(p,{title:"2. Text (E-Mail)",subtype:"email","model-value":e.$store.state.examples.text2,"onUpdate:modelValue":t[1]||(t[1]=l=>e.updateState("text2",l))},{help:a(()=>[n("Eingabefeld für E-Mailadressen")]),_:1},8,["model-value"]),o(p,{title:"3. Text (Host)",subtype:"host","model-value":e.$store.state.examples.text3,"onUpdate:modelValue":t[2]||(t[2]=l=>e.updateState("text3",l))},{help:a(()=>[n(" Eingabefeld für Hosts (IP oder Namen) ")]),_:1},8,["model-value"]),o(p,{title:"4. Text (URL)",subtype:"url","model-value":e.$store.state.examples.text4,"onUpdate:modelValue":t[3]||(t[3]=l=>e.updateState("text4",l))},{help:a(()=>[n("Eingabefeld für URLs")]),_:1},8,["model-value"]),o(p,{title:"5. Text (User)",subtype:"user","model-value":e.$store.state.examples.text5,"onUpdate:modelValue":t[4]||(t[4]=l=>e.updateState("text5",l))},{help:a(()=>[n("Eingabefeld für Benutzernamen")]),_:1},8,["model-value"]),o(p,{title:"6. Text (Time)",subtype:"time","model-value":e.$store.state.examples.text6,"onUpdate:modelValue":t[5]||(t[5]=l=>e.updateState("text6",l))},{help:a(()=>[n("Eingabefeld für Zeiten")]),_:1},8,["model-value"]),o(p,{title:"7. Text (Date)",subtype:"date","model-value":e.$store.state.examples.text7,"onUpdate:modelValue":t[6]||(t[6]=l=>e.updateState("text7",l))},{help:a(()=>[n("Eingabefeld für ein Datum")]),_:1},8,["model-value"]),z,o(m,{title:"1. Zahl",min:5,max:9,step:2,unit:"kW","model-value":e.$store.state.examples.number1,"onUpdate:modelValue":t[7]||(t[7]=l=>e.updateState("number1",l))},{help:a(()=>[n("Zahl mit Einheit")]),_:1},8,["model-value"]),o(m,{title:"2. Zahl",min:10,max:32,step:2,"model-value":e.$store.state.examples.number2,"onUpdate:modelValue":t[8]||(t[8]=l=>e.updateState("number2",l))},{help:a(()=>[n("Eingabefeld für Zahlen ohne Einheit")]),_:1},8,["model-value"]),o(m,{title:"3. Zahl",min:-30,max:30,step:.01,precision:2,unit:"ct/kWh","model-value":e.$store.state.examples.number3*1e5,"onUpdate:modelValue":t[9]||(t[9]=l=>e.updateState("number3",parseFloat((l/1e5).toFixed(7))))},{help:a(()=>[n(" Eingabefeld für Zahlen mit Einheit und Nachkommastellen"),O,n(' Zusätzlich zum optionalen Parameter "step" sollte immer auch "precision" gesetzt sein, um unvermeidbare Darstellungsfehler zu vermeiden.'),Z,n(" Wenn der dargestellte Wert eine andere Genauigkeit/Einheit als der Wert im Backend hat (z.B. €/Wh <-> ct/kWh), dann ist bei der Umrechnung darauf zu achten, dass es nicht erneut zu Ungenauigkeiten bei Dezimalzahlen kommt. ")]),_:1},8,["model-value"]),o(p,{title:"1. Passwort",subtype:"password","model-value":e.$store.state.examples.password1,"onUpdate:modelValue":t[10]||(t[10]=l=>e.updateState("password1",l))},{help:a(()=>[n(" Das Passwort kann per Klick auf das Auge angezeigt werden. ")]),_:1},8,["model-value"]),j,o(g,{title:"1. Textarea",maxlength:"50","model-value":e.$store.state.examples.textarea1,"onUpdate:modelValue":t[11]||(t[11]=l=>e.updateState("textarea1",l))},{help:a(()=>[n(" Textarea mit maximaler Länge von 50 Zeichen. ")]),_:1},8,["model-value"])]),_:1}),o(i,{title:"Spezielle Elemente"},{default:a(()=>[o(r,{title:"1. Range",min:6,max:32,step:1,unit:"A","model-value":e.$store.state.examples.range1,"onUpdate:modelValue":t[12]||(t[12]=l=>e.updateState("range1",l))},{help:a(()=>[n("Range ohne spezielle Labels")]),_:1},8,["model-value"]),o(r,{title:"2. Range",min:0,max:11,step:1,unit:"A",labels:[{label:"Aus",value:0},{label:6,value:6},{label:7,value:7},{label:8,value:8},{label:9,value:9},{label:10,value:10},{label:11,value:11},{label:12,value:12},{label:13,value:13},{label:14,value:14},{label:15,value:15},{label:16,value:16}],"model-value":e.$store.state.examples.range2,"onUpdate:modelValue":t[13]||(t[13]=l=>e.updateState("range2",l))},{help:a(()=>[n("Range mit speziellen Labels")]),_:1},8,["model-value"]),B,o(b,{title:"1. Select",notSelected:"Bitte auswählen",options:[{value:1,text:"Eins"},{value:2,text:"Zwei"}],"model-value":e.$store.state.examples.select1,"onUpdate:modelValue":t[14]||(t[14]=l=>e.updateState("select1",l))},{help:a(()=>[n("Select mit einfachen Optionen")]),_:1},8,["model-value"]),o(b,{title:"2. Select",groups:[{label:"Gruppe 1 (Number)",options:[{value:1,text:"Eins"},{value:2,text:"Zwei"}]},{label:"Gruppe 2 (String)",options:[{value:"three",text:"Drei"},{value:"four",text:"Vier"}]}],"model-value":e.$store.state.examples.select2,"onUpdate:modelValue":t[15]||(t[15]=l=>e.updateState("select2",l))},{help:a(()=>[n("Select mit Gruppen")]),_:1},8,["groups","model-value"]),D,o(f,{title:"1. Button-Group",buttons:[{buttonValue:1,text:"Eins"},{buttonValue:2,text:"Zwei"}],"model-value":e.$store.state.examples.buttonGroup1,"onUpdate:modelValue":t[16]||(t[16]=l=>e.updateState("buttonGroup1",l))},{help:a(()=>[n("Hilfetext")]),_:1},8,["model-value"]),J,o(S,{title:"1. Checkbox","model-value":e.$store.state.examples.checkbox1,"onUpdate:modelValue":t[17]||(t[17]=l=>e.updateState("checkbox1",l))},{help:a(()=>[n("Hilfetext")]),_:1},8,["model-value"])]),_:1}),o(i,{title:"JSON Gruppe"},{default:a(()=>[o(p,{title:"JSON 1",subtype:"json","model-value":e.$store.state.examples.json1,"onUpdate:modelValue":t[18]||(t[18]=l=>e.updateState("json1",l))},{help:a(()=>[n("JSON Objekt")]),_:1},8,["model-value"]),o(p,{title:"JSON 1 Text","model-value":e.$store.state.examples.json1.text,"onUpdate:modelValue":t[19]||(t[19]=l=>e.updateState("json1",l,"text"))},{help:a(()=>[n("Text im JSON Objekt")]),_:1},8,["model-value"]),o(m,{title:"JSON 1 Zahl","model-value":e.$store.state.examples.json1.number,"onUpdate:modelValue":t[20]||(t[20]=l=>e.updateState("json1",l,"number"))},{help:a(()=>[n("Zahl im JSON Objekt")]),_:1},8,["model-value"]),o(h,{title:"Tag Array","model-value":e.$store.state.examples.tags,"onUpdate:modelValue":t[21]||(t[21]=l=>e.updateState("tags",l))},{help:a(()=>[u("pre",null,v(JSON.stringify(e.$store.state.examples.tags,void 0,2)),1)]),_:1},8,["model-value"])]),_:1}),o(i,{title:"Meldungen"},{header:a(()=>[L]),default:a(()=>[o(x,null,{help:a(()=>[n(" Es sind auch Hilfetexte im #help Slot möglich. ")]),default:a(()=>[n(" Das ist eine Überschrift ")]),_:1}),o(d,null,{default:a(()=>[n(" Meldung ohne speziellen Subtype. ")]),_:1}),o(d,{subtype:"info"},{default:a(()=>[n("Infomeldung")]),_:1}),o(d,{subtype:"warning"},{default:a(()=>[n("Warnmeldung")]),_:1}),o(d,{subtype:"danger"},{default:a(()=>[n(" Fehlermeldung ")]),_:1})]),_:1}),o(i,{title:"Listen"},{default:a(()=>[o(w,{title:"Liste 1",modelValue:e.$store.state.examples.hierarchy1,"onUpdate:modelValue":t[22]||(t[22]=l=>e.$store.state.examples.hierarchy1=l),labels:e.$store.state.examples.hierarchy1Labels},{help:a(()=>[u("pre",null,v(JSON.stringify(e.$store.state.examples.hierarchy1,void 0,2)),1)]),_:1},8,["modelValue","labels"])]),_:1}),o($,{formName:"testingStoreForm",onSave:t[23]||(t[23]=l=>e.$emit("save")),onReset:t[24]||(t[24]=l=>e.$emit("reset")),onDefaults:t[25]||(t[25]=l=>e.$emit("defaults"))})])])}const X=y(T,[["render",W],["__file","/opt/openWB-dev/openwb-ui-settings/src/views/TestingStore.vue"]]);export{X as default}; +import{C as V}from"./index-eaa58995.js";import{S as U}from"./OpenwbSortableList-8141a899.js";import{_ as y,q as s,k as E,l as k,u,B as o,M as a,x as n,y as v}from"./vendor-493c2bec.js";import"./vendor-fortawesome-542fe04f.js";import"./vendor-bootstrap-a615942d.js";import"./vendor-jquery-a64a4809.js";import"./vendor-axios-b1ba123b.js";import"./vendor-sortablejs-0b339223.js";const T={name:"OpenwbTestingStore",mixins:[V],components:{SortableList:U},data(){return{mqttTopicsToSubscribe:[]}}},_={class:"testingStore"},N={name:"testingStoreForm"},z=u("hr",null,null,-1),O=u("br",null,null,-1),Z=u("br",null,null,-1),j=u("hr",null,null,-1),B=u("hr",null,null,-1),D=u("hr",null,null,-1),J=u("hr",null,null,-1),L=u("span",{style:{"text-decoration":"underline","font-style":"italic"}},[n(" Styled "),u("span",{style:{"font-weight":"initial"}},"Header"),n(" Slot ")],-1);function W(e,t,G,R,H,A){const p=s("openwb-base-text-input"),m=s("openwb-base-number-input"),g=s("openwb-base-textarea"),i=s("openwb-base-card"),r=s("openwb-base-range-input"),b=s("openwb-base-select-input"),f=s("openwb-base-button-group-input"),S=s("openwb-base-checkbox-input"),h=s("openwb-base-array-input"),x=s("openwb-base-heading"),d=s("openwb-base-alert"),w=s("sortable-list"),$=s("openwb-base-submit-buttons");return E(),k("div",_,[u("form",N,[o(i,{title:"Einfache Eingabefelder"},{default:a(()=>[o(p,{title:"1. Text","model-value":e.$store.state.examples.text1,"onUpdate:modelValue":t[0]||(t[0]=l=>e.updateState("text1",l))},{help:a(()=>[n("Einfacher Text")]),_:1},8,["model-value"]),o(p,{title:"2. Text (E-Mail)",subtype:"email","model-value":e.$store.state.examples.text2,"onUpdate:modelValue":t[1]||(t[1]=l=>e.updateState("text2",l))},{help:a(()=>[n("Eingabefeld für E-Mailadressen")]),_:1},8,["model-value"]),o(p,{title:"3. Text (Host)",subtype:"host","model-value":e.$store.state.examples.text3,"onUpdate:modelValue":t[2]||(t[2]=l=>e.updateState("text3",l))},{help:a(()=>[n(" Eingabefeld für Hosts (IP oder Namen) ")]),_:1},8,["model-value"]),o(p,{title:"4. Text (URL)",subtype:"url","model-value":e.$store.state.examples.text4,"onUpdate:modelValue":t[3]||(t[3]=l=>e.updateState("text4",l))},{help:a(()=>[n("Eingabefeld für URLs")]),_:1},8,["model-value"]),o(p,{title:"5. Text (User)",subtype:"user","model-value":e.$store.state.examples.text5,"onUpdate:modelValue":t[4]||(t[4]=l=>e.updateState("text5",l))},{help:a(()=>[n("Eingabefeld für Benutzernamen")]),_:1},8,["model-value"]),o(p,{title:"6. Text (Time)",subtype:"time","model-value":e.$store.state.examples.text6,"onUpdate:modelValue":t[5]||(t[5]=l=>e.updateState("text6",l))},{help:a(()=>[n("Eingabefeld für Zeiten")]),_:1},8,["model-value"]),o(p,{title:"7. Text (Date)",subtype:"date","model-value":e.$store.state.examples.text7,"onUpdate:modelValue":t[6]||(t[6]=l=>e.updateState("text7",l))},{help:a(()=>[n("Eingabefeld für ein Datum")]),_:1},8,["model-value"]),z,o(m,{title:"1. Zahl",min:5,max:9,step:2,unit:"kW","model-value":e.$store.state.examples.number1,"onUpdate:modelValue":t[7]||(t[7]=l=>e.updateState("number1",l))},{help:a(()=>[n("Zahl mit Einheit")]),_:1},8,["model-value"]),o(m,{title:"2. Zahl",min:10,max:32,step:2,"model-value":e.$store.state.examples.number2,"onUpdate:modelValue":t[8]||(t[8]=l=>e.updateState("number2",l))},{help:a(()=>[n("Eingabefeld für Zahlen ohne Einheit")]),_:1},8,["model-value"]),o(m,{title:"3. Zahl",min:-30,max:30,step:.01,precision:2,unit:"ct/kWh","model-value":e.$store.state.examples.number3*1e5,"onUpdate:modelValue":t[9]||(t[9]=l=>e.updateState("number3",parseFloat((l/1e5).toFixed(7))))},{help:a(()=>[n(" Eingabefeld für Zahlen mit Einheit und Nachkommastellen"),O,n(' Zusätzlich zum optionalen Parameter "step" sollte immer auch "precision" gesetzt sein, um unvermeidbare Darstellungsfehler zu vermeiden.'),Z,n(" Wenn der dargestellte Wert eine andere Genauigkeit/Einheit als der Wert im Backend hat (z.B. €/Wh <-> ct/kWh), dann ist bei der Umrechnung darauf zu achten, dass es nicht erneut zu Ungenauigkeiten bei Dezimalzahlen kommt. ")]),_:1},8,["model-value"]),o(p,{title:"1. Passwort",subtype:"password","model-value":e.$store.state.examples.password1,"onUpdate:modelValue":t[10]||(t[10]=l=>e.updateState("password1",l))},{help:a(()=>[n(" Das Passwort kann per Klick auf das Auge angezeigt werden. ")]),_:1},8,["model-value"]),j,o(g,{title:"1. Textarea",maxlength:"50","model-value":e.$store.state.examples.textarea1,"onUpdate:modelValue":t[11]||(t[11]=l=>e.updateState("textarea1",l))},{help:a(()=>[n(" Textarea mit maximaler Länge von 50 Zeichen. ")]),_:1},8,["model-value"])]),_:1}),o(i,{title:"Spezielle Elemente"},{default:a(()=>[o(r,{title:"1. Range",min:6,max:32,step:1,unit:"A","model-value":e.$store.state.examples.range1,"onUpdate:modelValue":t[12]||(t[12]=l=>e.updateState("range1",l))},{help:a(()=>[n("Range ohne spezielle Labels")]),_:1},8,["model-value"]),o(r,{title:"2. Range",min:0,max:11,step:1,unit:"A",labels:[{label:"Aus",value:0},{label:6,value:6},{label:7,value:7},{label:8,value:8},{label:9,value:9},{label:10,value:10},{label:11,value:11},{label:12,value:12},{label:13,value:13},{label:14,value:14},{label:15,value:15},{label:16,value:16}],"model-value":e.$store.state.examples.range2,"onUpdate:modelValue":t[13]||(t[13]=l=>e.updateState("range2",l))},{help:a(()=>[n("Range mit speziellen Labels")]),_:1},8,["model-value"]),B,o(b,{title:"1. Select",notSelected:"Bitte auswählen",options:[{value:1,text:"Eins"},{value:2,text:"Zwei"}],"model-value":e.$store.state.examples.select1,"onUpdate:modelValue":t[14]||(t[14]=l=>e.updateState("select1",l))},{help:a(()=>[n("Select mit einfachen Optionen")]),_:1},8,["model-value"]),o(b,{title:"2. Select",groups:[{label:"Gruppe 1 (Number)",options:[{value:1,text:"Eins"},{value:2,text:"Zwei"}]},{label:"Gruppe 2 (String)",options:[{value:"three",text:"Drei"},{value:"four",text:"Vier"}]}],"model-value":e.$store.state.examples.select2,"onUpdate:modelValue":t[15]||(t[15]=l=>e.updateState("select2",l))},{help:a(()=>[n("Select mit Gruppen")]),_:1},8,["groups","model-value"]),D,o(f,{title:"1. Button-Group",buttons:[{buttonValue:1,text:"Eins"},{buttonValue:2,text:"Zwei"}],"model-value":e.$store.state.examples.buttonGroup1,"onUpdate:modelValue":t[16]||(t[16]=l=>e.updateState("buttonGroup1",l))},{help:a(()=>[n("Hilfetext")]),_:1},8,["model-value"]),J,o(S,{title:"1. Checkbox","model-value":e.$store.state.examples.checkbox1,"onUpdate:modelValue":t[17]||(t[17]=l=>e.updateState("checkbox1",l))},{help:a(()=>[n("Hilfetext")]),_:1},8,["model-value"])]),_:1}),o(i,{title:"JSON Gruppe"},{default:a(()=>[o(p,{title:"JSON 1",subtype:"json","model-value":e.$store.state.examples.json1,"onUpdate:modelValue":t[18]||(t[18]=l=>e.updateState("json1",l))},{help:a(()=>[n("JSON Objekt")]),_:1},8,["model-value"]),o(p,{title:"JSON 1 Text","model-value":e.$store.state.examples.json1.text,"onUpdate:modelValue":t[19]||(t[19]=l=>e.updateState("json1",l,"text"))},{help:a(()=>[n("Text im JSON Objekt")]),_:1},8,["model-value"]),o(m,{title:"JSON 1 Zahl","model-value":e.$store.state.examples.json1.number,"onUpdate:modelValue":t[20]||(t[20]=l=>e.updateState("json1",l,"number"))},{help:a(()=>[n("Zahl im JSON Objekt")]),_:1},8,["model-value"]),o(h,{title:"Tag Array","model-value":e.$store.state.examples.tags,"onUpdate:modelValue":t[21]||(t[21]=l=>e.updateState("tags",l))},{help:a(()=>[u("pre",null,v(JSON.stringify(e.$store.state.examples.tags,void 0,2)),1)]),_:1},8,["model-value"])]),_:1}),o(i,{title:"Meldungen"},{header:a(()=>[L]),default:a(()=>[o(x,null,{help:a(()=>[n(" Es sind auch Hilfetexte im #help Slot möglich. ")]),default:a(()=>[n(" Das ist eine Überschrift ")]),_:1}),o(d,null,{default:a(()=>[n(" Meldung ohne speziellen Subtype. ")]),_:1}),o(d,{subtype:"info"},{default:a(()=>[n("Infomeldung")]),_:1}),o(d,{subtype:"warning"},{default:a(()=>[n("Warnmeldung")]),_:1}),o(d,{subtype:"danger"},{default:a(()=>[n(" Fehlermeldung ")]),_:1})]),_:1}),o(i,{title:"Listen"},{default:a(()=>[o(w,{title:"Liste 1",modelValue:e.$store.state.examples.hierarchy1,"onUpdate:modelValue":t[22]||(t[22]=l=>e.$store.state.examples.hierarchy1=l),labels:e.$store.state.examples.hierarchy1Labels},{help:a(()=>[u("pre",null,v(JSON.stringify(e.$store.state.examples.hierarchy1,void 0,2)),1)]),_:1},8,["modelValue","labels"])]),_:1}),o($,{formName:"testingStoreForm",onSave:t[23]||(t[23]=l=>e.$emit("save")),onReset:t[24]||(t[24]=l=>e.$emit("reset")),onDefaults:t[25]||(t[25]=l=>e.$emit("defaults"))})])])}const X=y(T,[["render",W],["__file","/opt/openWB-dev/openwb-ui-settings/src/views/TestingStore.vue"]]);export{X as default}; diff --git a/web/settings/assets/TimeChargeConfig-4694fe43.js b/web/settings/assets/TimeChargeConfig-398bec22.js similarity index 84% rename from web/settings/assets/TimeChargeConfig-4694fe43.js rename to web/settings/assets/TimeChargeConfig-398bec22.js index fe22fab0f7..f85cc02b40 100644 --- a/web/settings/assets/TimeChargeConfig-4694fe43.js +++ b/web/settings/assets/TimeChargeConfig-398bec22.js @@ -1 +1 @@ -import{C as l}from"./index-131a952e.js";import{_,q as o,k as a,l as i,u as b,B as s,M as r,x as m}from"./vendor-f0f38b48.js";import"./vendor-fortawesome-9fdc06a9.js";import"./vendor-bootstrap-384bc385.js";import"./vendor-jquery-8576ed22.js";import"./vendor-axios-e59ef189.js";import"./vendor-sortablejs-cbf37f8f.js";const h={name:"OpenwbTimeChargeConfig",mixins:[l],data(){return{mqttTopicsToSubscribe:["openWB/general/extern","openWB/general/chargemode_config/time_charging/phases_to_use"]}}},c={class:"timeChargeConfig"},f={name:"timeChargeConfigForm"},v={key:0},C={key:1};function w(t,e,$,B,k,V){const u=o("openwb-base-alert"),p=o("openwb-base-button-group-input"),g=o("openwb-base-card"),d=o("openwb-base-submit-buttons");return a(),i("div",c,[b("form",f,[s(g,{title:"Phasenumschaltung"},{default:r(()=>[t.$store.state.mqtt["openWB/general/extern"]===!0?(a(),i("div",v,[s(u,{subtype:"info"},{default:r(()=>[m(' Diese Einstellungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. ')]),_:1})])):(a(),i("div",C,[s(p,{title:"Anzahl Phasen",buttons:[{buttonValue:1,text:"1"},{buttonValue:3,text:"Maximum"}],"model-value":t.$store.state.mqtt["openWB/general/chargemode_config/time_charging/phases_to_use"],"onUpdate:modelValue":e[0]||(e[0]=n=>t.updateState("openWB/general/chargemode_config/time_charging/phases_to_use",n))},{help:r(()=>[m(' Hier kann eingestellt werden, ob Ladevorgänge im Modus "Zeitladen" mit nur einer Phase oder dem möglichen Maximum in Abhängigkeit der "Ladepunkt"- und "Fahrzeug"-Einstellungen durchgeführt werden. Voraussetzung ist die verbaute Umschaltmöglichkeit zwischen 1- und 3-phasig (s.g. 1p3p). ')]),_:1},8,["model-value"])]))]),_:1}),s(d,{formName:"timeChargeConfigForm",onSave:e[1]||(e[1]=n=>t.$emit("save")),onReset:e[2]||(e[2]=n=>t.$emit("reset")),onDefaults:e[3]||(e[3]=n=>t.$emit("defaults"))})])])}const M=_(h,[["render",w],["__file","/opt/openWB-dev/openwb-ui-settings/src/views/TimeChargeConfig.vue"]]);export{M as default}; +import{C as l}from"./index-eaa58995.js";import{_,q as o,k as a,l as i,u as b,B as s,M as r,x as m}from"./vendor-493c2bec.js";import"./vendor-fortawesome-542fe04f.js";import"./vendor-bootstrap-a615942d.js";import"./vendor-jquery-a64a4809.js";import"./vendor-axios-b1ba123b.js";import"./vendor-sortablejs-0b339223.js";const h={name:"OpenwbTimeChargeConfig",mixins:[l],data(){return{mqttTopicsToSubscribe:["openWB/general/extern","openWB/general/chargemode_config/time_charging/phases_to_use"]}}},c={class:"timeChargeConfig"},f={name:"timeChargeConfigForm"},v={key:0},C={key:1};function w(t,e,$,B,k,V){const u=o("openwb-base-alert"),p=o("openwb-base-button-group-input"),g=o("openwb-base-card"),d=o("openwb-base-submit-buttons");return a(),i("div",c,[b("form",f,[s(g,{title:"Phasenumschaltung"},{default:r(()=>[t.$store.state.mqtt["openWB/general/extern"]===!0?(a(),i("div",v,[s(u,{subtype:"info"},{default:r(()=>[m(' Diese Einstellungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. ')]),_:1})])):(a(),i("div",C,[s(p,{title:"Anzahl Phasen",buttons:[{buttonValue:1,text:"1"},{buttonValue:3,text:"Maximum"}],"model-value":t.$store.state.mqtt["openWB/general/chargemode_config/time_charging/phases_to_use"],"onUpdate:modelValue":e[0]||(e[0]=n=>t.updateState("openWB/general/chargemode_config/time_charging/phases_to_use",n))},{help:r(()=>[m(' Hier kann eingestellt werden, ob Ladevorgänge im Modus "Zeitladen" mit nur einer Phase oder dem möglichen Maximum in Abhängigkeit der "Ladepunkt"- und "Fahrzeug"-Einstellungen durchgeführt werden. Voraussetzung ist die verbaute Umschaltmöglichkeit zwischen 1- und 3-phasig (s.g. 1p3p). ')]),_:1},8,["model-value"])]))]),_:1}),s(d,{formName:"timeChargeConfigForm",onSave:e[1]||(e[1]=n=>t.$emit("save")),onReset:e[2]||(e[2]=n=>t.$emit("reset")),onDefaults:e[3]||(e[3]=n=>t.$emit("defaults"))})])])}const M=_(h,[["render",w],["__file","/opt/openWB-dev/openwb-ui-settings/src/views/TimeChargeConfig.vue"]]);export{M as default}; diff --git a/web/settings/assets/VehicleConfig-178f0f07.js b/web/settings/assets/VehicleConfig-178f0f07.js deleted file mode 100644 index 892041e0dd..0000000000 --- a/web/settings/assets/VehicleConfig-178f0f07.js +++ /dev/null @@ -1 +0,0 @@ -import{l as H,d as J,_ as j,A as G,$ as Q,a0 as X,z as Y,P as K,a2 as ee,R as te,a1 as ne,a3 as ae,F as le,I as ie}from"./vendor-fortawesome-9fdc06a9.js";import{_ as C,C as oe}from"./index-131a952e.js";import{_ as de}from"./dynamic-import-helper-be004503.js";import{_ as x,q as k,k as r,l as h,z as f,M as a,x as l,y as V,B as n,u as s,a1 as re,a2 as ue,I as y,A as c,J as E,a3 as M,O as N,p as I,R as se,S as me}from"./vendor-f0f38b48.js";import"./vendor-bootstrap-384bc385.js";import"./vendor-jquery-8576ed22.js";import"./vendor-axios-e59ef189.js";import"./vendor-sortablejs-cbf37f8f.js";const ce={name:"VehicleConfigFallback",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},vehicleId:{default:void 0},vehicleType:String},methods:{updateConfiguration(e,o=void 0){this.$emit("update:configuration",{value:e,object:o})}}},he={class:"vehicle-fallback"},ge={key:1};function pe(e,o,g,q,w,m){const W=k("openwb-base-alert"),b=k("openwb-base-textarea");return r(),h("div",he,[Object.keys(g.configuration).length==0?(r(),f(W,{key:0,subtype:"info"},{default:a(()=>[l(' Der Fahrzeug-Typ "'+V(g.vehicleType)+'" bietet keine Einstellungen. ',1)]),_:1})):(r(),h("div",ge,[n(W,{subtype:"warning"},{default:a(()=>[l(' Es wurde keine Konfigurationsseite für den Fahrzeug-Typ "'+V(g.vehicleType)+'" gefunden. Die Einstellungen können als JSON direkt bearbeitet werden. ',1)]),_:1}),n(b,{title:"Konfiguration",subtype:"json","model-value":g.configuration,"onUpdate:modelValue":o[0]||(o[0]=U=>m.updateConfiguration(U,"configuration"))},{help:a(()=>[l(" Bitte prüfen Sie, ob die Eingaben richtig interpretiert werden. ")]),_:1},8,["model-value"]),n(W,{subtype:"info"},{default:a(()=>[s("pre",null,V(JSON.stringify(g.configuration,void 0,2)),1)]),_:1})]))])}const be=x(ce,[["render",pe],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/vehicles/OpenwbVehicleConfigFallback.vue"]]),fe={name:"OpenwbVehicleProxy",emits:["update:configuration"],props:{vehicleId:{required:!0},vehicle:{type:Object,required:!0}},computed:{myComponent(){return console.debug(`loading vehicle: ${this.vehicle.type}`),re({loader:()=>de(Object.assign({"./bmw/vehicle.vue":()=>C(()=>import("./vehicle-688baecd.js"),["assets/vehicle-688baecd.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./evcc/vehicle.vue":()=>C(()=>import("./vehicle-90519bcb.js"),["assets/vehicle-90519bcb.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./evnotify/vehicle.vue":()=>C(()=>import("./vehicle-2eb1b3a8.js"),["assets/vehicle-2eb1b3a8.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./http/vehicle.vue":()=>C(()=>import("./vehicle-13cc62fa.js"),["assets/vehicle-13cc62fa.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./kia/vehicle.vue":()=>C(()=>import("./vehicle-6923685e.js"),["assets/vehicle-6923685e.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./manual/vehicle.vue":()=>C(()=>import("./vehicle-f197ab7b.js"),["assets/vehicle-f197ab7b.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./mercedeseq/vehicle.vue":()=>C(()=>import("./vehicle-645f20ff.js"),["assets/vehicle-645f20ff.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./mqtt/vehicle.vue":()=>C(()=>import("./vehicle-21c4a1de.js"),["assets/vehicle-21c4a1de.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./psa/vehicle.vue":()=>C(()=>import("./vehicle-fbd997cb.js"),["assets/vehicle-fbd997cb.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./renault/vehicle.vue":()=>C(()=>import("./vehicle-6ad0ac99.js"),["assets/vehicle-6ad0ac99.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./skodaconnect/vehicle.vue":()=>C(()=>import("./vehicle-cec3e4fe.js"),["assets/vehicle-cec3e4fe.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./smarteq/vehicle.vue":()=>C(()=>import("./vehicle-a5aedfc2.js"),["assets/vehicle-a5aedfc2.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./tesla/vehicle.vue":()=>C(()=>import("./vehicle-def77d96.js"),["assets/vehicle-def77d96.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css","assets/vendor-axios-e59ef189.js","assets/index-131a952e.js","assets/vendor-fortawesome-9fdc06a9.js","assets/vendor-bootstrap-384bc385.js","assets/vendor-jquery-8576ed22.js","assets/vendor-bootstrap-c4951098.css","assets/index-b3227821.css"]),"./tronity/vehicle.vue":()=>C(()=>import("./vehicle-fff88f39.js"),["assets/vehicle-fff88f39.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"]),"./vwid/vehicle.vue":()=>C(()=>import("./vehicle-eda3e1da.js"),["assets/vehicle-eda3e1da.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css"])}),`./${this.vehicle.type}/vehicle.vue`),errorComponent:be})}},methods:{updateConfiguration(e){this.$emit("update:configuration",e)}}};function ve(e,o,g,q,w,m){const W=k("openwb-base-heading");return r(),h(y,null,[n(W,null,{default:a(()=>[l(' Einstellungen für SoC-Modul "'+V(g.vehicle.name)+'" ',1)]),_:1}),(r(),f(ue(m.myComponent),{vehicleId:g.vehicleId,vehicle:g.vehicle,configuration:g.vehicle.configuration,vehicleType:g.vehicle.type,"onUpdate:configuration":o[0]||(o[0]=b=>m.updateConfiguration(b))},null,40,["vehicleId","vehicle","configuration","vehicleType"]))],64)}const _e=x(fe,[["render",ve],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/vehicles/OpenwbVehicleProxy.vue"]]);H.add(J,j,G,Q,X,Y,K,ee,te,ne,ae);const we={name:"OpenwbVehicleConfig",mixins:[oe],emits:["sendCommand"],components:{FontAwesomeIcon:le,FontAwesomeLayers:ie,OpenwbVehicleProxy:_e},data(){return{mqttTopicsToSubscribe:["openWB/general/extern","openWB/optional/et/provider","openWB/optional/rfid/active","openWB/vehicle/template/ev_template/+","openWB/vehicle/template/charge_template/+","openWB/vehicle/template/charge_template/+/chargemode/scheduled_charging/plans/+","openWB/vehicle/template/charge_template/+/time_charging/plans/+","openWB/vehicle/+/name","openWB/vehicle/+/charge_template","openWB/vehicle/+/ev_template","openWB/vehicle/+/tag_id","openWB/system/configurable/soc_modules","openWB/vehicle/+/soc_module/general_config","openWB/vehicle/+/soc_module/config"],showVehicleModal:!1,modalVehicleIndex:void 0,showEvTemplateModal:!1,modalEvTemplateIndex:void 0,showChargeTemplateModal:!1,modalChargeTemplateIndex:void 0,showChargeTemplateSchedulePlanModal:!1,modalChargeTemplateSchedulePlanIndex:void 0,showChargeTemplateTimeChargingPlanModal:!1,modalChargeTemplateTimeChargingPlanIndex:void 0}},computed:{vehicleIndexes:{get(){return this.getWildcardIndexList("openWB/vehicle/+/name")}},evTemplates:{get(){return this.getWildcardTopics("openWB/vehicle/template/ev_template/+")}},evTemplateList:{get(){let e=[];return Object.keys(this.evTemplates).forEach(o=>{let g=parseInt(o.match(/([0-9]+)$/g)[0]),q=this.$store.state.mqtt["openWB/vehicle/template/ev_template/"+g].name;e.push({value:g,text:q})}),e}},chargeTemplates:{get(){return this.getWildcardTopics("openWB/vehicle/template/charge_template/+")}},chargeTemplateList:{get(){let e=[];return Object.keys(this.chargeTemplates).forEach(o=>{let g=parseInt(o.match(/([0-9]+)$/g)[0]),q=this.$store.state.mqtt["openWB/vehicle/template/charge_template/"+g].name;e.push({value:g,text:q})}),e}},socModuleList:{get(){return this.$store.state.mqtt["openWB/system/configurable/soc_modules"]}}},methods:{getChargeTemplateScheduledChargingPlans(e){let o=e.match(/([^/]+)$/)[0];return this.getWildcardTopics("openWB/vehicle/template/charge_template/"+o+"/chargemode/scheduled_charging/plans/+")},getChargeTemplateTimeChargingPlans(e){let o=e.match(/([^/]+)$/)[0];return this.getWildcardTopics("openWB/vehicle/template/charge_template/"+o+"/time_charging/plans/+")},addVehicle(e){e.stopPropagation(),console.info("requesting new vehicle..."),this.$emit("sendCommand",{command:"addVehicle",data:{}})},removeVehicleModal(e,o){o.stopPropagation(),this.modalVehicleIndex=e,this.showVehicleModal=!0},removeVehicle(e,o){this.showVehicleModal=!1,o=="confirm"&&(console.info("request removal of vehicle '"+e+"'"),this.$emit("sendCommand",{command:"removeVehicle",data:{id:e}}))},getVehicleName(e){return this.$store.state.mqtt["openWB/vehicle/"+e+"/name"]?this.$store.state.mqtt["openWB/vehicle/"+e+"/name"]:"Fahrzeug "+e},getSocDefaultConfiguration(e){const o=this.socModuleList.find(g=>g.value==e);return Object.prototype.hasOwnProperty.call(o,"defaults")?{...JSON.parse(JSON.stringify(o.defaults))}:(console.warn("no default configuration found for soc type!",e),{})},updateSelectedSocModule(e,o){this.updateState("openWB/vehicle/"+e+"/soc_module/config",o,"type"),this.updateState("openWB/vehicle/"+e+"/soc_module/config",this.getSocDefaultConfiguration(o))},updateConfiguration(e,o){console.debug("updateConfiguration",e,o),this.updateState(e,o.value,o.object)},addEvTemplate(e){e.stopPropagation(),console.info("requesting new ev template..."),this.$emit("sendCommand",{command:"addEvTemplate",data:{}})},removeEvTemplateModal(e,o){o.stopPropagation(),this.modalEvTemplateIndex=parseInt(e.match(/([^/]+)$/)[0]),this.showEvTemplateModal=!0},removeEvTemplate(e,o){this.showEvTemplateModal=!1,o=="confirm"&&(console.info("request removal of ev template '"+e+"'"),this.$emit("sendCommand",{command:"removeEvTemplate",data:{id:e}}))},getEvTemplateName(e){return this.$store.state.mqtt["openWB/vehicle/template/ev_template/"+e]?this.$store.state.mqtt["openWB/vehicle/template/ev_template/"+e].name:"Fahrzeug-Profil "+e},addChargeTemplate(e){e.stopPropagation(),console.info("requesting new charge template..."),this.$emit("sendCommand",{command:"addChargeTemplate",data:{}})},getChargeTemplateIndex(e){return parseInt(e.match(/([^/]+)$/)[0])},removeChargeTemplateModal(e,o){o.stopPropagation(),this.modalChargeTemplateIndex=this.getChargeTemplateIndex(e),this.showChargeTemplateModal=!0},removeChargeTemplate(e,o){this.showChargeTemplateModal=!1,o=="confirm"&&(console.info("request removal of charge template '"+e+"'"),this.$emit("sendCommand",{command:"removeChargeTemplate",data:{id:e}}))},getChargeTemplateName(e){return this.$store.state.mqtt["openWB/vehicle/template/charge_template/"+e]?this.$store.state.mqtt["openWB/vehicle/template/charge_template/"+e].name:"Lade-Profil "+e},getChargeTemplateSchedulePlanName(e,o){return this.$store.state.mqtt["openWB/vehicle/template/charge_template/"+e+"/chargemode/scheduled_charging/plans/"+o]?this.$store.state.mqtt["openWB/vehicle/template/charge_template/"+e+"/chargemode/scheduled_charging/plans/"+o].name:"Zielladen Zeitplan "+e+"/"+o},addChargeTemplateSchedulePlan(e,o){o.stopPropagation(),console.info("requesting new charge template schedule plan...");let g=parseInt(e.match(/([^/]+)$/)[0]);this.$emit("sendCommand",{command:"addChargeTemplateSchedulePlan",data:{template:g}})},removeChargeTemplateSchedulePlanModal(e,o,g){g.stopPropagation(),this.modalChargeTemplateIndex=parseInt(e.match(/([^/]+)$/)[0]),this.modalChargeTemplateSchedulePlanIndex=parseInt(o.match(/([^/]+)$/)[0]),this.showChargeTemplateSchedulePlanModal=!0},removeChargeTemplateSchedulePlan(e,o,g){this.showChargeTemplateSchedulePlanModal=!1,g=="confirm"&&(console.info("request removal of charge template '"+e+"' schedule plan '"+o+"'"),this.$emit("sendCommand",{command:"removeChargeTemplateSchedulePlan",data:{template:e,plan:o}}))},getChargeTemplateTimeChargingPlanName(e,o){return this.$store.state.mqtt["openWB/vehicle/template/charge_template/"+e+"/time_charging/plans/"+o]?this.$store.state.mqtt["openWB/vehicle/template/charge_template/"+e+"/time_charging/plans/"+o].name:"Zeitladen Zeitplan "+e+"/"+o},addChargeTemplateTimeChargingPlan(e,o){o.stopPropagation(),console.info("requesting new charge template time charging plan...");let g=parseInt(e.match(/([^/]+)$/)[0]);this.$emit("sendCommand",{command:"addChargeTemplateTimeChargingPlan",data:{template:g}})},removeChargeTemplateTimeChargingPlanModal(e,o,g){g.stopPropagation(),this.modalChargeTemplateIndex=parseInt(e.match(/([^/]+)$/)[0]),this.modalChargeTemplateTimeChargingPlanIndex=parseInt(o.match(/([^/]+)$/)[0]),this.showChargeTemplateTimeChargingPlanModal=!0},removeChargeTemplateTimeChargingPlan(e,o,g){this.showChargeTemplateTimeChargingPlanModal=!1,g=="confirm"&&(console.info("request removal of charge template '"+e+"' time charging plan '"+o+"'"),this.$emit("sendCommand",{command:"removeChargeTemplateTimeChargingPlan",data:{template:e,plan:o}}))}}},_=e=>(se("data-v-d7193cf0"),e=e(),me(),e),ke={class:"vehicleConfig"},Ve={name:"vehicleConfigForm"},Ce={key:0},Se={key:1},ze=_(()=>s("hr",null,null,-1)),Te={key:0},Ue=_(()=>s("br",null,null,-1)),We=["innerHTML"],Pe=_(()=>s("hr",null,null,-1)),Le=_(()=>s("br",null,null,-1)),ye=_(()=>s("br",null,null,-1)),Be=_(()=>s("br",null,null,-1)),Ae={key:1},Ee=_(()=>s("hr",{class:"border-secondary"},null,-1)),qe={key:0},Me={key:1},Fe=_(()=>s("br",null,null,-1)),De=_(()=>s("br",null,null,-1)),xe=_(()=>s("br",null,null,-1)),Ze=_(()=>s("br",null,null,-1)),Ne={key:0},Ie={key:1},Oe=_(()=>s("br",null,null,-1)),Re=_(()=>s("br",null,null,-1)),$e=_(()=>s("ol",null,[s("li",null," Zielladen (Sofortladen) mit Priorität "),s("li",null,"Zielladen (Sofortladen)"),s("li",null,"Zeitladen mit Priorität"),s("li",null,"Zeitladen"),s("li",null,"Sofortladen mit Priorität"),s("li",null,"Sofortladen"),s("li",null,"PV (Min-Anteil) mit Priorität"),s("li",null,"PV (Min-Anteil)"),s("li",null,"Zielladen (PV) mit Priorität"),s("li",null,"Zielladen (PV)"),s("li",null,"PV (PV-Anteil) mit Priorität"),s("li",null,"PV (PV-Anteil)")],-1)),He={key:0},Je={key:0},je=_(()=>s("hr",null,null,-1)),Ge=_(()=>s("hr",null,null,-1)),Qe=_(()=>s("br",null,null,-1)),Xe=_(()=>s("br",null,null,-1)),Ye=_(()=>s("hr",null,null,-1)),Ke=_(()=>s("br",null,null,-1)),et=_(()=>s("br",null,null,-1)),tt=["onClick"],nt={key:0},at={key:1},lt={key:2},it={key:3},ot={key:4},dt={key:4},rt=_(()=>s("hr",null,null,-1)),ut=["onClick"],st={key:0},mt={key:1},ct={key:2},ht={key:3},gt={key:4},pt={key:4};function bt(e,o,g,q,w,m){const W=k("openwb-base-modal-dialog"),b=k("font-awesome-icon"),U=k("openwb-base-avatar"),A=k("openwb-base-alert"),P=k("openwb-base-text-input"),F=k("openwb-base-select-input"),O=k("openwb-base-array-input"),v=k("openwb-base-button-group-input"),L=k("openwb-base-heading"),z=k("openwb-base-number-input"),R=k("openwb-vehicle-proxy"),B=k("openwb-base-card"),Z=k("font-awesome-layers"),S=k("openwb-base-range-input"),$=k("openwb-base-submit-buttons");return r(),h(y,null,[n(W,{show:w.showVehicleModal,title:"Fahrzeug löschen",subtype:"danger",buttons:[{text:"Löschen",event:"confirm",subtype:"danger"}],onModalResult:o[0]||(o[0]=i=>m.removeVehicle(w.modalVehicleIndex,i))},{default:a(()=>[l(' Wollen Sie das Fahrzeug "'+V(m.getVehicleName(w.modalVehicleIndex))+'" wirklich entfernen? Dieser Vorgang kann nicht rückgängig gemacht werden! ',1)]),_:1},8,["show"]),n(W,{show:w.showEvTemplateModal,title:"Fahrzeug-Profil löschen",subtype:"danger",buttons:[{text:"Löschen",event:"confirm",subtype:"danger"}],onModalResult:o[1]||(o[1]=i=>m.removeEvTemplate(w.modalEvTemplateIndex,i))},{default:a(()=>[l(' Wollen Sie das Fahrzeug-Profil "'+V(m.getEvTemplateName(w.modalEvTemplateIndex))+'" wirklich entfernen? Dieser Vorgang kann nicht rückgängig gemacht werden! ',1)]),_:1},8,["show"]),n(W,{show:w.showChargeTemplateModal,title:"Lade-Profil löschen",subtype:"danger",buttons:[{text:"Löschen",event:"confirm",subtype:"danger"}],onModalResult:o[2]||(o[2]=i=>m.removeChargeTemplate(w.modalChargeTemplateIndex,i))},{default:a(()=>[l(' Wollen Sie das Lade-Profil "'+V(m.getChargeTemplateName(w.modalChargeTemplateIndex))+'" wirklich entfernen? Dieser Vorgang kann nicht rückgängig gemacht werden! ',1)]),_:1},8,["show"]),n(W,{show:w.showChargeTemplateSchedulePlanModal,title:"Zielladen Zeitplan löschen",subtype:"danger",buttons:[{text:"Löschen",event:"confirm",subtype:"danger"}],onModalResult:o[3]||(o[3]=i=>m.removeChargeTemplateSchedulePlan(w.modalChargeTemplateIndex,w.modalChargeTemplateSchedulePlanIndex,i))},{default:a(()=>[l(' Wollen Sie den Zielladen Zeitplan "'+V(m.getChargeTemplateSchedulePlanName(w.modalChargeTemplateIndex,w.modalChargeTemplateSchedulePlanIndex))+'" wirklich entfernen? Dieser Vorgang kann nicht rückgängig gemacht werden! ',1)]),_:1},8,["show"]),n(W,{show:w.showChargeTemplateTimeChargingPlanModal,title:"Zeitladen Zeitplan löschen",subtype:"danger",buttons:[{text:"Löschen",event:"confirm",subtype:"danger"}],onModalResult:o[4]||(o[4]=i=>m.removeChargeTemplateTimeChargingPlan(w.modalChargeTemplateIndex,w.modalChargeTemplateTimeChargingPlanIndex,i))},{default:a(()=>[l(' Wollen Sie den Zeitladen Zeitplan "'+V(m.getChargeTemplateTimeChargingPlanName(w.modalChargeTemplateIndex,w.modalChargeTemplateTimeChargingPlanIndex))+'" wirklich entfernen? Dieser Vorgang kann nicht rückgängig gemacht werden! ',1)]),_:1},8,["show"]),s("div",ke,[s("form",Ve,[n(B,{subtype:"info",collapsible:!0,collapsed:e.$route.params.section!="vehicle"},{header:a(()=>[n(b,{"fixed-width":"",icon:["fas","car"]}),l(" Fahrzeuge ")]),actions:a(()=>[e.$store.state.mqtt["openWB/general/extern"]===!1?(r(),f(U,{key:0,class:"bg-success clickable",onClick:m.addVehicle},{default:a(()=>[n(b,{"fixed-width":"",icon:["fas","plus"]})]),_:1},8,["onClick"])):c("",!0)]),default:a(()=>[e.$store.state.mqtt["openWB/general/extern"]===!0?(r(),h("div",Ce,[n(A,{subtype:"info"},{default:a(()=>[l(' Diese Einstellungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. ')]),_:1})])):(r(),h("div",Se,[(r(!0),h(y,null,E(m.vehicleIndexes,i=>(r(),f(B,{key:i,title:m.getVehicleName(i),collapsible:!0,collapsed:!(e.$route.params.section=="vehicle"&&parseInt(e.$route.params.section_index)==i),subtype:"info"},M({default:a(()=>[n(P,{title:"Bezeichnung","model-value":e.$store.state.mqtt["openWB/vehicle/"+i+"/name"],"onUpdate:modelValue":d=>e.updateState("openWB/vehicle/"+i+"/name",d),disabled:i===0},M({_:2},[i===0?{name:"help",fn:a(()=>[l(" Das Standard-Fahrzeug kann nicht umbenannt werden. ")]),key:"0"}:void 0]),1032,["model-value","onUpdate:modelValue","disabled"]),n(A,{subtype:"info"},{default:a(()=>[l(" Ein anderes Fahrzeug-Profil wird erst NACH dem Abstecken übernommen, da es sonst durch die Änderung bestimmter Einstellungen im laufenden Ladevorgang zu Widersprüchen kommen kann. ")]),_:1}),n(F,{title:"Fahrzeug-Profil",options:m.evTemplateList,"model-value":e.$store.state.mqtt["openWB/vehicle/"+i+"/ev_template"],"onUpdate:modelValue":d=>e.updateState("openWB/vehicle/"+i+"/ev_template",d)},null,8,["options","model-value","onUpdate:modelValue"]),n(F,{title:"Lade-Profil",options:m.chargeTemplateList,"model-value":e.$store.state.mqtt["openWB/vehicle/"+i+"/charge_template"],"onUpdate:modelValue":d=>e.updateState("openWB/vehicle/"+i+"/charge_template",d)},null,8,["options","model-value","onUpdate:modelValue"]),ze,e.$store.state.mqtt["openWB/optional/rfid/active"]===!0?(r(),h("div",Te,[n(O,{title:"Zugeordnete ID-Tags","model-value":e.$store.state.mqtt["openWB/vehicle/"+i+"/tag_id"],"onUpdate:modelValue":d=>e.updateState("openWB/vehicle/"+i+"/tag_id",d)},null,8,["model-value","onUpdate:modelValue"]),n(A,{subtype:"info"},{default:a(()=>[l(" Die ID-Tags müssen auch in den Ladepunkt-Profil eingetragen werden, um zuzuordnen, an welchen Ladepunkten die ID-Tags verwendet werden dürfen."),Ue,s("span",{innerHTML:e.$store.state.text.rfidWiki},null,8,We)]),_:1}),Pe])):c("",!0),n(F,{class:"mb-2",title:"SoC-Modul",options:m.socModuleList,"model-value":e.$store.state.mqtt["openWB/vehicle/"+i+"/soc_module/config"].type,"onUpdate:modelValue":d=>m.updateSelectedSocModule(i,d)},{help:a(()=>[l(" Mit einem SoC-Modul kann der Ladestand des Fahrzeugs ermittelt und geregelt werden. Z.B. lassen sich unabhängig vom Fahrzeug bestimmte SoC-Werte einstellen, um den Fahrzeugakku zu schonen. Aktuell werden die SoC-Werte mittels der App-Zugangsdaten aus dem Herstellerserver des Fahrzeuges ausgelesen. Zukünftig soll auch eine direkte SoC-Auslesung aus dem Fahrzeug möglich werden (openWB Pro)."),Le,l(" Die SoC-Abfrage erfolgt automatisch beim Anstecken des Fahrzeuges und zusätzlich über einstellbare Abfrageintervalle während des Ladens und Nichtladens. Die Abfrage kann auch manuell durch Klick auf den Reload-Pfeil auf der Hauptseite ausgelöst werden."),ye,l(" Wenn eine Abfrage fehlschlägt, wird noch drei weitere Male im Abstand von 5 Minuten versucht, den SoC abzufragen. Wenn dies nicht erfolgreich ist, wird der SoC auf 0% gesetzt um zu vermeiden, dass ein Auto beim SoC-basierten Laden nicht geladen wird. Die Abfrage erfolgt dann wieder in den oben genannten Intervallen."),Be,l(" Da aktuell die SoC-Abfragen über Onlineserver der Fahrzeughersteller laufen, ist infolge möglicher Umstellungen/Wartungen keine 100%-ig sichere SoC-Abfrage garantiert. Auch kann es zu SoC-Abweichungen infolge von zeitlicher Verzögerungen kommen. Hilfestellung erfolgt primär im openWB-Forum. ")]),_:2},1032,["options","model-value","onUpdate:modelValue"]),e.$store.state.mqtt["openWB/vehicle/"+i+"/soc_module/config"].type?(r(),h("div",Ae,[n(v,{title:"SoC direkt aus Fahrzeug auslesen",buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":e.$store.state.mqtt["openWB/vehicle/"+i+"/soc_module/general_config"].use_soc_from_cp,"onUpdate:modelValue":d=>e.updateState("openWB/vehicle/"+i+"/soc_module/general_config",d,"use_soc_from_cp")},{help:a(()=>[l(" Wenn Ladepunkt und Fahrzeug das direkte Auslesen des SoCs über das Ladekabel unterstützen, wird der SoC nach dem Anstecken aus dem Fahrzeug ausgelesen und während der Ladung berechnet. Das direkte Auslesen des SoC aus dem Fahrzeug ist aktuell nur mit einer openWB Pro möglich. ")]),_:2},1032,["model-value","onUpdate:modelValue"]),n(L,null,{help:a(()=>[l(" Einige Hersteller begrenzen die möglichen Abfragen. Sobald ein gewisses Limit in einem Zeitraum überschritten wird, werden weitere Anfragen blockiert. Die Zeitintervalle sollten daher nicht zu klein gewählt werden. ")]),default:a(()=>[l(" Aktualisierung der Fahrzeugdaten ")]),_:1}),n(z,{title:"Während der Ladung",unit:"Min.","model-value":e.$store.state.mqtt["openWB/vehicle/"+i+"/soc_module/general_config"].request_interval_charging/60,"onUpdate:modelValue":d=>e.updateState("openWB/vehicle/"+i+"/soc_module/general_config",d*60,"request_interval_charging")},{help:a(()=>[l(" Der Ladestand des Fahrzeugs (SoC) wird bei einem laufenden Ladevorgang in dem hier eingestellten Intervall in Minuten abgefragt. ")]),_:2},1032,["model-value","onUpdate:modelValue"]),n(z,{title:"Ohne laufende Ladung",unit:"Min.","model-value":e.$store.state.mqtt["openWB/vehicle/"+i+"/soc_module/general_config"].request_interval_not_charging/60,"onUpdate:modelValue":d=>e.updateState("openWB/vehicle/"+i+"/soc_module/general_config",d*60,"request_interval_not_charging")},{help:a(()=>[l(" Der Ladestand des Fahrzeugs (SoC) wird in dem hier eingestellten Intervall in Minuten abgefragt, falls kein Ladevorgang aktiv ist. ")]),_:2},1032,["model-value","onUpdate:modelValue"]),n(v,{title:"Nur aktualisieren wenn angesteckt",buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":e.$store.state.mqtt["openWB/vehicle/"+i+"/soc_module/general_config"].request_only_plugged,"onUpdate:modelValue":d=>e.updateState("openWB/vehicle/"+i+"/soc_module/general_config",d,"request_only_plugged")},{help:a(()=>[l(' Wird hier "Ja" ausgewählt, dann wird der Ladestand des Fahrzeugs nur abgefragt, wenn das Ladekabel angesteckt ist. ')]),_:2},1032,["model-value","onUpdate:modelValue"]),n(R,{vehicleId:i,vehicle:e.$store.state.mqtt["openWB/vehicle/"+i+"/soc_module/config"],"onUpdate:configuration":d=>m.updateConfiguration("openWB/vehicle/"+i+"/soc_module/config",d)},null,8,["vehicleId","vehicle","onUpdate:configuration"])])):c("",!0)]),_:2},[i!==0?{name:"actions",fn:a(d=>[d.collapsed?c("",!0):(r(),f(U,{key:0,class:"bg-danger clickable",onClick:t=>m.removeVehicleModal(i,t)},{default:a(()=>[n(b,{"fixed-width":"",icon:["fas","trash"]})]),_:2},1032,["onClick"]))]),key:"0"}:void 0]),1032,["title","collapsed"]))),128))]))]),_:1},8,["collapsed"]),Ee,n(L,null,{default:a(()=>[l("Profile")]),_:1}),n(B,{collapsible:!0,collapsed:!0},{header:a(()=>[n(Z,{"fixed-width":"",class:"fa-lg"},{default:a(()=>[n(b,{"fixed-width":"",icon:["far","file"]}),n(b,{"fixed-width":"",icon:["fas","car"],transform:"shrink-8"})]),_:1}),l(" Fahrzeug-Profile ")]),actions:a(()=>[e.$store.state.mqtt["openWB/general/extern"]===!1?(r(),f(U,{key:0,class:"bg-success clickable",onClick:m.addEvTemplate},{default:a(()=>[n(b,{"fixed-width":"",icon:["fas","plus"]})]),_:1},8,["onClick"])):c("",!0)]),default:a(()=>[e.$store.state.mqtt["openWB/general/extern"]===!0?(r(),h("div",qe,[n(A,{subtype:"info"},{default:a(()=>[l(' Diese Einstellungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. ')]),_:1})])):(r(),h("div",Me,[n(A,{subtype:"info"},{default:a(()=>[l(" Ein anderes Fahrzeug-Profil wird erst NACH dem Abstecken übernommen, da es sonst durch die Änderung bestimmter Einstellungen im laufenden Ladevorgang zu Widersprüchen kommen kann. ")]),_:1}),(r(!0),h(y,null,E(m.evTemplates,(i,d)=>(r(),f(B,{key:d,title:i.name?i.name:d,collapsible:!0,collapsed:!0},M({default:a(()=>[n(P,{title:"Bezeichnung","model-value":i.name,"onUpdate:modelValue":t=>e.updateState(d,t,"name"),disabled:d.endsWith("/0")},M({_:2},[d.endsWith("/0")?{name:"help",fn:a(()=>[l(" Das Standard-Profil kann nicht umbenannt werden. ")]),key:"0"}:void 0]),1032,["model-value","onUpdate:modelValue","disabled"]),n(L,null,{default:a(()=>[l(" Angaben zum Ladestrom ")]),_:1}),n(S,{title:"Mindeststrom",min:6,max:16,step:1,unit:"A","model-value":i.min_current,"onUpdate:modelValue":t=>e.updateState(d,t,"min_current")},null,8,["model-value","onUpdate:modelValue"]),n(S,{title:"Maximalstrom bei einer Phase",min:6,max:32,step:1,unit:"A","model-value":i.max_current_single_phase,"onUpdate:modelValue":t=>e.updateState(d,t,"max_current_single_phase")},null,8,["model-value","onUpdate:modelValue"]),n(S,{title:"Maximalstrom mehrere Phasen",min:6,max:32,step:1,unit:"A","model-value":i.max_current_multi_phases,"onUpdate:modelValue":t=>e.updateState(d,t,"max_current_multi_phases")},null,8,["model-value","onUpdate:modelValue"]),n(z,{title:"Erlaubte Stromabweichung",step:.1,unit:"A","model-value":i.nominal_difference,"onUpdate:modelValue":t=>e.updateState(d,t,"nominal_difference")},{help:a(()=>[l(" In manchen Lademodi, z.B. bei der automatischen Phasenumschaltung, wird geprüft, ob das Fahrzeug mit der vorgegebenen Stromstärke lädt. Manche Fahrzeuge laden nicht exakt mit der vorgegebenen Stromstärke. Die erlaubte Abweichung kann hier eingestellt werden. ")]),_:2},1032,["model-value","onUpdate:modelValue"]),n(L,null,{default:a(()=>[l(" Angaben zur Batterie ")]),_:1}),n(z,{title:"Kapazität der Batterie",unit:"kWh",min:1,step:1,"model-value":i.battery_capacity/1e3,"onUpdate:modelValue":t=>e.updateState(d,t*1e3,"battery_capacity")},{help:a(()=>[l(" Angabe der Netto-Kapazität der Fahrzeugbatterie. Dient zur Berechnung des manuellen SoC und der geladenen Reichweite. Die Netto-Kapazität unterscheidet sich meist von den Angaben der Fahrzeughersteller. So besitzt ein Tesla Model S 90 z. B. nur ca. 83kWh und nicht die durch die Typenbezeichnung suggerierten 90kWh. Andere Hersteller begrenzen die nutzbare Kapazität absichtlich, um eine höhere Lebensdauer der Akkus zu erreichen. Gängig sind eine Drosselung auf 90% der angegebenen Brutto-Kapazität. ")]),_:2},1032,["model-value","onUpdate:modelValue"]),n(z,{title:"Wirkungsgrad der Ladeelektronik",unit:"%",required:"","model-value":i.efficiency,"onUpdate:modelValue":t=>e.updateState(d,t,"efficiency")},{help:a(()=>[l(" Durch Verluste in der Ladeelektronik (z. B. Umwandlung Wechselspannung in Gleichspannung) gelangt nicht die komplette Energie, welche durch den Zähler in der Wallbox gemessen wird, in den Akku des Fahrzeugs. Der anzugebende Wert liegt bei gängigen Fahrzeugen im Bereich 90-95%. Eine Ausnahme stellt der Zoe dar, dessen Chameleon-Lader je nach Modellversion und freigegebener Leistung der Wallbox teilweise nur auf ca. 50% kommt."),Fe,l(" Liegen die Angaben der Wallbox und des Fahrzeugs nach der Ladung mehrere Prozent auseinander, dann kann mit dieser Einstellung eine Feinabstimmung erfolgen: "),De,l(" SoC an der Wallbox zu hoch: Wirkungsgrad um ein paar Prozent reduzieren"),xe,l(" SoC an der Wallbox zu gering: Wirkungsgrad um ein paar Prozent erhöhen"),Ze]),_:2},1032,["model-value","onUpdate:modelValue"]),n(z,{title:"Durchschnittsverbrauch",unit:"kWh / 100km",min:0,step:.1,"model-value":i.average_consump/1e3,"onUpdate:modelValue":t=>e.updateState(d,t*1e3,"average_consump")},null,8,["model-value","onUpdate:modelValue"]),n(L,null,{default:a(()=>[l(" Angaben zur Handhabung von Phasen ")]),_:1}),n(v,{title:"Unterstützte Phasen",buttons:[{buttonValue:1,text:"1"},{buttonValue:2,text:"2"},{buttonValue:3,text:"3"}],"model-value":i.max_phases,"onUpdate:modelValue":t=>e.updateState(d,t,"max_phases")},{help:a(()=>[l(" Anzahl der Phasen, die der Fahrzeuglader (s.g. OBC - OnboardCharger) bereitstellt. Plugin-Hybride haben meist nur eine Phase, reine E-Autos meist 2 bis 3 Phasen. ")]),_:2},1032,["model-value","onUpdate:modelValue"]),n(v,{title:"CP-Unterbrechung",buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}],"model-value":i.control_pilot_interruption,"onUpdate:modelValue":t=>e.updateState(d,t,"control_pilot_interruption")},{help:a(()=>[l(' Erläuterung siehe "Konfiguration - Ladepunkte" -> Hardware-Optionen ')]),_:2},1032,["model-value","onUpdate:modelValue"]),i.control_pilot_interruption?(r(),f(z,{key:0,title:"Dauer der CP-Unterbrechung",min:4,step:1,unit:"s","model-value":i.control_pilot_interruption_duration,"onUpdate:modelValue":t=>e.updateState(d,t,"control_pilot_interruption_duration")},null,8,["model-value","onUpdate:modelValue"])):c("",!0),n(v,{title:"Phasenumschaltung blockieren",buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}],"model-value":i.prevent_phase_switch,"onUpdate:modelValue":t=>e.updateState(d,t,"prevent_phase_switch")},{help:a(()=>[l(' Erläuterung zu 1p3p siehe "Ladeeinstellungen" ')]),_:2},1032,["model-value","onUpdate:modelValue"]),n(v,{title:"Ladung aktiv halten",buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}],"model-value":i.prevent_charge_stop,"onUpdate:modelValue":t=>e.updateState(d,t,"prevent_charge_stop")},{help:a(()=>[l(" Der Ladevorgang wird in den Lademodi PV- und Zielladen nach Ladebeginn nicht unterbrochen, selbst wenn nicht mehr genug Überschuss vorhanden ist. Diese Einstellung sollte bei Fahrzeugen aktiviert werden, die nach einer Ladungsunterbrechung keine Ladung mehr starten. ")]),_:2},1032,["model-value","onUpdate:modelValue"]),n(z,{title:"Pause bei Phasenumschaltung",unit:"s",min:2,step:1,"model-value":i.phase_switch_pause,"onUpdate:modelValue":t=>e.updateState(d,t,"phase_switch_pause")},null,8,["model-value","onUpdate:modelValue"]),n(z,{title:"Mindestzeit zwischen Umschaltungen",unit:"s",min:2,step:1,"model-value":i.keep_charge_active_duration,"onUpdate:modelValue":t=>e.updateState(d,t,"keep_charge_active_duration")},{help:a(()=>[l(" Manche Fahrzeuge benötigen nach der Umschaltung einige Zeit, bis sie mit der vorgegebenen Phasenzahl laden. In dieser Zeit wird keine neue Phasenumschaltung angestoßen. ")]),_:2},1032,["model-value","onUpdate:modelValue"])]),_:2},[d.endsWith("/0")?void 0:{name:"actions",fn:a(t=>[e.$store.state.mqtt["openWB/general/extern"]===!1&&!t.collapsed?(r(),f(U,{key:0,class:"bg-danger clickable",onClick:p=>m.removeEvTemplateModal(d,p)},{default:a(()=>[n(b,{"fixed-width":"",icon:["fas","trash"]})]),_:2},1032,["onClick"])):c("",!0)]),key:"0"}]),1032,["title"]))),128))]))]),_:1}),n(B,{collapsible:!0,collapsed:e.$route.params.section!="charge_template"},{header:a(()=>[n(Z,{"fixed-width":"",class:"fa-lg"},{default:a(()=>[n(b,{"fixed-width":"",icon:["far","file"]}),n(b,{"fixed-width":"",icon:["fas","plug"],transform:"shrink-8"})]),_:1}),l(" Lade-Profile ")]),actions:a(()=>[e.$store.state.mqtt["openWB/general/extern"]===!1?(r(),f(U,{key:0,class:"bg-success clickable",onClick:m.addChargeTemplate},{default:a(()=>[n(b,{"fixed-width":"",icon:["fas","plus"]})]),_:1},8,["onClick"])):c("",!0)]),default:a(()=>[e.$store.state.mqtt["openWB/general/extern"]===!0?(r(),h("div",Ne,[n(A,{subtype:"info"},{default:a(()=>[l(' Diese Einstellungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. ')]),_:1})])):(r(),h("div",Ie,[(r(!0),h(y,null,E(m.chargeTemplates,(i,d)=>(r(),f(B,{key:d,title:i.name?i.name:d,collapsible:!0,collapsed:!(e.$route.params.section=="charge_template"&&parseInt(e.$route.params.section_index)==m.getChargeTemplateIndex(d))},M({default:a(()=>[n(P,{title:"Bezeichnung","model-value":i.name,"onUpdate:modelValue":t=>e.updateState(d,t,"name"),disabled:d.endsWith("/0")},M({_:2},[d.endsWith("/0")?{name:"help",fn:a(()=>[l(" Das Standard-Profil kann nicht umbenannt werden. ")]),key:"0"}:void 0]),1032,["model-value","onUpdate:modelValue","disabled"]),n(L,null,{default:a(()=>[l(" Allgemeine Optionen ")]),_:1}),n(v,{title:"Aktiver Lademodus",buttons:[{buttonValue:"instant_charging",text:"Sofortladen",class:"btn-outline-danger"},{buttonValue:"pv_charging",text:"PV",class:"btn-outline-success"},{buttonValue:"scheduled_charging",text:"Zielladen",class:"btn-outline-primary"},{buttonValue:"standby",text:"Standby",class:"btn-outline-secondary"},{buttonValue:"stop",text:"Stop",class:"btn-outline-dark"}],"model-value":i.chargemode.selected,"onUpdate:modelValue":t=>e.updateState(d,t,"chargemode.selected")},{help:a(()=>[l(" Diese Einstellung entspricht dem gewählten Lademodus auf der Hauptseite und ist aktiv, wenn ein zugehöriges Fahrzeug angesteckt ist."),Oe,l(" Die zur Verfügung stehende Leistung wird intern anhand folgender Prioritätenliste auf die Fahrzeuge bzw. Ladepunkte verteilt:"),Re,$e]),_:2},1032,["model-value","onUpdate:modelValue"]),n(v,{title:"Priorität",buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":i.prio,"onUpdate:modelValue":t=>e.updateState(d,t,"prio")},{help:a(()=>[l(" Die Ladefreigabe mit dem jeweils eingestellten Mindeststrom erfolgt für alle Fahrzeuge, soweit die verfügbare Leistung ausreicht. Fahrzeuge mit Priorität werden bevorzugt mit mehr Leistung geladen, falls verfügbar. Erst wenn alle priorisierten Fahrzeuge die maximale Ladeleistung bekommen und noch zusätzlicher Überschuss vorhanden ist, wird auch für Fahrzeuge ohne Priorität mehr Leistung freigegeben. ")]),_:2},1032,["model-value","onUpdate:modelValue"]),n(v,{title:"Zeitladen",buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":i.time_charging.active,"onUpdate:modelValue":t=>e.updateState(d,t,"time_charging.active")},{help:a(()=>[l(' Der Lademodus Zeitladen kann parallel zu einem der anderen Lademodi aktiviert werden. Die Auswahl des Lademodus, der in der Regelung genutzt wird, erfolgt anhand der Übersicht in der Hilfe bei "Aktiver Lademodus". Wenn kein Zeitplan aktiv ist oder das Limit des Zeitplans erreicht wurde, wird der Lademodus verwendet, der bei "Aktiver Lademodus" ausgewählt ist. ')]),_:2},1032,["model-value","onUpdate:modelValue"]),n(v,{title:"Sperre nach Abstecken",buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":i.disable_after_unplug,"onUpdate:modelValue":t=>e.updateState(d,t,"disable_after_unplug")},{help:a(()=>[l(" Wird ein Fahrzeug mit diesem Profil abgesteckt, dann wird der betroffene Ladepunkt automatisch deaktiviert. ")]),_:2},1032,["model-value","onUpdate:modelValue"]),n(v,{title:"Standard nach Abstecken",buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":i.load_default,"onUpdate:modelValue":t=>e.updateState(d,t,"load_default")},{help:a(()=>[l(" Falls diese Option aktiviert ist, wird der betroffene Ladepunkt nach dem Abstecken auf das Standard Ladeprofil zurückgesetzt. ")]),_:2},1032,["model-value","onUpdate:modelValue"]),n(v,{title:"Strompreisbasiert Laden",buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":i.et.active,"onUpdate:modelValue":t=>e.updateState(d,t,"et.active")},null,8,["model-value","onUpdate:modelValue"]),i.et.active==!0?(r(),h("div",He,[!e.$store.state.mqtt["openWB/optional/et/provider"]||!e.$store.state.mqtt["openWB/optional/et/provider"].type?(r(),h("div",Je,[n(A,{subtype:"danger"},{default:a(()=>[l(" Bitte in den übergreifenden Ladeeinstellungen einen Strompreis-Anbieter konfigurieren. ")]),_:1})])):c("",!0),n(z,{title:"Preisgrenze für Zeit- & Sofortladen",min:"-80",max:"80",step:"0.01",precision:2,unit:"ct/kWh","model-value":i.et.max_price*1e5,"onUpdate:modelValue":t=>e.updateState(d,parseFloat((t/1e5).toFixed(7)),"et.max_price")},{help:a(()=>[l(" Für Zielladen werden die günstigsten Stunden ermittelt. ")]),_:2},1032,["model-value","onUpdate:modelValue"])])):c("",!0),je,n(L,null,{default:a(()=>[l("Sofortladen")]),_:1}),n(S,{title:"Soll-Ladestrom",min:6,max:32,step:1,unit:"A","model-value":i.chargemode.instant_charging.current,"onUpdate:modelValue":t=>e.updateState(d,t,"chargemode.instant_charging.current")},null,8,["model-value","onUpdate:modelValue"]),n(v,{title:"Begrenzung",buttons:[{buttonValue:"none",text:"Aus"},{buttonValue:"soc",text:"SoC"},{buttonValue:"amount",text:"Energie"}],"model-value":i.chargemode.instant_charging.limit.selected,"onUpdate:modelValue":t=>e.updateState(d,t,"chargemode.instant_charging.limit.selected")},{help:a(()=>[l(" Sofortladen kann ohne Fahrzeug-SoC-Begrenzung (Aus), mit Begrenzung des Fahrzeug-SoC (SoC) bei konfiguriertem SoC-Auslesemodul oder mittels Vorgabe eine gewünschten Energiemenge in kWh (Energie) genutzt werden. ")]),_:2},1032,["model-value","onUpdate:modelValue"]),n(S,{title:"SoC-Limit",min:5,max:100,step:5,unit:"%","model-value":i.chargemode.instant_charging.limit.soc,"onUpdate:modelValue":t=>e.updateState(d,t,"chargemode.instant_charging.limit.soc")},{help:a(()=>[l(' Um die Fahrzeug-SoC-Begrenzung nutzen zu können, muss ein SoC-Modul für das jeweilige Fahrzeug eingerichtet sein (siehe "Konfiguration" -> "Fahrzeuge" -> "SoC-Modul"). ')]),_:2},1032,["model-value","onUpdate:modelValue"]),n(z,{title:"Energie-Limit",unit:"kWh",min:1,max:100,step:1,"model-value":i.chargemode.instant_charging.limit.amount/1e3,"onUpdate:modelValue":t=>e.updateState(d,t*1e3,"chargemode.instant_charging.limit.amount")},{help:a(()=>[l(" Die geladene Energiemenge wird beim Wechsel des Lademodus oder nach dem Anstecken, wenn Sofortladen schon ausgewählt ist, neu gezählt. ")]),_:2},1032,["model-value","onUpdate:modelValue"]),Ge,n(L,null,{default:a(()=>[l("PV-Laden")]),_:1}),n(S,{title:"Minimaler Dauerstrom",min:0,max:11,step:1,unit:"A",labels:[{label:"Aus",value:0},{label:6,value:6},{label:7,value:7},{label:8,value:8},{label:9,value:9},{label:10,value:10},{label:11,value:11},{label:12,value:12},{label:13,value:13},{label:14,value:14},{label:15,value:15},{label:16,value:16}],"model-value":i.chargemode.pv_charging.min_current,"onUpdate:modelValue":t=>e.updateState(d,t,"chargemode.pv_charging.min_current")},{help:a(()=>[l(' Hier kann eine Stromstärke eingestellt werden, mit dem unabhängig vom vorhandenen Überschuss durchgeladen wird. Hierdurch wird z.B. an Tagen mit häufigem Sonne/Wolken-Wechsel oder mit nur wenig PV-Ertrag ein Laden ohne Unterbrechung ermöglicht. Folglich kann auch Netzbezug für das Fahrzeugladen entstehen, weshalb der niedrigste Stromwert empfohlen wird. Diese Einstellung entspricht weitestgehend dem Lademodus "Min+PV" der Version 1.x. ')]),_:2},1032,["model-value","onUpdate:modelValue"]),n(S,{title:"SoC-Limit",min:0,max:20,step:1,unit:"%",labels:[{label:5,value:5},{label:10,value:10},{label:15,value:15},{label:20,value:20},{label:25,value:25},{label:30,value:30},{label:35,value:35},{label:40,value:40},{label:45,value:45},{label:50,value:50},{label:55,value:55},{label:60,value:60},{label:65,value:65},{label:70,value:70},{label:75,value:75},{label:80,value:80},{label:85,value:85},{label:90,value:90},{label:95,value:95},{label:100,value:100},{label:"Aus",value:101}],"model-value":i.chargemode.pv_charging.max_soc,"onUpdate:modelValue":t=>e.updateState(d,t,"chargemode.pv_charging.max_soc")},{help:a(()=>[l(' Bei der Einstellung "100%" wird die Ladung sofort mit Erreichen der 100% beendet. Dadurch erfolgt KEIN Balancing der Batteriezellen. Ist dies gewünscht (sollte ab und an durchgeführt werden), muss hier "Aus" gewählt werden (Schieberegler ganz nach rechts stellen), um die Ladung MIT Balancing bis zur Beendigung durch das Fahrzeug weiterlaufen zu lassen.'),Qe,l(' Um die Fahrzeug-SoC-Begrenzung nutzen zu können, muss ein SoC-Modul für das jeweilige Fahrzeug eingerichtet sein (siehe "Konfiguration" -> "Fahrzeuge" -> "SoC-Modul"). ')]),_:2},1032,["model-value","onUpdate:modelValue"]),n(S,{title:"Mindest-SoC",min:0,max:19,step:1,unit:"%",labels:[{label:"Aus",value:0},{label:5,value:5},{label:10,value:10},{label:15,value:15},{label:20,value:20},{label:25,value:25},{label:30,value:30},{label:35,value:35},{label:40,value:40},{label:45,value:45},{label:50,value:50},{label:55,value:55},{label:60,value:60},{label:65,value:65},{label:70,value:70},{label:75,value:75},{label:80,value:80},{label:85,value:85},{label:90,value:90},{label:95,value:95}],"model-value":i.chargemode.pv_charging.min_soc,"onUpdate:modelValue":t=>e.updateState(d,t,"chargemode.pv_charging.min_soc")},{help:a(()=>[l(' Liegt der Fahrzeug-Ladestand (SoC) unter dem hier eingestellten Wert, dann wird bis zum Erreichen dieses Wertes mit dem eingestellten "Mindest-SoC-Strom" geladen. Dies dient der Sicherstellung eines "Mindest-SoC" - z.B. für eine immer abzudeckende Fahrzeugreichweite - auch wenn kein oder zu wenig Überschuss verfügbar ist (=> Laden mit anteilig Netzstrom). Nach dem Erreichen des "Mindest-SoC" wird bei verfügbarem Überschuss geladen.'),Xe,l(' Um die Fahrzeug-SoC-Begrenzung nutzen zu können, muss ein SoC-Modul für das jeweilige Fahrzeug eingerichtet sein (siehe "Konfiguration" -> "Fahrzeuge" -> "SoC-Modul"). ')]),_:2},1032,["model-value","onUpdate:modelValue"]),n(S,{title:"Mindest-SoC-Strom",min:6,max:32,step:1,unit:"A","model-value":i.chargemode.pv_charging.min_soc_current,"onUpdate:modelValue":t=>e.updateState(d,t,"chargemode.pv_charging.min_soc_current")},{help:a(()=>[l(' Wird der oben eingestellte "Mindest-SoC" des Fahrzeuges unterschritten, dann wird unabhängig vom Überschuss ein Ladevorgang mit dem hier festgelegten "Mindest-SoC-Strom" initiiert (ggf. mit anteilig Netzbezug). ')]),_:2},1032,["model-value","onUpdate:modelValue"]),n(v,{title:"Einspeisegrenze beachten",buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":i.chargemode.pv_charging.feed_in_limit,"onUpdate:modelValue":t=>e.updateState(d,t,"chargemode.pv_charging.feed_in_limit")},{help:a(()=>[l(' Erläuterung siehe "Ladeeinstellungen" -> "PV-Laden" -> "Regelparameter" -> "Regelpunkt Einspeisegrenze" ')]),_:2},1032,["model-value","onUpdate:modelValue"]),Ye,n(L,null,{actions:a(()=>[n(U,{class:"bg-success clickable",onClick:t=>m.addChargeTemplateSchedulePlan(d,t)},{default:a(()=>[n(b,{"fixed-width":"",icon:["fas","plus"]})]),_:2},1032,["onClick"])]),help:a(()=>[l(' Im Lademodus "Zielladen" wird der Ladestrom so angepasst, dass das Fahrzeug zum angegebenen Zeitpunkt den eingestellten SoC bzw. die einzuladende Energiemenge erreicht. Anhand des vorgegebenen Ladestroms wird der Zeitpunkt berechnet, an dem die Ladung spätestens starten muss.'),Ke,l(' Ist der berechnete Zeitpunkt des Ladestarts noch nicht erreicht, wird mit Überschuss geladen. Auch nach Erreichen des Ziel-SoCs wird mit Überschuss geladen, solange bis das "SoC-Limit" erreicht wird.'),et,l(" Kann der Ziel-SoC bzw. die Energiemenge NICHT erreicht werden, z.B. weil das Auto zu spät angesteckt wurde oder das Lastmanagement eingegriffen hat, wird bis 20 Minuten nach dem angegebenen Termin mit der Maximalstromstärke geladen. Danach wird der Termin verworfen und mit Überschuss geladen. ")]),default:a(()=>[l(" Zielladen ")]),_:2},1024),(r(!0),h(y,null,E(m.getChargeTemplateScheduledChargingPlans(d),(t,p)=>(r(),f(B,{key:p,title:t.name,collapsible:!0,collapsed:!0},{actions:a(u=>[u.collapsed==!0?(r(),h("span",{key:0,onClick:N(T=>e.updateState(p,!t.active,"active"),["stop"]),class:I(["subheader pill clickable",t.active?"bg-success":"bg-danger"])},[t.limit.selected=="soc"?(r(),h("span",nt,[n(b,{"fixed-width":"",icon:["fas","car-battery"]}),l(" "+V(t.limit.soc_scheduled)+"% ",1)])):c("",!0),t.limit.selected=="amount"?(r(),h("span",at,[n(b,{"fixed-width":"",icon:["fas","bolt"]}),l(" "+V(t.limit.amount/1e3)+"kWh ",1)])):c("",!0),n(b,{"fixed-width":"",icon:["fas","clock"]}),l(" "+V(t.time)+" ",1),t.frequency.selected=="once"?(r(),h("span",lt,[n(b,{"fixed-width":"",icon:["fas","calendar-day"]}),l(" "+V(e.formatDate(t.frequency.once)),1)])):c("",!0),t.frequency.selected=="daily"?(r(),h("span",it,[n(b,{"fixed-width":"",icon:["fas","calendar-week"]})])):c("",!0),t.frequency.selected=="weekly"?(r(),h("span",ot,[n(b,{"fixed-width":"",icon:["fas","calendar-alt"]})])):c("",!0)],10,tt)):c("",!0),u.collapsed==!1?(r(),f(U,{key:1,class:"bg-danger clickable",onClick:T=>m.removeChargeTemplateSchedulePlanModal(d,p,T)},{default:a(()=>[n(b,{"fixed-width":"",icon:["fas","trash"]})]),_:2},1032,["onClick"])):c("",!0)]),default:a(()=>[n(P,{title:"Bezeichnung","model-value":t.name,"onUpdate:modelValue":u=>e.updateState(p,u,"name")},null,8,["model-value","onUpdate:modelValue"]),n(v,{title:"Zeitpunkt aktiv",buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":t.active,"onUpdate:modelValue":u=>e.updateState(p,u,"active")},null,8,["model-value","onUpdate:modelValue"]),n(P,{title:"Ziel-Uhrzeit",subtype:"time","model-value":t.time,"onUpdate:modelValue":u=>e.updateState(p,u,"time")},{help:a(()=>[l(" Hier ist die gewünschte Uhrzeit einzustellen, zu welcher das Fahrzeug den gewünschten SoC bzw. die zu ladende Energiemenge BEREITS ERREICHT haben soll. ")]),_:2},1032,["model-value","onUpdate:modelValue"]),n(S,{title:"Ladestrom",min:6,max:32,step:1,unit:"A","model-value":t.current,"onUpdate:modelValue":u=>e.updateState(p,u,"current")},{help:a(()=>[l(" Mit dieser Stromstärke wird der Zeitpunkt berechnet, wann die Ladung mit Netzbezug gestartet werden muss. Wird der Ziel-SoC nicht zum angegebenen Termin erreicht, weil z.B. das Auto erst später angesteckt wurde, wird auch mit einer höheren Stromstärke geladen. Um etwas Puffer zu haben, empfiehlt es sich, etwas weniger als die Maximalstromstärke des Fahrzeugs zu wählen. ")]),_:2},1032,["model-value","onUpdate:modelValue"]),n(v,{title:"Ziel",buttons:[{buttonValue:"soc",text:"SoC"},{buttonValue:"amount",text:"Energie"}],"model-value":t.limit.selected,"onUpdate:modelValue":u=>e.updateState(p,u,"limit.selected")},{help:a(()=>[l(" Bestimmt die Art der Grenze für den Ladevorgang. ")]),_:2},1032,["model-value","onUpdate:modelValue"]),t.limit.selected=="soc"?(r(),f(S,{key:0,title:"Ziel-SoC",min:5,max:100,step:5,unit:"%","model-value":t.limit.soc_scheduled,"onUpdate:modelValue":u=>e.updateState(p,u,"limit.soc_scheduled")},{help:a(()=>[l(" SoC, der zum angegebenen Zeitpunkt erreicht werden soll. ")]),_:2},1032,["model-value","onUpdate:modelValue"])):c("",!0),t.limit.selected=="soc"?(r(),f(S,{key:1,title:"SoC-Limit",min:5,max:100,step:5,unit:"%","model-value":t.limit.soc_limit,"onUpdate:modelValue":u=>e.updateState(p,u,"limit.soc_limit")},{help:a(()=>[l(" Nach Erreichen des Ziel-SoCs wird mit Überschuss weiter geladen, bis das SoC-Limit erreicht wird. ")]),_:2},1032,["model-value","onUpdate:modelValue"])):c("",!0),t.limit.selected=="amount"?(r(),f(z,{key:2,title:"Ziel-Energie",unit:"kWh",min:1,step:.5,"model-value":t.limit.amount/1e3,"onUpdate:modelValue":u=>e.updateState(p,u*1e3,"limit.amount")},{help:a(()=>[l(" Die geladene Energiemenge wird beim Wechsel des Lademodus, Wechsel des Plans oder nach dem Anstecken, wenn Zielladen schon ausgewählt ist, neu gezählt. ")]),_:2},1032,["model-value","onUpdate:modelValue"])):c("",!0),n(v,{title:"Wiederholungen",buttons:[{buttonValue:"once",text:"Einmalig",class:"btn-outline-info"},{buttonValue:"daily",text:"Täglich",class:"btn-outline-info"},{buttonValue:"weekly",text:"Wöchentlich",class:"btn-outline-info"}],"model-value":t.frequency.selected,"onUpdate:modelValue":u=>e.updateState(p,u,"frequency.selected")},null,8,["model-value","onUpdate:modelValue"]),t.frequency.selected=="once"?(r(),f(P,{key:3,title:"Datum",subtype:"date","model-value":t.frequency.once,"onUpdate:modelValue":u=>e.updateState(p,u,"frequency.once")},null,8,["model-value","onUpdate:modelValue"])):c("",!0),t.frequency.selected=="weekly"?(r(),h("div",dt,[(r(!0),h(y,null,E(e.weekdays,(u,T)=>(r(),f(v,{key:T,title:u,buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}],"model-value":t.frequency.weekly[T],"onUpdate:modelValue":D=>e.updateState(p,D,"frequency.weekly."+T)},null,8,["title","model-value","onUpdate:modelValue"]))),128))])):c("",!0)]),_:2},1032,["title"]))),128)),rt,n(L,null,{actions:a(()=>[n(U,{class:"bg-success clickable",onClick:t=>m.addChargeTemplateTimeChargingPlan(d,t)},{default:a(()=>[n(b,{"fixed-width":"",icon:["fas","plus"]})]),_:2},1032,["onClick"])]),help:a(()=>[l(" Mit einem Zeitplan kann ein klar abgegrenzter Zeitbereich zum Fahrzeugladen definiert werden. Dies wird häufig genutzt, um einem Fahrzeug kurz vor der Abfahrt Strom anzubieten, damit dessen Vorklimatisierung nicht aus dem Fahrzeugakku, sondern aus der openWB bezogen wird (Enteisung, Vorwärmung, Abkühlung). Nicht von der Vorklimatisierung benötigter Strom erhöht dabei den Fahrzeug-SoC. Um das Stromnetz am Morgen nicht unnötig zu strapazieren, sollte eine moderate Stromvorgabe und ein beschränkter Zeitbereich vorgegeben werden (z.B. max. 10A; 30min - in Übereinstimmung mit den Fahrzeug-App-Vorklimatisierungsvorgaben). ")]),default:a(()=>[l(" Laden nach Zeitplan ")]),_:2},1024),(r(!0),h(y,null,E(m.getChargeTemplateTimeChargingPlans(d),(t,p)=>(r(),f(B,{key:p,title:t.name,collapsible:!0,collapsed:!0},{actions:a(u=>[u.collapsed==!0?(r(),h("span",{key:0,onClick:N(T=>e.updateState(p,!t.active,"active"),["stop"]),class:I(["subheader pill clickable",t.active?"bg-success":"bg-danger"])},[t.limit.selected=="soc"?(r(),h("span",st,[n(b,{"fixed-width":"",icon:["fas","car-battery"]}),l(" "+V(t.limit.soc)+"% ",1)])):c("",!0),t.limit.selected=="amount"?(r(),h("span",mt,[n(b,{"fixed-width":"",icon:["fas","bolt"]}),l(" "+V(t.limit.amount/1e3)+"kWh ",1)])):c("",!0),n(b,{"fixed-width":"",icon:["fas","clock"]}),l(" "+V(t.time[0])+" - "+V(t.time[1])+" ",1),t.frequency.selected=="once"?(r(),h("span",ct,[n(b,{"fixed-width":"",icon:["fas","calendar-day"]}),l(" "+V(e.formatDate(t.frequency.once[0])==e.formatDate(t.frequency.once[1])?e.formatDate(t.frequency.once[0]):e.formatDate(t.frequency.once[0])+" - "+e.formatDate(t.frequency.once[1])),1)])):c("",!0),t.frequency.selected=="daily"?(r(),h("span",ht,[n(b,{"fixed-width":"",icon:["fas","calendar-week"]})])):c("",!0),t.frequency.selected=="weekly"?(r(),h("span",gt,[n(b,{"fixed-width":"",icon:["fas","calendar-alt"]})])):c("",!0)],10,ut)):c("",!0),u.collapsed==!1?(r(),f(U,{key:1,class:"bg-danger clickable",onClick:T=>m.removeChargeTemplateTimeChargingPlanModal(d,p,T)},{default:a(()=>[n(b,{"fixed-width":"",icon:["fas","trash"]})]),_:2},1032,["onClick"])):c("",!0)]),default:a(()=>[n(P,{title:"Bezeichnung","model-value":t.name,"onUpdate:modelValue":u=>e.updateState(p,u,"name")},null,8,["model-value","onUpdate:modelValue"]),n(v,{title:"Zeitplan aktiv",buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":t.active,"onUpdate:modelValue":u=>e.updateState(p,u,"active")},null,8,["model-value","onUpdate:modelValue"]),n(S,{title:"Ladestrom",min:6,max:32,step:1,unit:"A","model-value":t.current,"onUpdate:modelValue":u=>e.updateState(p,u,"current")},null,8,["model-value","onUpdate:modelValue"]),n(v,{title:"Ziel",buttons:[{buttonValue:"none",text:"Aus"},{buttonValue:"soc",text:"SoC"},{buttonValue:"amount",text:"Energie"}],"model-value":t.limit.selected,"onUpdate:modelValue":u=>e.updateState(p,u,"limit.selected")},{help:a(()=>[l(" Bestimmt die Art der Grenze für den Ladevorgang. ")]),_:2},1032,["model-value","onUpdate:modelValue"]),t.limit.selected=="soc"?(r(),f(S,{key:0,title:"Ziel-SoC",min:5,max:100,step:5,unit:"%","model-value":t.limit.soc,"onUpdate:modelValue":u=>e.updateState(p,u,"limit.soc")},{help:a(()=>[l(" Ladestand des Akku (State of Charge, SoC), bis zu welchem maximal geladen werden soll. ")]),_:2},1032,["model-value","onUpdate:modelValue"])):c("",!0),t.limit.selected=="amount"?(r(),f(z,{key:1,title:"Ziel-Energie",unit:"kWh",min:1,step:.5,"model-value":t.limit.amount/1e3,"onUpdate:modelValue":u=>e.updateState(p,u*1e3,"limit.amount")},{help:a(()=>[l(" Maximal zu ladende Energie innerhalb des Zeitfensters. Eignet sich immer dann wenn kein SoC zur Verfügung steht. Die geladene Energiemenge wird beim Wechsel des Lademodus, Wechsel des Plans oder nach dem Anstecken, wenn Zeitladen schon aktiv ist, neu gezählt. ")]),_:2},1032,["model-value","onUpdate:modelValue"])):c("",!0),n(P,{title:"Zeitpunkt des Ladebeginns",subtype:"time","model-value":t.time[0],"onUpdate:modelValue":u=>e.updateState(p,u,"time.0")},null,8,["model-value","onUpdate:modelValue"]),n(P,{title:"Zeitpunkt des Ladeendes",subtype:"time","model-value":t.time[1],"onUpdate:modelValue":u=>e.updateState(p,u,"time.1")},null,8,["model-value","onUpdate:modelValue"]),n(v,{title:"Wiederholungen",buttons:[{buttonValue:"once",text:"Einmalig",class:"btn-outline-info"},{buttonValue:"daily",text:"Täglich",class:"btn-outline-info"},{buttonValue:"weekly",text:"Wöchentlich",class:"btn-outline-info"}],"model-value":t.frequency.selected,"onUpdate:modelValue":u=>e.updateState(p,u,"frequency.selected")},null,8,["model-value","onUpdate:modelValue"]),t.frequency.selected=="once"?(r(),f(P,{key:2,title:"Gültig ab",subtype:"date","model-value":t.frequency.once[0],"onUpdate:modelValue":u=>e.updateState(p,u,"frequency.once.0")},null,8,["model-value","onUpdate:modelValue"])):c("",!0),t.frequency.selected=="once"?(r(),f(P,{key:3,title:"Gültig bis",subtype:"date",min:t.frequency.once[0],"model-value":t.frequency.once[1],"onUpdate:modelValue":u=>e.updateState(p,u,"frequency.once.1")},null,8,["min","model-value","onUpdate:modelValue"])):c("",!0),t.frequency.selected=="weekly"?(r(),h("div",pt,[(r(!0),h(y,null,E(e.weekdays,(u,T)=>(r(),f(v,{key:T,title:u,buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}],"model-value":t.frequency.weekly[T],"onUpdate:modelValue":D=>e.updateState(p,D,"frequency.weekly."+T)},null,8,["title","model-value","onUpdate:modelValue"]))),128))])):c("",!0)]),_:2},1032,["title"]))),128))]),_:2},[d.endsWith("/0")?void 0:{name:"actions",fn:a(t=>[t.collapsed?c("",!0):(r(),f(U,{key:0,class:"bg-danger clickable",onClick:p=>m.removeChargeTemplateModal(d,p)},{default:a(()=>[n(b,{"fixed-width":"",icon:["fas","trash"]})]),_:2},1032,["onClick"]))]),key:"0"}]),1032,["title","collapsed"]))),128))]))]),_:1},8,["collapsed"]),n($,{formName:"vehicleConfigForm",onSave:o[5]||(o[5]=i=>e.$emit("save")),onReset:o[6]||(o[6]=i=>e.$emit("reset")),onDefaults:o[7]||(o[7]=i=>e.$emit("defaults"))})])])],64)}const zt=x(we,[["render",bt],["__scopeId","data-v-d7193cf0"],["__file","/opt/openWB-dev/openwb-ui-settings/src/views/VehicleConfig.vue"]]);export{zt as default}; diff --git a/web/settings/assets/VehicleConfig-e0d43666.js b/web/settings/assets/VehicleConfig-e0d43666.js new file mode 100644 index 0000000000..c2c51f7d4a --- /dev/null +++ b/web/settings/assets/VehicleConfig-e0d43666.js @@ -0,0 +1 @@ +import{l as H,d as J,a0 as j,A as G,a1 as Q,a2 as X,z as Y,P as K,a4 as ee,R as te,a3 as ne,a5 as ae,F as le,I as ie}from"./vendor-fortawesome-542fe04f.js";import{_ as C,C as oe}from"./index-eaa58995.js";import{_ as de}from"./dynamic-import-helper-be004503.js";import{_ as x,q as k,k as r,l as h,z as f,M as a,x as l,y as V,B as n,u as s,a1 as re,a2 as ue,I as y,A as c,J as E,a3 as M,O as N,p as I,R as se,S as me}from"./vendor-493c2bec.js";import"./vendor-bootstrap-a615942d.js";import"./vendor-jquery-a64a4809.js";import"./vendor-axios-b1ba123b.js";import"./vendor-sortablejs-0b339223.js";const ce={name:"VehicleConfigFallback",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},vehicleId:{default:void 0},vehicleType:String},methods:{updateConfiguration(e,o=void 0){this.$emit("update:configuration",{value:e,object:o})}}},he={class:"vehicle-fallback"},ge={key:1};function pe(e,o,g,q,w,m){const W=k("openwb-base-alert"),b=k("openwb-base-textarea");return r(),h("div",he,[Object.keys(g.configuration).length==0?(r(),f(W,{key:0,subtype:"info"},{default:a(()=>[l(' Der Fahrzeug-Typ "'+V(g.vehicleType)+'" bietet keine Einstellungen. ',1)]),_:1})):(r(),h("div",ge,[n(W,{subtype:"warning"},{default:a(()=>[l(' Es wurde keine Konfigurationsseite für den Fahrzeug-Typ "'+V(g.vehicleType)+'" gefunden. Die Einstellungen können als JSON direkt bearbeitet werden. ',1)]),_:1}),n(b,{title:"Konfiguration",subtype:"json","model-value":g.configuration,"onUpdate:modelValue":o[0]||(o[0]=U=>m.updateConfiguration(U,"configuration"))},{help:a(()=>[l(" Bitte prüfen Sie, ob die Eingaben richtig interpretiert werden. ")]),_:1},8,["model-value"]),n(W,{subtype:"info"},{default:a(()=>[s("pre",null,V(JSON.stringify(g.configuration,void 0,2)),1)]),_:1})]))])}const be=x(ce,[["render",pe],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/vehicles/OpenwbVehicleConfigFallback.vue"]]),fe={name:"OpenwbVehicleProxy",emits:["update:configuration"],props:{vehicleId:{required:!0},vehicle:{type:Object,required:!0}},computed:{myComponent(){return console.debug(`loading vehicle: ${this.vehicle.type}`),re({loader:()=>de(Object.assign({"./bmw/vehicle.vue":()=>C(()=>import("./vehicle-037807d9.js"),["assets/vehicle-037807d9.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./evcc/vehicle.vue":()=>C(()=>import("./vehicle-a1ca66bc.js"),["assets/vehicle-a1ca66bc.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./evnotify/vehicle.vue":()=>C(()=>import("./vehicle-9b43a910.js"),["assets/vehicle-9b43a910.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./http/vehicle.vue":()=>C(()=>import("./vehicle-c8eb0602.js"),["assets/vehicle-c8eb0602.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./kia/vehicle.vue":()=>C(()=>import("./vehicle-b19dd809.js"),["assets/vehicle-b19dd809.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./manual/vehicle.vue":()=>C(()=>import("./vehicle-5538cbac.js"),["assets/vehicle-5538cbac.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./mercedeseq/vehicle.vue":()=>C(()=>import("./vehicle-a6d66396.js"),["assets/vehicle-a6d66396.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./mqtt/vehicle.vue":()=>C(()=>import("./vehicle-4c33a0da.js"),["assets/vehicle-4c33a0da.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./psa/vehicle.vue":()=>C(()=>import("./vehicle-d9860e56.js"),["assets/vehicle-d9860e56.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./renault/vehicle.vue":()=>C(()=>import("./vehicle-e5bc07c7.js"),["assets/vehicle-e5bc07c7.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./skodaconnect/vehicle.vue":()=>C(()=>import("./vehicle-96abfd01.js"),["assets/vehicle-96abfd01.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./smarteq/vehicle.vue":()=>C(()=>import("./vehicle-081e8fb1.js"),["assets/vehicle-081e8fb1.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./tesla/vehicle.vue":()=>C(()=>import("./vehicle-bc5b9266.js"),["assets/vehicle-bc5b9266.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css","assets/vendor-axios-b1ba123b.js","assets/index-eaa58995.js","assets/vendor-fortawesome-542fe04f.js","assets/vendor-bootstrap-a615942d.js","assets/vendor-jquery-a64a4809.js","assets/vendor-bootstrap-c4951098.css","assets/index-b3227821.css"]),"./tronity/vehicle.vue":()=>C(()=>import("./vehicle-8701ca11.js"),["assets/vehicle-8701ca11.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"]),"./vwid/vehicle.vue":()=>C(()=>import("./vehicle-7293dd85.js"),["assets/vehicle-7293dd85.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css"])}),`./${this.vehicle.type}/vehicle.vue`),errorComponent:be})}},methods:{updateConfiguration(e){this.$emit("update:configuration",e)}}};function ve(e,o,g,q,w,m){const W=k("openwb-base-heading");return r(),h(y,null,[n(W,null,{default:a(()=>[l(' Einstellungen für SoC-Modul "'+V(g.vehicle.name)+'" ',1)]),_:1}),(r(),f(ue(m.myComponent),{vehicleId:g.vehicleId,vehicle:g.vehicle,configuration:g.vehicle.configuration,vehicleType:g.vehicle.type,"onUpdate:configuration":o[0]||(o[0]=b=>m.updateConfiguration(b))},null,40,["vehicleId","vehicle","configuration","vehicleType"]))],64)}const _e=x(fe,[["render",ve],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/vehicles/OpenwbVehicleProxy.vue"]]);H.add(J,j,G,Q,X,Y,K,ee,te,ne,ae);const we={name:"OpenwbVehicleConfig",mixins:[oe],emits:["sendCommand"],components:{FontAwesomeIcon:le,FontAwesomeLayers:ie,OpenwbVehicleProxy:_e},data(){return{mqttTopicsToSubscribe:["openWB/general/extern","openWB/optional/et/provider","openWB/optional/rfid/active","openWB/vehicle/template/ev_template/+","openWB/vehicle/template/charge_template/+","openWB/vehicle/template/charge_template/+/chargemode/scheduled_charging/plans/+","openWB/vehicle/template/charge_template/+/time_charging/plans/+","openWB/vehicle/+/name","openWB/vehicle/+/charge_template","openWB/vehicle/+/ev_template","openWB/vehicle/+/tag_id","openWB/system/configurable/soc_modules","openWB/vehicle/+/soc_module/general_config","openWB/vehicle/+/soc_module/config"],showVehicleModal:!1,modalVehicleIndex:void 0,showEvTemplateModal:!1,modalEvTemplateIndex:void 0,showChargeTemplateModal:!1,modalChargeTemplateIndex:void 0,showChargeTemplateSchedulePlanModal:!1,modalChargeTemplateSchedulePlanIndex:void 0,showChargeTemplateTimeChargingPlanModal:!1,modalChargeTemplateTimeChargingPlanIndex:void 0}},computed:{vehicleIndexes:{get(){return this.getWildcardIndexList("openWB/vehicle/+/name")}},evTemplates:{get(){return this.getWildcardTopics("openWB/vehicle/template/ev_template/+")}},evTemplateList:{get(){let e=[];return Object.keys(this.evTemplates).forEach(o=>{let g=parseInt(o.match(/([0-9]+)$/g)[0]),q=this.$store.state.mqtt["openWB/vehicle/template/ev_template/"+g].name;e.push({value:g,text:q})}),e}},chargeTemplates:{get(){return this.getWildcardTopics("openWB/vehicle/template/charge_template/+")}},chargeTemplateList:{get(){let e=[];return Object.keys(this.chargeTemplates).forEach(o=>{let g=parseInt(o.match(/([0-9]+)$/g)[0]),q=this.$store.state.mqtt["openWB/vehicle/template/charge_template/"+g].name;e.push({value:g,text:q})}),e}},socModuleList:{get(){return this.$store.state.mqtt["openWB/system/configurable/soc_modules"]}}},methods:{getChargeTemplateScheduledChargingPlans(e){let o=e.match(/([^/]+)$/)[0];return this.getWildcardTopics("openWB/vehicle/template/charge_template/"+o+"/chargemode/scheduled_charging/plans/+")},getChargeTemplateTimeChargingPlans(e){let o=e.match(/([^/]+)$/)[0];return this.getWildcardTopics("openWB/vehicle/template/charge_template/"+o+"/time_charging/plans/+")},addVehicle(e){e.stopPropagation(),console.info("requesting new vehicle..."),this.$emit("sendCommand",{command:"addVehicle",data:{}})},removeVehicleModal(e,o){o.stopPropagation(),this.modalVehicleIndex=e,this.showVehicleModal=!0},removeVehicle(e,o){this.showVehicleModal=!1,o=="confirm"&&(console.info("request removal of vehicle '"+e+"'"),this.$emit("sendCommand",{command:"removeVehicle",data:{id:e}}))},getVehicleName(e){return this.$store.state.mqtt["openWB/vehicle/"+e+"/name"]?this.$store.state.mqtt["openWB/vehicle/"+e+"/name"]:"Fahrzeug "+e},getSocDefaultConfiguration(e){const o=this.socModuleList.find(g=>g.value==e);return Object.prototype.hasOwnProperty.call(o,"defaults")?{...JSON.parse(JSON.stringify(o.defaults))}:(console.warn("no default configuration found for soc type!",e),{})},updateSelectedSocModule(e,o){this.updateState("openWB/vehicle/"+e+"/soc_module/config",o,"type"),this.updateState("openWB/vehicle/"+e+"/soc_module/config",this.getSocDefaultConfiguration(o))},updateConfiguration(e,o){console.debug("updateConfiguration",e,o),this.updateState(e,o.value,o.object)},addEvTemplate(e){e.stopPropagation(),console.info("requesting new ev template..."),this.$emit("sendCommand",{command:"addEvTemplate",data:{}})},removeEvTemplateModal(e,o){o.stopPropagation(),this.modalEvTemplateIndex=parseInt(e.match(/([^/]+)$/)[0]),this.showEvTemplateModal=!0},removeEvTemplate(e,o){this.showEvTemplateModal=!1,o=="confirm"&&(console.info("request removal of ev template '"+e+"'"),this.$emit("sendCommand",{command:"removeEvTemplate",data:{id:e}}))},getEvTemplateName(e){return this.$store.state.mqtt["openWB/vehicle/template/ev_template/"+e]?this.$store.state.mqtt["openWB/vehicle/template/ev_template/"+e].name:"Fahrzeug-Profil "+e},addChargeTemplate(e){e.stopPropagation(),console.info("requesting new charge template..."),this.$emit("sendCommand",{command:"addChargeTemplate",data:{}})},getChargeTemplateIndex(e){return parseInt(e.match(/([^/]+)$/)[0])},removeChargeTemplateModal(e,o){o.stopPropagation(),this.modalChargeTemplateIndex=this.getChargeTemplateIndex(e),this.showChargeTemplateModal=!0},removeChargeTemplate(e,o){this.showChargeTemplateModal=!1,o=="confirm"&&(console.info("request removal of charge template '"+e+"'"),this.$emit("sendCommand",{command:"removeChargeTemplate",data:{id:e}}))},getChargeTemplateName(e){return this.$store.state.mqtt["openWB/vehicle/template/charge_template/"+e]?this.$store.state.mqtt["openWB/vehicle/template/charge_template/"+e].name:"Lade-Profil "+e},getChargeTemplateSchedulePlanName(e,o){return this.$store.state.mqtt["openWB/vehicle/template/charge_template/"+e+"/chargemode/scheduled_charging/plans/"+o]?this.$store.state.mqtt["openWB/vehicle/template/charge_template/"+e+"/chargemode/scheduled_charging/plans/"+o].name:"Zielladen Zeitplan "+e+"/"+o},addChargeTemplateSchedulePlan(e,o){o.stopPropagation(),console.info("requesting new charge template schedule plan...");let g=parseInt(e.match(/([^/]+)$/)[0]);this.$emit("sendCommand",{command:"addChargeTemplateSchedulePlan",data:{template:g}})},removeChargeTemplateSchedulePlanModal(e,o,g){g.stopPropagation(),this.modalChargeTemplateIndex=parseInt(e.match(/([^/]+)$/)[0]),this.modalChargeTemplateSchedulePlanIndex=parseInt(o.match(/([^/]+)$/)[0]),this.showChargeTemplateSchedulePlanModal=!0},removeChargeTemplateSchedulePlan(e,o,g){this.showChargeTemplateSchedulePlanModal=!1,g=="confirm"&&(console.info("request removal of charge template '"+e+"' schedule plan '"+o+"'"),this.$emit("sendCommand",{command:"removeChargeTemplateSchedulePlan",data:{template:e,plan:o}}))},getChargeTemplateTimeChargingPlanName(e,o){return this.$store.state.mqtt["openWB/vehicle/template/charge_template/"+e+"/time_charging/plans/"+o]?this.$store.state.mqtt["openWB/vehicle/template/charge_template/"+e+"/time_charging/plans/"+o].name:"Zeitladen Zeitplan "+e+"/"+o},addChargeTemplateTimeChargingPlan(e,o){o.stopPropagation(),console.info("requesting new charge template time charging plan...");let g=parseInt(e.match(/([^/]+)$/)[0]);this.$emit("sendCommand",{command:"addChargeTemplateTimeChargingPlan",data:{template:g}})},removeChargeTemplateTimeChargingPlanModal(e,o,g){g.stopPropagation(),this.modalChargeTemplateIndex=parseInt(e.match(/([^/]+)$/)[0]),this.modalChargeTemplateTimeChargingPlanIndex=parseInt(o.match(/([^/]+)$/)[0]),this.showChargeTemplateTimeChargingPlanModal=!0},removeChargeTemplateTimeChargingPlan(e,o,g){this.showChargeTemplateTimeChargingPlanModal=!1,g=="confirm"&&(console.info("request removal of charge template '"+e+"' time charging plan '"+o+"'"),this.$emit("sendCommand",{command:"removeChargeTemplateTimeChargingPlan",data:{template:e,plan:o}}))}}},_=e=>(se("data-v-d7193cf0"),e=e(),me(),e),ke={class:"vehicleConfig"},Ve={name:"vehicleConfigForm"},Ce={key:0},Se={key:1},ze=_(()=>s("hr",null,null,-1)),Te={key:0},Ue=_(()=>s("br",null,null,-1)),We=["innerHTML"],Pe=_(()=>s("hr",null,null,-1)),Le=_(()=>s("br",null,null,-1)),ye=_(()=>s("br",null,null,-1)),Be=_(()=>s("br",null,null,-1)),Ae={key:1},Ee=_(()=>s("hr",{class:"border-secondary"},null,-1)),qe={key:0},Me={key:1},Fe=_(()=>s("br",null,null,-1)),De=_(()=>s("br",null,null,-1)),xe=_(()=>s("br",null,null,-1)),Ze=_(()=>s("br",null,null,-1)),Ne={key:0},Ie={key:1},Oe=_(()=>s("br",null,null,-1)),Re=_(()=>s("br",null,null,-1)),$e=_(()=>s("ol",null,[s("li",null," Zielladen (Sofortladen) mit Priorität "),s("li",null,"Zielladen (Sofortladen)"),s("li",null,"Zeitladen mit Priorität"),s("li",null,"Zeitladen"),s("li",null,"Sofortladen mit Priorität"),s("li",null,"Sofortladen"),s("li",null,"PV (Min-Anteil) mit Priorität"),s("li",null,"PV (Min-Anteil)"),s("li",null,"Zielladen (PV) mit Priorität"),s("li",null,"Zielladen (PV)"),s("li",null,"PV (PV-Anteil) mit Priorität"),s("li",null,"PV (PV-Anteil)")],-1)),He={key:0},Je={key:0},je=_(()=>s("hr",null,null,-1)),Ge=_(()=>s("hr",null,null,-1)),Qe=_(()=>s("br",null,null,-1)),Xe=_(()=>s("br",null,null,-1)),Ye=_(()=>s("hr",null,null,-1)),Ke=_(()=>s("br",null,null,-1)),et=_(()=>s("br",null,null,-1)),tt=["onClick"],nt={key:0},at={key:1},lt={key:2},it={key:3},ot={key:4},dt={key:4},rt=_(()=>s("hr",null,null,-1)),ut=["onClick"],st={key:0},mt={key:1},ct={key:2},ht={key:3},gt={key:4},pt={key:4};function bt(e,o,g,q,w,m){const W=k("openwb-base-modal-dialog"),b=k("font-awesome-icon"),U=k("openwb-base-avatar"),A=k("openwb-base-alert"),P=k("openwb-base-text-input"),F=k("openwb-base-select-input"),O=k("openwb-base-array-input"),v=k("openwb-base-button-group-input"),L=k("openwb-base-heading"),z=k("openwb-base-number-input"),R=k("openwb-vehicle-proxy"),B=k("openwb-base-card"),Z=k("font-awesome-layers"),S=k("openwb-base-range-input"),$=k("openwb-base-submit-buttons");return r(),h(y,null,[n(W,{show:w.showVehicleModal,title:"Fahrzeug löschen",subtype:"danger",buttons:[{text:"Löschen",event:"confirm",subtype:"danger"}],onModalResult:o[0]||(o[0]=i=>m.removeVehicle(w.modalVehicleIndex,i))},{default:a(()=>[l(' Wollen Sie das Fahrzeug "'+V(m.getVehicleName(w.modalVehicleIndex))+'" wirklich entfernen? Dieser Vorgang kann nicht rückgängig gemacht werden! ',1)]),_:1},8,["show"]),n(W,{show:w.showEvTemplateModal,title:"Fahrzeug-Profil löschen",subtype:"danger",buttons:[{text:"Löschen",event:"confirm",subtype:"danger"}],onModalResult:o[1]||(o[1]=i=>m.removeEvTemplate(w.modalEvTemplateIndex,i))},{default:a(()=>[l(' Wollen Sie das Fahrzeug-Profil "'+V(m.getEvTemplateName(w.modalEvTemplateIndex))+'" wirklich entfernen? Dieser Vorgang kann nicht rückgängig gemacht werden! ',1)]),_:1},8,["show"]),n(W,{show:w.showChargeTemplateModal,title:"Lade-Profil löschen",subtype:"danger",buttons:[{text:"Löschen",event:"confirm",subtype:"danger"}],onModalResult:o[2]||(o[2]=i=>m.removeChargeTemplate(w.modalChargeTemplateIndex,i))},{default:a(()=>[l(' Wollen Sie das Lade-Profil "'+V(m.getChargeTemplateName(w.modalChargeTemplateIndex))+'" wirklich entfernen? Dieser Vorgang kann nicht rückgängig gemacht werden! ',1)]),_:1},8,["show"]),n(W,{show:w.showChargeTemplateSchedulePlanModal,title:"Zielladen Zeitplan löschen",subtype:"danger",buttons:[{text:"Löschen",event:"confirm",subtype:"danger"}],onModalResult:o[3]||(o[3]=i=>m.removeChargeTemplateSchedulePlan(w.modalChargeTemplateIndex,w.modalChargeTemplateSchedulePlanIndex,i))},{default:a(()=>[l(' Wollen Sie den Zielladen Zeitplan "'+V(m.getChargeTemplateSchedulePlanName(w.modalChargeTemplateIndex,w.modalChargeTemplateSchedulePlanIndex))+'" wirklich entfernen? Dieser Vorgang kann nicht rückgängig gemacht werden! ',1)]),_:1},8,["show"]),n(W,{show:w.showChargeTemplateTimeChargingPlanModal,title:"Zeitladen Zeitplan löschen",subtype:"danger",buttons:[{text:"Löschen",event:"confirm",subtype:"danger"}],onModalResult:o[4]||(o[4]=i=>m.removeChargeTemplateTimeChargingPlan(w.modalChargeTemplateIndex,w.modalChargeTemplateTimeChargingPlanIndex,i))},{default:a(()=>[l(' Wollen Sie den Zeitladen Zeitplan "'+V(m.getChargeTemplateTimeChargingPlanName(w.modalChargeTemplateIndex,w.modalChargeTemplateTimeChargingPlanIndex))+'" wirklich entfernen? Dieser Vorgang kann nicht rückgängig gemacht werden! ',1)]),_:1},8,["show"]),s("div",ke,[s("form",Ve,[n(B,{subtype:"info",collapsible:!0,collapsed:e.$route.params.section!="vehicle"},{header:a(()=>[n(b,{"fixed-width":"",icon:["fas","car"]}),l(" Fahrzeuge ")]),actions:a(()=>[e.$store.state.mqtt["openWB/general/extern"]===!1?(r(),f(U,{key:0,class:"bg-success clickable",onClick:m.addVehicle},{default:a(()=>[n(b,{"fixed-width":"",icon:["fas","plus"]})]),_:1},8,["onClick"])):c("",!0)]),default:a(()=>[e.$store.state.mqtt["openWB/general/extern"]===!0?(r(),h("div",Ce,[n(A,{subtype:"info"},{default:a(()=>[l(' Diese Einstellungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. ')]),_:1})])):(r(),h("div",Se,[(r(!0),h(y,null,E(m.vehicleIndexes,i=>(r(),f(B,{key:i,title:m.getVehicleName(i),collapsible:!0,collapsed:!(e.$route.params.section=="vehicle"&&parseInt(e.$route.params.section_index)==i),subtype:"info"},M({default:a(()=>[n(P,{title:"Bezeichnung","model-value":e.$store.state.mqtt["openWB/vehicle/"+i+"/name"],"onUpdate:modelValue":d=>e.updateState("openWB/vehicle/"+i+"/name",d),disabled:i===0},M({_:2},[i===0?{name:"help",fn:a(()=>[l(" Das Standard-Fahrzeug kann nicht umbenannt werden. ")]),key:"0"}:void 0]),1032,["model-value","onUpdate:modelValue","disabled"]),n(A,{subtype:"info"},{default:a(()=>[l(" Ein anderes Fahrzeug-Profil wird erst NACH dem Abstecken übernommen, da es sonst durch die Änderung bestimmter Einstellungen im laufenden Ladevorgang zu Widersprüchen kommen kann. ")]),_:1}),n(F,{title:"Fahrzeug-Profil",options:m.evTemplateList,"model-value":e.$store.state.mqtt["openWB/vehicle/"+i+"/ev_template"],"onUpdate:modelValue":d=>e.updateState("openWB/vehicle/"+i+"/ev_template",d)},null,8,["options","model-value","onUpdate:modelValue"]),n(F,{title:"Lade-Profil",options:m.chargeTemplateList,"model-value":e.$store.state.mqtt["openWB/vehicle/"+i+"/charge_template"],"onUpdate:modelValue":d=>e.updateState("openWB/vehicle/"+i+"/charge_template",d)},null,8,["options","model-value","onUpdate:modelValue"]),ze,e.$store.state.mqtt["openWB/optional/rfid/active"]===!0?(r(),h("div",Te,[n(O,{title:"Zugeordnete ID-Tags","model-value":e.$store.state.mqtt["openWB/vehicle/"+i+"/tag_id"],"onUpdate:modelValue":d=>e.updateState("openWB/vehicle/"+i+"/tag_id",d)},null,8,["model-value","onUpdate:modelValue"]),n(A,{subtype:"info"},{default:a(()=>[l(" Die ID-Tags müssen auch in den Ladepunkt-Profil eingetragen werden, um zuzuordnen, an welchen Ladepunkten die ID-Tags verwendet werden dürfen."),Ue,s("span",{innerHTML:e.$store.state.text.rfidWiki},null,8,We)]),_:1}),Pe])):c("",!0),n(F,{class:"mb-2",title:"SoC-Modul",options:m.socModuleList,"model-value":e.$store.state.mqtt["openWB/vehicle/"+i+"/soc_module/config"].type,"onUpdate:modelValue":d=>m.updateSelectedSocModule(i,d)},{help:a(()=>[l(" Mit einem SoC-Modul kann der Ladestand des Fahrzeugs ermittelt und geregelt werden. Z.B. lassen sich unabhängig vom Fahrzeug bestimmte SoC-Werte einstellen, um den Fahrzeugakku zu schonen. Aktuell werden die SoC-Werte mittels der App-Zugangsdaten aus dem Herstellerserver des Fahrzeuges ausgelesen. Zukünftig soll auch eine direkte SoC-Auslesung aus dem Fahrzeug möglich werden (openWB Pro)."),Le,l(" Die SoC-Abfrage erfolgt automatisch beim Anstecken des Fahrzeuges und zusätzlich über einstellbare Abfrageintervalle während des Ladens und Nichtladens. Die Abfrage kann auch manuell durch Klick auf den Reload-Pfeil auf der Hauptseite ausgelöst werden."),ye,l(" Wenn eine Abfrage fehlschlägt, wird noch drei weitere Male im Abstand von 5 Minuten versucht, den SoC abzufragen. Wenn dies nicht erfolgreich ist, wird der SoC auf 0% gesetzt um zu vermeiden, dass ein Auto beim SoC-basierten Laden nicht geladen wird. Die Abfrage erfolgt dann wieder in den oben genannten Intervallen."),Be,l(" Da aktuell die SoC-Abfragen über Onlineserver der Fahrzeughersteller laufen, ist infolge möglicher Umstellungen/Wartungen keine 100%-ig sichere SoC-Abfrage garantiert. Auch kann es zu SoC-Abweichungen infolge von zeitlicher Verzögerungen kommen. Hilfestellung erfolgt primär im openWB-Forum. ")]),_:2},1032,["options","model-value","onUpdate:modelValue"]),e.$store.state.mqtt["openWB/vehicle/"+i+"/soc_module/config"].type?(r(),h("div",Ae,[n(v,{title:"SoC direkt aus Fahrzeug auslesen",buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":e.$store.state.mqtt["openWB/vehicle/"+i+"/soc_module/general_config"].use_soc_from_cp,"onUpdate:modelValue":d=>e.updateState("openWB/vehicle/"+i+"/soc_module/general_config",d,"use_soc_from_cp")},{help:a(()=>[l(" Wenn Ladepunkt und Fahrzeug das direkte Auslesen des SoCs über das Ladekabel unterstützen, wird der SoC nach dem Anstecken aus dem Fahrzeug ausgelesen und während der Ladung berechnet. Das direkte Auslesen des SoC aus dem Fahrzeug ist aktuell nur mit einer openWB Pro möglich. ")]),_:2},1032,["model-value","onUpdate:modelValue"]),n(L,null,{help:a(()=>[l(" Einige Hersteller begrenzen die möglichen Abfragen. Sobald ein gewisses Limit in einem Zeitraum überschritten wird, werden weitere Anfragen blockiert. Die Zeitintervalle sollten daher nicht zu klein gewählt werden. ")]),default:a(()=>[l(" Aktualisierung der Fahrzeugdaten ")]),_:1}),n(z,{title:"Während der Ladung",unit:"Min.","model-value":e.$store.state.mqtt["openWB/vehicle/"+i+"/soc_module/general_config"].request_interval_charging/60,"onUpdate:modelValue":d=>e.updateState("openWB/vehicle/"+i+"/soc_module/general_config",d*60,"request_interval_charging")},{help:a(()=>[l(" Der Ladestand des Fahrzeugs (SoC) wird bei einem laufenden Ladevorgang in dem hier eingestellten Intervall in Minuten abgefragt. ")]),_:2},1032,["model-value","onUpdate:modelValue"]),n(z,{title:"Ohne laufende Ladung",unit:"Min.","model-value":e.$store.state.mqtt["openWB/vehicle/"+i+"/soc_module/general_config"].request_interval_not_charging/60,"onUpdate:modelValue":d=>e.updateState("openWB/vehicle/"+i+"/soc_module/general_config",d*60,"request_interval_not_charging")},{help:a(()=>[l(" Der Ladestand des Fahrzeugs (SoC) wird in dem hier eingestellten Intervall in Minuten abgefragt, falls kein Ladevorgang aktiv ist. ")]),_:2},1032,["model-value","onUpdate:modelValue"]),n(v,{title:"Nur aktualisieren wenn angesteckt",buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":e.$store.state.mqtt["openWB/vehicle/"+i+"/soc_module/general_config"].request_only_plugged,"onUpdate:modelValue":d=>e.updateState("openWB/vehicle/"+i+"/soc_module/general_config",d,"request_only_plugged")},{help:a(()=>[l(' Wird hier "Ja" ausgewählt, dann wird der Ladestand des Fahrzeugs nur abgefragt, wenn das Ladekabel angesteckt ist. ')]),_:2},1032,["model-value","onUpdate:modelValue"]),n(R,{vehicleId:i,vehicle:e.$store.state.mqtt["openWB/vehicle/"+i+"/soc_module/config"],"onUpdate:configuration":d=>m.updateConfiguration("openWB/vehicle/"+i+"/soc_module/config",d)},null,8,["vehicleId","vehicle","onUpdate:configuration"])])):c("",!0)]),_:2},[i!==0?{name:"actions",fn:a(d=>[d.collapsed?c("",!0):(r(),f(U,{key:0,class:"bg-danger clickable",onClick:t=>m.removeVehicleModal(i,t)},{default:a(()=>[n(b,{"fixed-width":"",icon:["fas","trash"]})]),_:2},1032,["onClick"]))]),key:"0"}:void 0]),1032,["title","collapsed"]))),128))]))]),_:1},8,["collapsed"]),Ee,n(L,null,{default:a(()=>[l("Profile")]),_:1}),n(B,{collapsible:!0,collapsed:!0},{header:a(()=>[n(Z,{"fixed-width":"",class:"fa-lg"},{default:a(()=>[n(b,{"fixed-width":"",icon:["far","file"]}),n(b,{"fixed-width":"",icon:["fas","car"],transform:"shrink-8"})]),_:1}),l(" Fahrzeug-Profile ")]),actions:a(()=>[e.$store.state.mqtt["openWB/general/extern"]===!1?(r(),f(U,{key:0,class:"bg-success clickable",onClick:m.addEvTemplate},{default:a(()=>[n(b,{"fixed-width":"",icon:["fas","plus"]})]),_:1},8,["onClick"])):c("",!0)]),default:a(()=>[e.$store.state.mqtt["openWB/general/extern"]===!0?(r(),h("div",qe,[n(A,{subtype:"info"},{default:a(()=>[l(' Diese Einstellungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. ')]),_:1})])):(r(),h("div",Me,[n(A,{subtype:"info"},{default:a(()=>[l(" Ein anderes Fahrzeug-Profil wird erst NACH dem Abstecken übernommen, da es sonst durch die Änderung bestimmter Einstellungen im laufenden Ladevorgang zu Widersprüchen kommen kann. ")]),_:1}),(r(!0),h(y,null,E(m.evTemplates,(i,d)=>(r(),f(B,{key:d,title:i.name?i.name:d,collapsible:!0,collapsed:!0},M({default:a(()=>[n(P,{title:"Bezeichnung","model-value":i.name,"onUpdate:modelValue":t=>e.updateState(d,t,"name"),disabled:d.endsWith("/0")},M({_:2},[d.endsWith("/0")?{name:"help",fn:a(()=>[l(" Das Standard-Profil kann nicht umbenannt werden. ")]),key:"0"}:void 0]),1032,["model-value","onUpdate:modelValue","disabled"]),n(L,null,{default:a(()=>[l(" Angaben zum Ladestrom ")]),_:1}),n(S,{title:"Mindeststrom",min:6,max:16,step:1,unit:"A","model-value":i.min_current,"onUpdate:modelValue":t=>e.updateState(d,t,"min_current")},null,8,["model-value","onUpdate:modelValue"]),n(S,{title:"Maximalstrom bei einer Phase",min:6,max:32,step:1,unit:"A","model-value":i.max_current_single_phase,"onUpdate:modelValue":t=>e.updateState(d,t,"max_current_single_phase")},null,8,["model-value","onUpdate:modelValue"]),n(S,{title:"Maximalstrom mehrere Phasen",min:6,max:32,step:1,unit:"A","model-value":i.max_current_multi_phases,"onUpdate:modelValue":t=>e.updateState(d,t,"max_current_multi_phases")},null,8,["model-value","onUpdate:modelValue"]),n(z,{title:"Erlaubte Stromabweichung",step:.1,unit:"A","model-value":i.nominal_difference,"onUpdate:modelValue":t=>e.updateState(d,t,"nominal_difference")},{help:a(()=>[l(" In manchen Lademodi, z.B. bei der automatischen Phasenumschaltung, wird geprüft, ob das Fahrzeug mit der vorgegebenen Stromstärke lädt. Manche Fahrzeuge laden nicht exakt mit der vorgegebenen Stromstärke. Die erlaubte Abweichung kann hier eingestellt werden. ")]),_:2},1032,["model-value","onUpdate:modelValue"]),n(L,null,{default:a(()=>[l(" Angaben zur Batterie ")]),_:1}),n(z,{title:"Kapazität der Batterie",unit:"kWh",min:1,step:1,"model-value":i.battery_capacity/1e3,"onUpdate:modelValue":t=>e.updateState(d,t*1e3,"battery_capacity")},{help:a(()=>[l(" Angabe der Netto-Kapazität der Fahrzeugbatterie. Dient zur Berechnung des manuellen SoC und der geladenen Reichweite. Die Netto-Kapazität unterscheidet sich meist von den Angaben der Fahrzeughersteller. So besitzt ein Tesla Model S 90 z. B. nur ca. 83kWh und nicht die durch die Typenbezeichnung suggerierten 90kWh. Andere Hersteller begrenzen die nutzbare Kapazität absichtlich, um eine höhere Lebensdauer der Akkus zu erreichen. Gängig sind eine Drosselung auf 90% der angegebenen Brutto-Kapazität. ")]),_:2},1032,["model-value","onUpdate:modelValue"]),n(z,{title:"Wirkungsgrad der Ladeelektronik",unit:"%",required:"","model-value":i.efficiency,"onUpdate:modelValue":t=>e.updateState(d,t,"efficiency")},{help:a(()=>[l(" Durch Verluste in der Ladeelektronik (z. B. Umwandlung Wechselspannung in Gleichspannung) gelangt nicht die komplette Energie, welche durch den Zähler in der Wallbox gemessen wird, in den Akku des Fahrzeugs. Der anzugebende Wert liegt bei gängigen Fahrzeugen im Bereich 90-95%. Eine Ausnahme stellt der Zoe dar, dessen Chameleon-Lader je nach Modellversion und freigegebener Leistung der Wallbox teilweise nur auf ca. 50% kommt."),Fe,l(" Liegen die Angaben der Wallbox und des Fahrzeugs nach der Ladung mehrere Prozent auseinander, dann kann mit dieser Einstellung eine Feinabstimmung erfolgen: "),De,l(" SoC an der Wallbox zu hoch: Wirkungsgrad um ein paar Prozent reduzieren"),xe,l(" SoC an der Wallbox zu gering: Wirkungsgrad um ein paar Prozent erhöhen"),Ze]),_:2},1032,["model-value","onUpdate:modelValue"]),n(z,{title:"Durchschnittsverbrauch",unit:"kWh / 100km",min:0,step:.1,"model-value":i.average_consump/1e3,"onUpdate:modelValue":t=>e.updateState(d,t*1e3,"average_consump")},null,8,["model-value","onUpdate:modelValue"]),n(L,null,{default:a(()=>[l(" Angaben zur Handhabung von Phasen ")]),_:1}),n(v,{title:"Unterstützte Phasen",buttons:[{buttonValue:1,text:"1"},{buttonValue:2,text:"2"},{buttonValue:3,text:"3"}],"model-value":i.max_phases,"onUpdate:modelValue":t=>e.updateState(d,t,"max_phases")},{help:a(()=>[l(" Anzahl der Phasen, die der Fahrzeuglader (s.g. OBC - OnboardCharger) bereitstellt. Plugin-Hybride haben meist nur eine Phase, reine E-Autos meist 2 bis 3 Phasen. ")]),_:2},1032,["model-value","onUpdate:modelValue"]),n(v,{title:"CP-Unterbrechung",buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}],"model-value":i.control_pilot_interruption,"onUpdate:modelValue":t=>e.updateState(d,t,"control_pilot_interruption")},{help:a(()=>[l(' Erläuterung siehe "Konfiguration - Ladepunkte" -> Hardware-Optionen ')]),_:2},1032,["model-value","onUpdate:modelValue"]),i.control_pilot_interruption?(r(),f(z,{key:0,title:"Dauer der CP-Unterbrechung",min:4,step:1,unit:"s","model-value":i.control_pilot_interruption_duration,"onUpdate:modelValue":t=>e.updateState(d,t,"control_pilot_interruption_duration")},null,8,["model-value","onUpdate:modelValue"])):c("",!0),n(v,{title:"Phasenumschaltung blockieren",buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}],"model-value":i.prevent_phase_switch,"onUpdate:modelValue":t=>e.updateState(d,t,"prevent_phase_switch")},{help:a(()=>[l(' Erläuterung zu 1p3p siehe "Ladeeinstellungen" ')]),_:2},1032,["model-value","onUpdate:modelValue"]),n(v,{title:"Ladung aktiv halten",buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}],"model-value":i.prevent_charge_stop,"onUpdate:modelValue":t=>e.updateState(d,t,"prevent_charge_stop")},{help:a(()=>[l(" Der Ladevorgang wird in den Lademodi PV- und Zielladen nach Ladebeginn nicht unterbrochen, selbst wenn nicht mehr genug Überschuss vorhanden ist. Diese Einstellung sollte bei Fahrzeugen aktiviert werden, die nach einer Ladungsunterbrechung keine Ladung mehr starten. ")]),_:2},1032,["model-value","onUpdate:modelValue"]),n(z,{title:"Pause bei Phasenumschaltung",unit:"s",min:2,step:1,"model-value":i.phase_switch_pause,"onUpdate:modelValue":t=>e.updateState(d,t,"phase_switch_pause")},null,8,["model-value","onUpdate:modelValue"]),n(z,{title:"Mindestzeit zwischen Umschaltungen",unit:"s",min:2,step:1,"model-value":i.keep_charge_active_duration,"onUpdate:modelValue":t=>e.updateState(d,t,"keep_charge_active_duration")},{help:a(()=>[l(" Manche Fahrzeuge benötigen nach der Umschaltung einige Zeit, bis sie mit der vorgegebenen Phasenzahl laden. In dieser Zeit wird keine neue Phasenumschaltung angestoßen. ")]),_:2},1032,["model-value","onUpdate:modelValue"])]),_:2},[d.endsWith("/0")?void 0:{name:"actions",fn:a(t=>[e.$store.state.mqtt["openWB/general/extern"]===!1&&!t.collapsed?(r(),f(U,{key:0,class:"bg-danger clickable",onClick:p=>m.removeEvTemplateModal(d,p)},{default:a(()=>[n(b,{"fixed-width":"",icon:["fas","trash"]})]),_:2},1032,["onClick"])):c("",!0)]),key:"0"}]),1032,["title"]))),128))]))]),_:1}),n(B,{collapsible:!0,collapsed:e.$route.params.section!="charge_template"},{header:a(()=>[n(Z,{"fixed-width":"",class:"fa-lg"},{default:a(()=>[n(b,{"fixed-width":"",icon:["far","file"]}),n(b,{"fixed-width":"",icon:["fas","plug"],transform:"shrink-8"})]),_:1}),l(" Lade-Profile ")]),actions:a(()=>[e.$store.state.mqtt["openWB/general/extern"]===!1?(r(),f(U,{key:0,class:"bg-success clickable",onClick:m.addChargeTemplate},{default:a(()=>[n(b,{"fixed-width":"",icon:["fas","plus"]})]),_:1},8,["onClick"])):c("",!0)]),default:a(()=>[e.$store.state.mqtt["openWB/general/extern"]===!0?(r(),h("div",Ne,[n(A,{subtype:"info"},{default:a(()=>[l(' Diese Einstellungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. ')]),_:1})])):(r(),h("div",Ie,[(r(!0),h(y,null,E(m.chargeTemplates,(i,d)=>(r(),f(B,{key:d,title:i.name?i.name:d,collapsible:!0,collapsed:!(e.$route.params.section=="charge_template"&&parseInt(e.$route.params.section_index)==m.getChargeTemplateIndex(d))},M({default:a(()=>[n(P,{title:"Bezeichnung","model-value":i.name,"onUpdate:modelValue":t=>e.updateState(d,t,"name"),disabled:d.endsWith("/0")},M({_:2},[d.endsWith("/0")?{name:"help",fn:a(()=>[l(" Das Standard-Profil kann nicht umbenannt werden. ")]),key:"0"}:void 0]),1032,["model-value","onUpdate:modelValue","disabled"]),n(L,null,{default:a(()=>[l(" Allgemeine Optionen ")]),_:1}),n(v,{title:"Aktiver Lademodus",buttons:[{buttonValue:"instant_charging",text:"Sofortladen",class:"btn-outline-danger"},{buttonValue:"pv_charging",text:"PV",class:"btn-outline-success"},{buttonValue:"scheduled_charging",text:"Zielladen",class:"btn-outline-primary"},{buttonValue:"standby",text:"Standby",class:"btn-outline-secondary"},{buttonValue:"stop",text:"Stop",class:"btn-outline-dark"}],"model-value":i.chargemode.selected,"onUpdate:modelValue":t=>e.updateState(d,t,"chargemode.selected")},{help:a(()=>[l(" Diese Einstellung entspricht dem gewählten Lademodus auf der Hauptseite und ist aktiv, wenn ein zugehöriges Fahrzeug angesteckt ist."),Oe,l(" Die zur Verfügung stehende Leistung wird intern anhand folgender Prioritätenliste auf die Fahrzeuge bzw. Ladepunkte verteilt:"),Re,$e]),_:2},1032,["model-value","onUpdate:modelValue"]),n(v,{title:"Priorität",buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":i.prio,"onUpdate:modelValue":t=>e.updateState(d,t,"prio")},{help:a(()=>[l(" Die Ladefreigabe mit dem jeweils eingestellten Mindeststrom erfolgt für alle Fahrzeuge, soweit die verfügbare Leistung ausreicht. Fahrzeuge mit Priorität werden bevorzugt mit mehr Leistung geladen, falls verfügbar. Erst wenn alle priorisierten Fahrzeuge die maximale Ladeleistung bekommen und noch zusätzlicher Überschuss vorhanden ist, wird auch für Fahrzeuge ohne Priorität mehr Leistung freigegeben. ")]),_:2},1032,["model-value","onUpdate:modelValue"]),n(v,{title:"Zeitladen",buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":i.time_charging.active,"onUpdate:modelValue":t=>e.updateState(d,t,"time_charging.active")},{help:a(()=>[l(' Der Lademodus Zeitladen kann parallel zu einem der anderen Lademodi aktiviert werden. Die Auswahl des Lademodus, der in der Regelung genutzt wird, erfolgt anhand der Übersicht in der Hilfe bei "Aktiver Lademodus". Wenn kein Zeitplan aktiv ist oder das Limit des Zeitplans erreicht wurde, wird der Lademodus verwendet, der bei "Aktiver Lademodus" ausgewählt ist. ')]),_:2},1032,["model-value","onUpdate:modelValue"]),n(v,{title:"Sperre nach Abstecken",buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":i.disable_after_unplug,"onUpdate:modelValue":t=>e.updateState(d,t,"disable_after_unplug")},{help:a(()=>[l(" Wird ein Fahrzeug mit diesem Profil abgesteckt, dann wird der betroffene Ladepunkt automatisch deaktiviert. ")]),_:2},1032,["model-value","onUpdate:modelValue"]),n(v,{title:"Standard nach Abstecken",buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":i.load_default,"onUpdate:modelValue":t=>e.updateState(d,t,"load_default")},{help:a(()=>[l(" Falls diese Option aktiviert ist, wird der betroffene Ladepunkt nach dem Abstecken auf das Standard Ladeprofil zurückgesetzt. ")]),_:2},1032,["model-value","onUpdate:modelValue"]),n(v,{title:"Strompreisbasiert Laden",buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":i.et.active,"onUpdate:modelValue":t=>e.updateState(d,t,"et.active")},null,8,["model-value","onUpdate:modelValue"]),i.et.active==!0?(r(),h("div",He,[!e.$store.state.mqtt["openWB/optional/et/provider"]||!e.$store.state.mqtt["openWB/optional/et/provider"].type?(r(),h("div",Je,[n(A,{subtype:"danger"},{default:a(()=>[l(" Bitte in den übergreifenden Ladeeinstellungen einen Strompreis-Anbieter konfigurieren. ")]),_:1})])):c("",!0),n(z,{title:"Preisgrenze für Zeit- & Sofortladen",min:"-80",max:"80",step:"0.01",precision:2,unit:"ct/kWh","model-value":i.et.max_price*1e5,"onUpdate:modelValue":t=>e.updateState(d,parseFloat((t/1e5).toFixed(7)),"et.max_price")},{help:a(()=>[l(" Für Zielladen werden die günstigsten Stunden ermittelt. ")]),_:2},1032,["model-value","onUpdate:modelValue"])])):c("",!0),je,n(L,null,{default:a(()=>[l("Sofortladen")]),_:1}),n(S,{title:"Soll-Ladestrom",min:6,max:32,step:1,unit:"A","model-value":i.chargemode.instant_charging.current,"onUpdate:modelValue":t=>e.updateState(d,t,"chargemode.instant_charging.current")},null,8,["model-value","onUpdate:modelValue"]),n(v,{title:"Begrenzung",buttons:[{buttonValue:"none",text:"Aus"},{buttonValue:"soc",text:"SoC"},{buttonValue:"amount",text:"Energie"}],"model-value":i.chargemode.instant_charging.limit.selected,"onUpdate:modelValue":t=>e.updateState(d,t,"chargemode.instant_charging.limit.selected")},{help:a(()=>[l(" Sofortladen kann ohne Fahrzeug-SoC-Begrenzung (Aus), mit Begrenzung des Fahrzeug-SoC (SoC) bei konfiguriertem SoC-Auslesemodul oder mittels Vorgabe eine gewünschten Energiemenge in kWh (Energie) genutzt werden. ")]),_:2},1032,["model-value","onUpdate:modelValue"]),n(S,{title:"SoC-Limit",min:5,max:100,step:5,unit:"%","model-value":i.chargemode.instant_charging.limit.soc,"onUpdate:modelValue":t=>e.updateState(d,t,"chargemode.instant_charging.limit.soc")},{help:a(()=>[l(' Um die Fahrzeug-SoC-Begrenzung nutzen zu können, muss ein SoC-Modul für das jeweilige Fahrzeug eingerichtet sein (siehe "Konfiguration" -> "Fahrzeuge" -> "SoC-Modul"). ')]),_:2},1032,["model-value","onUpdate:modelValue"]),n(z,{title:"Energie-Limit",unit:"kWh",min:1,max:100,step:1,"model-value":i.chargemode.instant_charging.limit.amount/1e3,"onUpdate:modelValue":t=>e.updateState(d,t*1e3,"chargemode.instant_charging.limit.amount")},{help:a(()=>[l(" Die geladene Energiemenge wird beim Wechsel des Lademodus oder nach dem Anstecken, wenn Sofortladen schon ausgewählt ist, neu gezählt. ")]),_:2},1032,["model-value","onUpdate:modelValue"]),Ge,n(L,null,{default:a(()=>[l("PV-Laden")]),_:1}),n(S,{title:"Minimaler Dauerstrom",min:0,max:11,step:1,unit:"A",labels:[{label:"Aus",value:0},{label:6,value:6},{label:7,value:7},{label:8,value:8},{label:9,value:9},{label:10,value:10},{label:11,value:11},{label:12,value:12},{label:13,value:13},{label:14,value:14},{label:15,value:15},{label:16,value:16}],"model-value":i.chargemode.pv_charging.min_current,"onUpdate:modelValue":t=>e.updateState(d,t,"chargemode.pv_charging.min_current")},{help:a(()=>[l(' Hier kann eine Stromstärke eingestellt werden, mit dem unabhängig vom vorhandenen Überschuss durchgeladen wird. Hierdurch wird z.B. an Tagen mit häufigem Sonne/Wolken-Wechsel oder mit nur wenig PV-Ertrag ein Laden ohne Unterbrechung ermöglicht. Folglich kann auch Netzbezug für das Fahrzeugladen entstehen, weshalb der niedrigste Stromwert empfohlen wird. Diese Einstellung entspricht weitestgehend dem Lademodus "Min+PV" der Version 1.x. ')]),_:2},1032,["model-value","onUpdate:modelValue"]),n(S,{title:"SoC-Limit",min:0,max:20,step:1,unit:"%",labels:[{label:5,value:5},{label:10,value:10},{label:15,value:15},{label:20,value:20},{label:25,value:25},{label:30,value:30},{label:35,value:35},{label:40,value:40},{label:45,value:45},{label:50,value:50},{label:55,value:55},{label:60,value:60},{label:65,value:65},{label:70,value:70},{label:75,value:75},{label:80,value:80},{label:85,value:85},{label:90,value:90},{label:95,value:95},{label:100,value:100},{label:"Aus",value:101}],"model-value":i.chargemode.pv_charging.max_soc,"onUpdate:modelValue":t=>e.updateState(d,t,"chargemode.pv_charging.max_soc")},{help:a(()=>[l(' Bei der Einstellung "100%" wird die Ladung sofort mit Erreichen der 100% beendet. Dadurch erfolgt KEIN Balancing der Batteriezellen. Ist dies gewünscht (sollte ab und an durchgeführt werden), muss hier "Aus" gewählt werden (Schieberegler ganz nach rechts stellen), um die Ladung MIT Balancing bis zur Beendigung durch das Fahrzeug weiterlaufen zu lassen.'),Qe,l(' Um die Fahrzeug-SoC-Begrenzung nutzen zu können, muss ein SoC-Modul für das jeweilige Fahrzeug eingerichtet sein (siehe "Konfiguration" -> "Fahrzeuge" -> "SoC-Modul"). ')]),_:2},1032,["model-value","onUpdate:modelValue"]),n(S,{title:"Mindest-SoC",min:0,max:19,step:1,unit:"%",labels:[{label:"Aus",value:0},{label:5,value:5},{label:10,value:10},{label:15,value:15},{label:20,value:20},{label:25,value:25},{label:30,value:30},{label:35,value:35},{label:40,value:40},{label:45,value:45},{label:50,value:50},{label:55,value:55},{label:60,value:60},{label:65,value:65},{label:70,value:70},{label:75,value:75},{label:80,value:80},{label:85,value:85},{label:90,value:90},{label:95,value:95}],"model-value":i.chargemode.pv_charging.min_soc,"onUpdate:modelValue":t=>e.updateState(d,t,"chargemode.pv_charging.min_soc")},{help:a(()=>[l(' Liegt der Fahrzeug-Ladestand (SoC) unter dem hier eingestellten Wert, dann wird bis zum Erreichen dieses Wertes mit dem eingestellten "Mindest-SoC-Strom" geladen. Dies dient der Sicherstellung eines "Mindest-SoC" - z.B. für eine immer abzudeckende Fahrzeugreichweite - auch wenn kein oder zu wenig Überschuss verfügbar ist (=> Laden mit anteilig Netzstrom). Nach dem Erreichen des "Mindest-SoC" wird bei verfügbarem Überschuss geladen.'),Xe,l(' Um die Fahrzeug-SoC-Begrenzung nutzen zu können, muss ein SoC-Modul für das jeweilige Fahrzeug eingerichtet sein (siehe "Konfiguration" -> "Fahrzeuge" -> "SoC-Modul"). ')]),_:2},1032,["model-value","onUpdate:modelValue"]),n(S,{title:"Mindest-SoC-Strom",min:6,max:32,step:1,unit:"A","model-value":i.chargemode.pv_charging.min_soc_current,"onUpdate:modelValue":t=>e.updateState(d,t,"chargemode.pv_charging.min_soc_current")},{help:a(()=>[l(' Wird der oben eingestellte "Mindest-SoC" des Fahrzeuges unterschritten, dann wird unabhängig vom Überschuss ein Ladevorgang mit dem hier festgelegten "Mindest-SoC-Strom" initiiert (ggf. mit anteilig Netzbezug). ')]),_:2},1032,["model-value","onUpdate:modelValue"]),n(v,{title:"Einspeisegrenze beachten",buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":i.chargemode.pv_charging.feed_in_limit,"onUpdate:modelValue":t=>e.updateState(d,t,"chargemode.pv_charging.feed_in_limit")},{help:a(()=>[l(' Erläuterung siehe "Ladeeinstellungen" -> "PV-Laden" -> "Regelparameter" -> "Regelpunkt Einspeisegrenze" ')]),_:2},1032,["model-value","onUpdate:modelValue"]),Ye,n(L,null,{actions:a(()=>[n(U,{class:"bg-success clickable",onClick:t=>m.addChargeTemplateSchedulePlan(d,t)},{default:a(()=>[n(b,{"fixed-width":"",icon:["fas","plus"]})]),_:2},1032,["onClick"])]),help:a(()=>[l(' Im Lademodus "Zielladen" wird der Ladestrom so angepasst, dass das Fahrzeug zum angegebenen Zeitpunkt den eingestellten SoC bzw. die einzuladende Energiemenge erreicht. Anhand des vorgegebenen Ladestroms wird der Zeitpunkt berechnet, an dem die Ladung spätestens starten muss.'),Ke,l(' Ist der berechnete Zeitpunkt des Ladestarts noch nicht erreicht, wird mit Überschuss geladen. Auch nach Erreichen des Ziel-SoCs wird mit Überschuss geladen, solange bis das "SoC-Limit" erreicht wird.'),et,l(" Kann der Ziel-SoC bzw. die Energiemenge NICHT erreicht werden, z.B. weil das Auto zu spät angesteckt wurde oder das Lastmanagement eingegriffen hat, wird bis 20 Minuten nach dem angegebenen Termin mit der Maximalstromstärke geladen. Danach wird der Termin verworfen und mit Überschuss geladen. ")]),default:a(()=>[l(" Zielladen ")]),_:2},1024),(r(!0),h(y,null,E(m.getChargeTemplateScheduledChargingPlans(d),(t,p)=>(r(),f(B,{key:p,title:t.name,collapsible:!0,collapsed:!0},{actions:a(u=>[u.collapsed==!0?(r(),h("span",{key:0,onClick:N(T=>e.updateState(p,!t.active,"active"),["stop"]),class:I(["subheader pill clickable",t.active?"bg-success":"bg-danger"])},[t.limit.selected=="soc"?(r(),h("span",nt,[n(b,{"fixed-width":"",icon:["fas","car-battery"]}),l(" "+V(t.limit.soc_scheduled)+"% ",1)])):c("",!0),t.limit.selected=="amount"?(r(),h("span",at,[n(b,{"fixed-width":"",icon:["fas","bolt"]}),l(" "+V(t.limit.amount/1e3)+"kWh ",1)])):c("",!0),n(b,{"fixed-width":"",icon:["fas","clock"]}),l(" "+V(t.time)+" ",1),t.frequency.selected=="once"?(r(),h("span",lt,[n(b,{"fixed-width":"",icon:["fas","calendar-day"]}),l(" "+V(e.formatDate(t.frequency.once)),1)])):c("",!0),t.frequency.selected=="daily"?(r(),h("span",it,[n(b,{"fixed-width":"",icon:["fas","calendar-week"]})])):c("",!0),t.frequency.selected=="weekly"?(r(),h("span",ot,[n(b,{"fixed-width":"",icon:["fas","calendar-alt"]})])):c("",!0)],10,tt)):c("",!0),u.collapsed==!1?(r(),f(U,{key:1,class:"bg-danger clickable",onClick:T=>m.removeChargeTemplateSchedulePlanModal(d,p,T)},{default:a(()=>[n(b,{"fixed-width":"",icon:["fas","trash"]})]),_:2},1032,["onClick"])):c("",!0)]),default:a(()=>[n(P,{title:"Bezeichnung","model-value":t.name,"onUpdate:modelValue":u=>e.updateState(p,u,"name")},null,8,["model-value","onUpdate:modelValue"]),n(v,{title:"Zeitpunkt aktiv",buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":t.active,"onUpdate:modelValue":u=>e.updateState(p,u,"active")},null,8,["model-value","onUpdate:modelValue"]),n(P,{title:"Ziel-Uhrzeit",subtype:"time","model-value":t.time,"onUpdate:modelValue":u=>e.updateState(p,u,"time")},{help:a(()=>[l(" Hier ist die gewünschte Uhrzeit einzustellen, zu welcher das Fahrzeug den gewünschten SoC bzw. die zu ladende Energiemenge BEREITS ERREICHT haben soll. ")]),_:2},1032,["model-value","onUpdate:modelValue"]),n(S,{title:"Ladestrom",min:6,max:32,step:1,unit:"A","model-value":t.current,"onUpdate:modelValue":u=>e.updateState(p,u,"current")},{help:a(()=>[l(" Mit dieser Stromstärke wird der Zeitpunkt berechnet, wann die Ladung mit Netzbezug gestartet werden muss. Wird der Ziel-SoC nicht zum angegebenen Termin erreicht, weil z.B. das Auto erst später angesteckt wurde, wird auch mit einer höheren Stromstärke geladen. Um etwas Puffer zu haben, empfiehlt es sich, etwas weniger als die Maximalstromstärke des Fahrzeugs zu wählen. ")]),_:2},1032,["model-value","onUpdate:modelValue"]),n(v,{title:"Ziel",buttons:[{buttonValue:"soc",text:"SoC"},{buttonValue:"amount",text:"Energie"}],"model-value":t.limit.selected,"onUpdate:modelValue":u=>e.updateState(p,u,"limit.selected")},{help:a(()=>[l(" Bestimmt die Art der Grenze für den Ladevorgang. ")]),_:2},1032,["model-value","onUpdate:modelValue"]),t.limit.selected=="soc"?(r(),f(S,{key:0,title:"Ziel-SoC",min:5,max:100,step:5,unit:"%","model-value":t.limit.soc_scheduled,"onUpdate:modelValue":u=>e.updateState(p,u,"limit.soc_scheduled")},{help:a(()=>[l(" SoC, der zum angegebenen Zeitpunkt erreicht werden soll. ")]),_:2},1032,["model-value","onUpdate:modelValue"])):c("",!0),t.limit.selected=="soc"?(r(),f(S,{key:1,title:"SoC-Limit",min:5,max:100,step:5,unit:"%","model-value":t.limit.soc_limit,"onUpdate:modelValue":u=>e.updateState(p,u,"limit.soc_limit")},{help:a(()=>[l(" Nach Erreichen des Ziel-SoCs wird mit Überschuss weiter geladen, bis das SoC-Limit erreicht wird. ")]),_:2},1032,["model-value","onUpdate:modelValue"])):c("",!0),t.limit.selected=="amount"?(r(),f(z,{key:2,title:"Ziel-Energie",unit:"kWh",min:1,step:.5,"model-value":t.limit.amount/1e3,"onUpdate:modelValue":u=>e.updateState(p,u*1e3,"limit.amount")},{help:a(()=>[l(" Die geladene Energiemenge wird beim Wechsel des Lademodus, Wechsel des Plans oder nach dem Anstecken, wenn Zielladen schon ausgewählt ist, neu gezählt. ")]),_:2},1032,["model-value","onUpdate:modelValue"])):c("",!0),n(v,{title:"Wiederholungen",buttons:[{buttonValue:"once",text:"Einmalig",class:"btn-outline-info"},{buttonValue:"daily",text:"Täglich",class:"btn-outline-info"},{buttonValue:"weekly",text:"Wöchentlich",class:"btn-outline-info"}],"model-value":t.frequency.selected,"onUpdate:modelValue":u=>e.updateState(p,u,"frequency.selected")},null,8,["model-value","onUpdate:modelValue"]),t.frequency.selected=="once"?(r(),f(P,{key:3,title:"Datum",subtype:"date","model-value":t.frequency.once,"onUpdate:modelValue":u=>e.updateState(p,u,"frequency.once")},null,8,["model-value","onUpdate:modelValue"])):c("",!0),t.frequency.selected=="weekly"?(r(),h("div",dt,[(r(!0),h(y,null,E(e.weekdays,(u,T)=>(r(),f(v,{key:T,title:u,buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}],"model-value":t.frequency.weekly[T],"onUpdate:modelValue":D=>e.updateState(p,D,"frequency.weekly."+T)},null,8,["title","model-value","onUpdate:modelValue"]))),128))])):c("",!0)]),_:2},1032,["title"]))),128)),rt,n(L,null,{actions:a(()=>[n(U,{class:"bg-success clickable",onClick:t=>m.addChargeTemplateTimeChargingPlan(d,t)},{default:a(()=>[n(b,{"fixed-width":"",icon:["fas","plus"]})]),_:2},1032,["onClick"])]),help:a(()=>[l(" Mit einem Zeitplan kann ein klar abgegrenzter Zeitbereich zum Fahrzeugladen definiert werden. Dies wird häufig genutzt, um einem Fahrzeug kurz vor der Abfahrt Strom anzubieten, damit dessen Vorklimatisierung nicht aus dem Fahrzeugakku, sondern aus der openWB bezogen wird (Enteisung, Vorwärmung, Abkühlung). Nicht von der Vorklimatisierung benötigter Strom erhöht dabei den Fahrzeug-SoC. Um das Stromnetz am Morgen nicht unnötig zu strapazieren, sollte eine moderate Stromvorgabe und ein beschränkter Zeitbereich vorgegeben werden (z.B. max. 10A; 30min - in Übereinstimmung mit den Fahrzeug-App-Vorklimatisierungsvorgaben). ")]),default:a(()=>[l(" Laden nach Zeitplan ")]),_:2},1024),(r(!0),h(y,null,E(m.getChargeTemplateTimeChargingPlans(d),(t,p)=>(r(),f(B,{key:p,title:t.name,collapsible:!0,collapsed:!0},{actions:a(u=>[u.collapsed==!0?(r(),h("span",{key:0,onClick:N(T=>e.updateState(p,!t.active,"active"),["stop"]),class:I(["subheader pill clickable",t.active?"bg-success":"bg-danger"])},[t.limit.selected=="soc"?(r(),h("span",st,[n(b,{"fixed-width":"",icon:["fas","car-battery"]}),l(" "+V(t.limit.soc)+"% ",1)])):c("",!0),t.limit.selected=="amount"?(r(),h("span",mt,[n(b,{"fixed-width":"",icon:["fas","bolt"]}),l(" "+V(t.limit.amount/1e3)+"kWh ",1)])):c("",!0),n(b,{"fixed-width":"",icon:["fas","clock"]}),l(" "+V(t.time[0])+" - "+V(t.time[1])+" ",1),t.frequency.selected=="once"?(r(),h("span",ct,[n(b,{"fixed-width":"",icon:["fas","calendar-day"]}),l(" "+V(e.formatDate(t.frequency.once[0])==e.formatDate(t.frequency.once[1])?e.formatDate(t.frequency.once[0]):e.formatDate(t.frequency.once[0])+" - "+e.formatDate(t.frequency.once[1])),1)])):c("",!0),t.frequency.selected=="daily"?(r(),h("span",ht,[n(b,{"fixed-width":"",icon:["fas","calendar-week"]})])):c("",!0),t.frequency.selected=="weekly"?(r(),h("span",gt,[n(b,{"fixed-width":"",icon:["fas","calendar-alt"]})])):c("",!0)],10,ut)):c("",!0),u.collapsed==!1?(r(),f(U,{key:1,class:"bg-danger clickable",onClick:T=>m.removeChargeTemplateTimeChargingPlanModal(d,p,T)},{default:a(()=>[n(b,{"fixed-width":"",icon:["fas","trash"]})]),_:2},1032,["onClick"])):c("",!0)]),default:a(()=>[n(P,{title:"Bezeichnung","model-value":t.name,"onUpdate:modelValue":u=>e.updateState(p,u,"name")},null,8,["model-value","onUpdate:modelValue"]),n(v,{title:"Zeitplan aktiv",buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":t.active,"onUpdate:modelValue":u=>e.updateState(p,u,"active")},null,8,["model-value","onUpdate:modelValue"]),n(S,{title:"Ladestrom",min:6,max:32,step:1,unit:"A","model-value":t.current,"onUpdate:modelValue":u=>e.updateState(p,u,"current")},null,8,["model-value","onUpdate:modelValue"]),n(v,{title:"Ziel",buttons:[{buttonValue:"none",text:"Aus"},{buttonValue:"soc",text:"SoC"},{buttonValue:"amount",text:"Energie"}],"model-value":t.limit.selected,"onUpdate:modelValue":u=>e.updateState(p,u,"limit.selected")},{help:a(()=>[l(" Bestimmt die Art der Grenze für den Ladevorgang. ")]),_:2},1032,["model-value","onUpdate:modelValue"]),t.limit.selected=="soc"?(r(),f(S,{key:0,title:"Ziel-SoC",min:5,max:100,step:5,unit:"%","model-value":t.limit.soc,"onUpdate:modelValue":u=>e.updateState(p,u,"limit.soc")},{help:a(()=>[l(" Ladestand des Akku (State of Charge, SoC), bis zu welchem maximal geladen werden soll. ")]),_:2},1032,["model-value","onUpdate:modelValue"])):c("",!0),t.limit.selected=="amount"?(r(),f(z,{key:1,title:"Ziel-Energie",unit:"kWh",min:1,step:.5,"model-value":t.limit.amount/1e3,"onUpdate:modelValue":u=>e.updateState(p,u*1e3,"limit.amount")},{help:a(()=>[l(" Maximal zu ladende Energie innerhalb des Zeitfensters. Eignet sich immer dann wenn kein SoC zur Verfügung steht. Die geladene Energiemenge wird beim Wechsel des Lademodus, Wechsel des Plans oder nach dem Anstecken, wenn Zeitladen schon aktiv ist, neu gezählt. ")]),_:2},1032,["model-value","onUpdate:modelValue"])):c("",!0),n(P,{title:"Zeitpunkt des Ladebeginns",subtype:"time","model-value":t.time[0],"onUpdate:modelValue":u=>e.updateState(p,u,"time.0")},null,8,["model-value","onUpdate:modelValue"]),n(P,{title:"Zeitpunkt des Ladeendes",subtype:"time","model-value":t.time[1],"onUpdate:modelValue":u=>e.updateState(p,u,"time.1")},null,8,["model-value","onUpdate:modelValue"]),n(v,{title:"Wiederholungen",buttons:[{buttonValue:"once",text:"Einmalig",class:"btn-outline-info"},{buttonValue:"daily",text:"Täglich",class:"btn-outline-info"},{buttonValue:"weekly",text:"Wöchentlich",class:"btn-outline-info"}],"model-value":t.frequency.selected,"onUpdate:modelValue":u=>e.updateState(p,u,"frequency.selected")},null,8,["model-value","onUpdate:modelValue"]),t.frequency.selected=="once"?(r(),f(P,{key:2,title:"Gültig ab",subtype:"date","model-value":t.frequency.once[0],"onUpdate:modelValue":u=>e.updateState(p,u,"frequency.once.0")},null,8,["model-value","onUpdate:modelValue"])):c("",!0),t.frequency.selected=="once"?(r(),f(P,{key:3,title:"Gültig bis",subtype:"date",min:t.frequency.once[0],"model-value":t.frequency.once[1],"onUpdate:modelValue":u=>e.updateState(p,u,"frequency.once.1")},null,8,["min","model-value","onUpdate:modelValue"])):c("",!0),t.frequency.selected=="weekly"?(r(),h("div",pt,[(r(!0),h(y,null,E(e.weekdays,(u,T)=>(r(),f(v,{key:T,title:u,buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}],"model-value":t.frequency.weekly[T],"onUpdate:modelValue":D=>e.updateState(p,D,"frequency.weekly."+T)},null,8,["title","model-value","onUpdate:modelValue"]))),128))])):c("",!0)]),_:2},1032,["title"]))),128))]),_:2},[d.endsWith("/0")?void 0:{name:"actions",fn:a(t=>[t.collapsed?c("",!0):(r(),f(U,{key:0,class:"bg-danger clickable",onClick:p=>m.removeChargeTemplateModal(d,p)},{default:a(()=>[n(b,{"fixed-width":"",icon:["fas","trash"]})]),_:2},1032,["onClick"]))]),key:"0"}]),1032,["title","collapsed"]))),128))]))]),_:1},8,["collapsed"]),n($,{formName:"vehicleConfigForm",onSave:o[5]||(o[5]=i=>e.$emit("save")),onReset:o[6]||(o[6]=i=>e.$emit("reset")),onDefaults:o[7]||(o[7]=i=>e.$emit("defaults"))})])])],64)}const zt=x(we,[["render",bt],["__scopeId","data-v-d7193cf0"],["__file","/opt/openWB-dev/openwb-ui-settings/src/views/VehicleConfig.vue"]]);export{zt as default}; diff --git a/web/settings/assets/backup_cloud-bd2a7ae2.js b/web/settings/assets/backup_cloud-1032af80.js similarity index 84% rename from web/settings/assets/backup_cloud-bd2a7ae2.js rename to web/settings/assets/backup_cloud-1032af80.js index 3c27594033..290f8cff62 100644 --- a/web/settings/assets/backup_cloud-bd2a7ae2.js +++ b/web/settings/assets/backup_cloud-1032af80.js @@ -1 +1 @@ -import{_ as s,q as c,k as p,l as r,B as d}from"./vendor-f0f38b48.js";import"./vendor-sortablejs-cbf37f8f.js";const i={name:"BackupCloudNfs",emits:["update:configuration"],props:{backupCloud:{type:Object,required:!0}},data(){return{}},methods:{updateConfiguration(t,e=void 0){this.$emit("update:configuration",{value:t,object:e})}}},l={class:"backup-cloud-nfs"};function _(t,e,o,f,m,n){const a=c("openwb-base-text-input");return p(),r("div",l,[d(a,{title:"Pfad zum NFS Share",pattern:"^([^/: ]+):(\\/[^/: ]+)+$","model-value":o.backupCloud.configuration.nfs_share,"onUpdate:modelValue":e[0]||(e[0]=u=>n.updateConfiguration(u,"configuration.nfs_share"))},null,8,["model-value"])])}const g=s(i,[["render",_],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/backup_clouds/nfs/backup_cloud.vue"]]);export{g as default}; +import{_ as s,q as c,k as p,l as r,B as d}from"./vendor-493c2bec.js";import"./vendor-sortablejs-0b339223.js";const i={name:"BackupCloudNfs",emits:["update:configuration"],props:{backupCloud:{type:Object,required:!0}},data(){return{}},methods:{updateConfiguration(t,e=void 0){this.$emit("update:configuration",{value:t,object:e})}}},l={class:"backup-cloud-nfs"};function _(t,e,o,f,m,n){const a=c("openwb-base-text-input");return p(),r("div",l,[d(a,{title:"Pfad zum NFS Share",pattern:"^([^/: ]+):(\\/[^/: ]+)+$","model-value":o.backupCloud.configuration.nfs_share,"onUpdate:modelValue":e[0]||(e[0]=u=>n.updateConfiguration(u,"configuration.nfs_share"))},null,8,["model-value"])])}const g=s(i,[["render",_],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/backup_clouds/nfs/backup_cloud.vue"]]);export{g as default}; diff --git a/web/settings/assets/backup_cloud-56c2247a.js b/web/settings/assets/backup_cloud-7c272c6d.js similarity index 96% rename from web/settings/assets/backup_cloud-56c2247a.js rename to web/settings/assets/backup_cloud-7c272c6d.js index 0b35a5b594..aa24ec97bb 100644 --- a/web/settings/assets/backup_cloud-56c2247a.js +++ b/web/settings/assets/backup_cloud-7c272c6d.js @@ -1 +1 @@ -import{_ as d,q as s,k as p,l as m,B as a,M as b,x as l,u as r}from"./vendor-f0f38b48.js";import"./vendor-sortablejs-cbf37f8f.js";const c={name:"BackupCloudSamba",emits:["update:configuration"],props:{backupCloud:{type:Object,required:!0}},data(){return{}},methods:{updateConfiguration(i,e=void 0){this.$emit("update:configuration",{value:i,object:e})}}},_={class:"backup-cloud-samba"},f=r("br",null,null,-1),g=r("br",null,null,-1),v=r("br",null,null,-1);function C(i,e,t,k,w,u){const n=s("openwb-base-text-input");return p(),m("div",_,[a(n,{title:"Server",subtype:"host",required:"","model-value":t.backupCloud.configuration.smb_server,"onUpdate:modelValue":e[0]||(e[0]=o=>u.updateConfiguration(o,"configuration.smb_server"))},null,8,["model-value"]),a(n,{title:"Freigabe",required:"","model-value":t.backupCloud.configuration.smb_share,"onUpdate:modelValue":e[1]||(e[1]=o=>u.updateConfiguration(o,"configuration.smb_share"))},null,8,["model-value"]),a(n,{title:"Unterordner (optional)","model-value":t.backupCloud.configuration.smb_path,pattern:'([^\\\\:"\\|*?<>]+/)*',"onUpdate:modelValue":e[2]||(e[2]=o=>u.updateConfiguration(o,"configuration.smb_path"))},{help:b(()=>[l(" Jeder Unterordner muss mit / enden."),f,l(' Die Zeichen \\:"|*?<> sind verboten!'),g,l(" Beispiel 1: openwb/ "),v,l(" Beispiel 2: openwb/lp2/ ")]),_:1},8,["model-value"]),a(n,{title:"Benutzer",subtype:"user","model-value":t.backupCloud.configuration.smb_user,"onUpdate:modelValue":e[3]||(e[3]=o=>u.updateConfiguration(o,"configuration.smb_user"))},null,8,["model-value"]),a(n,{title:"Kennwort",subtype:"password","model-value":t.backupCloud.configuration.smb_password,"onUpdate:modelValue":e[4]||(e[4]=o=>u.updateConfiguration(o,"configuration.smb_password"))},null,8,["model-value"])])}const V=d(c,[["render",C],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/backup_clouds/samba/backup_cloud.vue"]]);export{V as default}; +import{_ as d,q as s,k as p,l as m,B as a,M as b,x as l,u as r}from"./vendor-493c2bec.js";import"./vendor-sortablejs-0b339223.js";const c={name:"BackupCloudSamba",emits:["update:configuration"],props:{backupCloud:{type:Object,required:!0}},data(){return{}},methods:{updateConfiguration(i,e=void 0){this.$emit("update:configuration",{value:i,object:e})}}},_={class:"backup-cloud-samba"},f=r("br",null,null,-1),g=r("br",null,null,-1),v=r("br",null,null,-1);function C(i,e,t,k,w,u){const n=s("openwb-base-text-input");return p(),m("div",_,[a(n,{title:"Server",subtype:"host",required:"","model-value":t.backupCloud.configuration.smb_server,"onUpdate:modelValue":e[0]||(e[0]=o=>u.updateConfiguration(o,"configuration.smb_server"))},null,8,["model-value"]),a(n,{title:"Freigabe",required:"","model-value":t.backupCloud.configuration.smb_share,"onUpdate:modelValue":e[1]||(e[1]=o=>u.updateConfiguration(o,"configuration.smb_share"))},null,8,["model-value"]),a(n,{title:"Unterordner (optional)","model-value":t.backupCloud.configuration.smb_path,pattern:'([^\\\\:"\\|*?<>]+/)*',"onUpdate:modelValue":e[2]||(e[2]=o=>u.updateConfiguration(o,"configuration.smb_path"))},{help:b(()=>[l(" Jeder Unterordner muss mit / enden."),f,l(' Die Zeichen \\:"|*?<> sind verboten!'),g,l(" Beispiel 1: openwb/ "),v,l(" Beispiel 2: openwb/lp2/ ")]),_:1},8,["model-value"]),a(n,{title:"Benutzer",subtype:"user","model-value":t.backupCloud.configuration.smb_user,"onUpdate:modelValue":e[3]||(e[3]=o=>u.updateConfiguration(o,"configuration.smb_user"))},null,8,["model-value"]),a(n,{title:"Kennwort",subtype:"password","model-value":t.backupCloud.configuration.smb_password,"onUpdate:modelValue":e[4]||(e[4]=o=>u.updateConfiguration(o,"configuration.smb_password"))},null,8,["model-value"])])}const V=d(c,[["render",C],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/backup_clouds/samba/backup_cloud.vue"]]);export{V as default}; diff --git a/web/settings/assets/backup_cloud-9f2fcfd9.js b/web/settings/assets/backup_cloud-da728d0d.js similarity index 95% rename from web/settings/assets/backup_cloud-9f2fcfd9.js rename to web/settings/assets/backup_cloud-da728d0d.js index c2be5cd918..6a02867b20 100644 --- a/web/settings/assets/backup_cloud-9f2fcfd9.js +++ b/web/settings/assets/backup_cloud-da728d0d.js @@ -1 +1 @@ -import{_ as l,q as s,k as r,l as i,B as a,M as p,x as c}from"./vendor-f0f38b48.js";import"./vendor-sortablejs-cbf37f8f.js";const m={name:"BackupCloudNextCloud",emits:["update:configuration"],props:{backupCloud:{type:Object,required:!0}},data(){return{}},methods:{updateConfiguration(d,e=void 0){this.$emit("update:configuration",{value:d,object:e})}}},f={class:"backup-cloud-next-cloud"};function _(d,e,o,b,g,u){const n=s("openwb-base-text-input");return r(),i("div",f,[a(n,{title:"Cloud-URL",subtype:"host",required:"","model-value":o.backupCloud.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=t=>u.updateConfiguration(t,"configuration.ip_address"))},{help:p(()=>[c(" Die Cloud-URL wird in der Form 'https://nextcloud-url' und Benutzername im Eingabefeld oder mit Zugangstoken erwartet. Die URL kann je nach NextCloud Installation so 'https://nextcloud-url/s/user_token' oder so 'https://nextcloud-url/index.php/s/user_token' aussehen. ")]),_:1},8,["model-value"]),a(n,{title:"Benutzername",subtype:"user","model-value":o.backupCloud.configuration.user,"onUpdate:modelValue":e[1]||(e[1]=t=>u.updateConfiguration(t,"configuration.user"))},null,8,["model-value"]),a(n,{title:"Passwort",subtype:"password","model-value":o.backupCloud.configuration.password,"onUpdate:modelValue":e[2]||(e[2]=t=>u.updateConfiguration(t,"configuration.password"))},null,8,["model-value"])])}const C=l(m,[["render",_],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/backup_clouds/nextcloud/backup_cloud.vue"]]);export{C as default}; +import{_ as l,q as s,k as r,l as i,B as a,M as p,x as c}from"./vendor-493c2bec.js";import"./vendor-sortablejs-0b339223.js";const m={name:"BackupCloudNextCloud",emits:["update:configuration"],props:{backupCloud:{type:Object,required:!0}},data(){return{}},methods:{updateConfiguration(d,e=void 0){this.$emit("update:configuration",{value:d,object:e})}}},f={class:"backup-cloud-next-cloud"};function _(d,e,o,b,g,u){const n=s("openwb-base-text-input");return r(),i("div",f,[a(n,{title:"Cloud-URL",subtype:"host",required:"","model-value":o.backupCloud.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=t=>u.updateConfiguration(t,"configuration.ip_address"))},{help:p(()=>[c(" Die Cloud-URL wird in der Form 'https://nextcloud-url' und Benutzername im Eingabefeld oder mit Zugangstoken erwartet. Die URL kann je nach NextCloud Installation so 'https://nextcloud-url/s/user_token' oder so 'https://nextcloud-url/index.php/s/user_token' aussehen. ")]),_:1},8,["model-value"]),a(n,{title:"Benutzername",subtype:"user","model-value":o.backupCloud.configuration.user,"onUpdate:modelValue":e[1]||(e[1]=t=>u.updateConfiguration(t,"configuration.user"))},null,8,["model-value"]),a(n,{title:"Passwort",subtype:"password","model-value":o.backupCloud.configuration.password,"onUpdate:modelValue":e[2]||(e[2]=t=>u.updateConfiguration(t,"configuration.password"))},null,8,["model-value"])])}const C=l(m,[["render",_],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/backup_clouds/nextcloud/backup_cloud.vue"]]);export{C as default}; diff --git a/web/settings/assets/backup_cloud-879a1fbe.js b/web/settings/assets/backup_cloud-e0f25455.js similarity index 98% rename from web/settings/assets/backup_cloud-879a1fbe.js rename to web/settings/assets/backup_cloud-e0f25455.js index 44a1bdf93e..a05e3fa39e 100644 --- a/web/settings/assets/backup_cloud-879a1fbe.js +++ b/web/settings/assets/backup_cloud-e0f25455.js @@ -1 +1 @@ -import{_ as b,q as d,k as f,l as g,B as t,M as o,x as n,u as r}from"./vendor-f0f38b48.js";import"./vendor-sortablejs-cbf37f8f.js";const _={name:"BackupCloudOneDrive",emits:["update:configuration","sendCommand"],props:{backupCloud:{type:Object,required:!0}},data(){return{}},methods:{updateConfiguration(u,e=void 0){this.$emit("update:configuration",{value:u,object:e})},sendSystemCommand(u,e={}){this.$emit("sendCommand",{command:u,data:e})}}},h={class:"backup-cloud-one-drive"},v=r("br",null,null,-1),k=r("br",null,null,-1),w=r("br",null,null,-1),C=r("br",null,null,-1),B=r("a",{href:"https://docs.microsoft.com/en-us/azure/active-directory/develop/v2-oauth2-device-code",target:"_blank",rel:"noopener noreferrer"},"https://docs.microsoft.com/en-us/azure/active-directory/develop/v2-oauth2-device-code",-1),y=r("a",{href:"https://learn.microsoft.com/en-us/azure/active-directory/develop/msal-client-applications",target:"_blank",rel:"noopener noreferrer"},"https://learn.microsoft.com/en-us/azure/active-directory/develop/msal-client-applications",-1);function x(u,e,i,A,z,s){const p=d("openwb-base-alert"),a=d("openwb-base-text-input"),m=d("openwb-base-heading"),c=d("openwb-base-button-input");return f(),g("div",h,[t(p,{subtype:"info"},{default:o(()=>[n(" Zum Abruf der Zugangsberechtigung bitte die Konfiguration speichern, dann die Schritte 1-4 durchführen und danach die Konfiguration erneut speichern. "),v,n(" Auth Code und URL werden nur einmal benötigt werden nach erfolgreicher Autorisierung wieder gelöscht. ")]),_:1}),t(a,{title:"Backupverzeichnis in OneDrive",subtype:"text",required:"",pattern:"^/(.*/)*","model-value":i.backupCloud.configuration.backuppath,"onUpdate:modelValue":e[0]||(e[0]=l=>s.updateConfiguration(l,"configuration.backuppath"))},{help:o(()=>[n(" In diesem Verzeichnis werden die Backupdateien erstellt. Bitte den Pfad mit / beenden. "),k,n(" Beispiel: /openWB/Backup/ ")]),_:1},8,["model-value"]),t(a,{title:"Anmeldedaten auf openWB gespeichert",readonly:"","model-value":i.backupCloud.configuration.persistent_tokencache?"Ja":"Nein"},null,8,["model-value"]),t(m,null,{default:o(()=>[n(" Zugang zu OneDrive für diese openWB autorisieren ")]),_:1}),t(c,{title:"1. Anmeldeanforderung erstellen",buttonText:"Autorisierungs-Code anfordern",subtype:"success",onButtonClicked:e[1]||(e[1]=l=>s.sendSystemCommand("requestMSALAuthCode",{}))},{help:o(()=>[n(" Es werden Zugangstokens für OneDrive angefordert. Diese werden nur lokal auf dieser openWB gespeichert. Genutzt wird Device Flow mit public application."),w,n(" Weitere Infos:"),C,B,y]),_:1}),t(a,{title:"2. Diesen Code kopieren",subtype:"text",readonly:"","model-value":i.backupCloud.configuration.authcode},null,8,["model-value"]),t(a,{title:"3. Anmelde-URL aufrufen",subtype:"url",readonly:"","model-value":i.backupCloud.configuration.authurl},{help:o(()=>[n(" Diese URL im Browser öffnen und den Code eingeben. Dies erzeugt die notwendigen Zugangsberechtigung für diese openWB. ")]),_:1},8,["model-value"]),t(c,{title:"4. Token abrufen und speichern",buttonText:"Autorisierungs-Token abrufen",subtype:"success",onButtonClicked:e[2]||(e[2]=l=>s.sendSystemCommand("retrieveMSALTokens",{}))},{help:o(()=>[n(" Zugangstoken wird abgerufen und gespeichert, damit das Backup durchgeführt werden kann. Zugangstoken werden nur lokal auf dieser openWB gespeichert. ")]),_:1})])}const Z=b(_,[["render",x],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/backup_clouds/onedrive/backup_cloud.vue"]]);export{Z as default}; +import{_ as b,q as d,k as f,l as g,B as t,M as o,x as n,u as r}from"./vendor-493c2bec.js";import"./vendor-sortablejs-0b339223.js";const _={name:"BackupCloudOneDrive",emits:["update:configuration","sendCommand"],props:{backupCloud:{type:Object,required:!0}},data(){return{}},methods:{updateConfiguration(u,e=void 0){this.$emit("update:configuration",{value:u,object:e})},sendSystemCommand(u,e={}){this.$emit("sendCommand",{command:u,data:e})}}},h={class:"backup-cloud-one-drive"},v=r("br",null,null,-1),k=r("br",null,null,-1),w=r("br",null,null,-1),C=r("br",null,null,-1),B=r("a",{href:"https://docs.microsoft.com/en-us/azure/active-directory/develop/v2-oauth2-device-code",target:"_blank",rel:"noopener noreferrer"},"https://docs.microsoft.com/en-us/azure/active-directory/develop/v2-oauth2-device-code",-1),y=r("a",{href:"https://learn.microsoft.com/en-us/azure/active-directory/develop/msal-client-applications",target:"_blank",rel:"noopener noreferrer"},"https://learn.microsoft.com/en-us/azure/active-directory/develop/msal-client-applications",-1);function x(u,e,i,A,z,s){const p=d("openwb-base-alert"),a=d("openwb-base-text-input"),m=d("openwb-base-heading"),c=d("openwb-base-button-input");return f(),g("div",h,[t(p,{subtype:"info"},{default:o(()=>[n(" Zum Abruf der Zugangsberechtigung bitte die Konfiguration speichern, dann die Schritte 1-4 durchführen und danach die Konfiguration erneut speichern. "),v,n(" Auth Code und URL werden nur einmal benötigt werden nach erfolgreicher Autorisierung wieder gelöscht. ")]),_:1}),t(a,{title:"Backupverzeichnis in OneDrive",subtype:"text",required:"",pattern:"^/(.*/)*","model-value":i.backupCloud.configuration.backuppath,"onUpdate:modelValue":e[0]||(e[0]=l=>s.updateConfiguration(l,"configuration.backuppath"))},{help:o(()=>[n(" In diesem Verzeichnis werden die Backupdateien erstellt. Bitte den Pfad mit / beenden. "),k,n(" Beispiel: /openWB/Backup/ ")]),_:1},8,["model-value"]),t(a,{title:"Anmeldedaten auf openWB gespeichert",readonly:"","model-value":i.backupCloud.configuration.persistent_tokencache?"Ja":"Nein"},null,8,["model-value"]),t(m,null,{default:o(()=>[n(" Zugang zu OneDrive für diese openWB autorisieren ")]),_:1}),t(c,{title:"1. Anmeldeanforderung erstellen",buttonText:"Autorisierungs-Code anfordern",subtype:"success",onButtonClicked:e[1]||(e[1]=l=>s.sendSystemCommand("requestMSALAuthCode",{}))},{help:o(()=>[n(" Es werden Zugangstokens für OneDrive angefordert. Diese werden nur lokal auf dieser openWB gespeichert. Genutzt wird Device Flow mit public application."),w,n(" Weitere Infos:"),C,B,y]),_:1}),t(a,{title:"2. Diesen Code kopieren",subtype:"text",readonly:"","model-value":i.backupCloud.configuration.authcode},null,8,["model-value"]),t(a,{title:"3. Anmelde-URL aufrufen",subtype:"url",readonly:"","model-value":i.backupCloud.configuration.authurl},{help:o(()=>[n(" Diese URL im Browser öffnen und den Code eingeben. Dies erzeugt die notwendigen Zugangsberechtigung für diese openWB. ")]),_:1},8,["model-value"]),t(c,{title:"4. Token abrufen und speichern",buttonText:"Autorisierungs-Token abrufen",subtype:"success",onButtonClicked:e[2]||(e[2]=l=>s.sendSystemCommand("retrieveMSALTokens",{}))},{help:o(()=>[n(" Zugangstoken wird abgerufen und gespeichert, damit das Backup durchgeführt werden kann. Zugangstoken werden nur lokal auf dieser openWB gespeichert. ")]),_:1})])}const Z=b(_,[["render",x],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/backup_clouds/onedrive/backup_cloud.vue"]]);export{Z as default}; diff --git a/web/settings/assets/bat-7eb3e707.js b/web/settings/assets/bat-066870ba.js similarity index 93% rename from web/settings/assets/bat-7eb3e707.js rename to web/settings/assets/bat-066870ba.js index 1f365c9c9a..57cd83d5c5 100644 --- a/web/settings/assets/bat-7eb3e707.js +++ b/web/settings/assets/bat-066870ba.js @@ -1 +1 @@ -import{_ as c,q as n,k as p,l as d,B as o,M as a,x as s,u,y as l}from"./vendor-f0f38b48.js";import"./vendor-sortablejs-cbf37f8f.js";const _={name:"DeviceBatterXBat",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(e,t=void 0){this.$emit("update:configuration",{value:e,object:t})}}},b={class:"device-batterx-bat"},f={class:"small"};function m(e,t,g,h,v,B){const i=n("openwb-base-heading"),r=n("openwb-base-alert");return p(),d("div",b,[o(i,null,{default:a(()=>[s(" Einstellungen für BatterX Batteriespeicher "),u("span",f,"(Modul: "+l(e.$options.name)+")",1)]),_:1}),o(r,{subtype:"info"},{default:a(()=>[s(" Diese Komponente benötigt keine Einstellungen. ")]),_:1})])}const $=c(_,[["render",m],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/batterx/bat.vue"]]);export{$ as default}; +import{_ as c,q as n,k as p,l as d,B as o,M as a,x as s,u,y as l}from"./vendor-493c2bec.js";import"./vendor-sortablejs-0b339223.js";const _={name:"DeviceBatterXBat",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(e,t=void 0){this.$emit("update:configuration",{value:e,object:t})}}},b={class:"device-batterx-bat"},f={class:"small"};function m(e,t,g,h,v,B){const i=n("openwb-base-heading"),r=n("openwb-base-alert");return p(),d("div",b,[o(i,null,{default:a(()=>[s(" Einstellungen für BatterX Batteriespeicher "),u("span",f,"(Modul: "+l(e.$options.name)+")",1)]),_:1}),o(r,{subtype:"info"},{default:a(()=>[s(" Diese Komponente benötigt keine Einstellungen. ")]),_:1})])}const $=c(_,[["render",m],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/batterx/bat.vue"]]);export{$ as default}; diff --git a/web/settings/assets/bat-1cd49cd6.js b/web/settings/assets/bat-1302bc88.js similarity index 87% rename from web/settings/assets/bat-1cd49cd6.js rename to web/settings/assets/bat-1302bc88.js index 71159ac2a0..6cc9f2c542 100644 --- a/web/settings/assets/bat-1cd49cd6.js +++ b/web/settings/assets/bat-1302bc88.js @@ -1 +1 @@ -import{_ as d,q as n,k as c,l as p,B as o,M as l,x as m,u as _,y as f}from"./vendor-f0f38b48.js";import"./vendor-sortablejs-cbf37f8f.js";const b={name:"DeviceFroniusBat",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(t,e=void 0){this.$emit("update:configuration",{value:t,object:e})}}},g={class:"device-fronius-bat"},v={class:"small"};function h(t,e,a,B,w,i){const s=n("openwb-base-heading"),r=n("openwb-base-number-input");return c(),p("div",g,[o(s,null,{default:l(()=>[m(" Einstellungen für Fronius Batteriespeicher "),_("span",v,"(Modul: "+f(t.$options.name)+")",1)]),_:1}),o(r,{title:"Meter ID",required:"",min:"0",max:"65535","model-value":a.configuration.meter_id,"onUpdate:modelValue":e[0]||(e[0]=u=>i.updateConfiguration(u,"configuration.meter_id"))},null,8,["model-value"])])}const C=d(b,[["render",h],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/fronius/bat.vue"]]);export{C as default}; +import{_ as d,q as n,k as c,l as p,B as o,M as l,x as m,u as _,y as f}from"./vendor-493c2bec.js";import"./vendor-sortablejs-0b339223.js";const b={name:"DeviceFroniusBat",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(t,e=void 0){this.$emit("update:configuration",{value:t,object:e})}}},g={class:"device-fronius-bat"},v={class:"small"};function h(t,e,a,B,w,i){const s=n("openwb-base-heading"),r=n("openwb-base-number-input");return c(),p("div",g,[o(s,null,{default:l(()=>[m(" Einstellungen für Fronius Batteriespeicher "),_("span",v,"(Modul: "+f(t.$options.name)+")",1)]),_:1}),o(r,{title:"Meter ID",required:"",min:"0",max:"65535","model-value":a.configuration.meter_id,"onUpdate:modelValue":e[0]||(e[0]=u=>i.updateConfiguration(u,"configuration.meter_id"))},null,8,["model-value"])])}const C=d(b,[["render",h],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/fronius/bat.vue"]]);export{C as default}; diff --git a/web/settings/assets/bat-78c6d9b1.js b/web/settings/assets/bat-181b69d9.js similarity index 88% rename from web/settings/assets/bat-78c6d9b1.js rename to web/settings/assets/bat-181b69d9.js index 950231d968..c235d29a29 100644 --- a/web/settings/assets/bat-78c6d9b1.js +++ b/web/settings/assets/bat-181b69d9.js @@ -1 +1 @@ -import{_ as d,q as n,k as r,l as p,B as o,M as c,x as _,u as m,y as b}from"./vendor-f0f38b48.js";import"./vendor-sortablejs-cbf37f8f.js";const f={name:"DeviceOpenwbEvukitBat",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(t,e=void 0){this.$emit("update:configuration",{value:t,object:e})}}},v={class:"device-openwb-batkit-bat"},g={class:"small"};function w(t,e,a,h,B,i){const s=n("openwb-base-heading"),u=n("openwb-base-select-input");return r(),p("div",v,[o(s,null,{default:c(()=>[_(" Einstellungen für openWB EVU-Kit Batteriespeicher "),m("span",g,"(Modul: "+b(t.$options.name)+")",1)]),_:1}),o(u,{title:"Zählermodell",notSelected:"Bitte auswählen",options:[{value:0,text:"MPM3PM"},{value:1,text:"SDM120"},{value:2,text:"SDM630/SDM72D-M"}],"model-value":a.configuration.version,"onUpdate:modelValue":e[0]||(e[0]=l=>i.updateConfiguration(l,"configuration.version"))},null,8,["model-value"])])}const k=d(f,[["render",w],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/openwb_bat_kit/bat.vue"]]);export{k as default}; +import{_ as d,q as n,k as r,l as p,B as o,M as c,x as _,u as m,y as b}from"./vendor-493c2bec.js";import"./vendor-sortablejs-0b339223.js";const f={name:"DeviceOpenwbEvukitBat",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(t,e=void 0){this.$emit("update:configuration",{value:t,object:e})}}},v={class:"device-openwb-batkit-bat"},g={class:"small"};function w(t,e,a,h,B,i){const s=n("openwb-base-heading"),u=n("openwb-base-select-input");return r(),p("div",v,[o(s,null,{default:c(()=>[_(" Einstellungen für openWB EVU-Kit Batteriespeicher "),m("span",g,"(Modul: "+b(t.$options.name)+")",1)]),_:1}),o(u,{title:"Zählermodell",notSelected:"Bitte auswählen",options:[{value:0,text:"MPM3PM"},{value:1,text:"SDM120"},{value:2,text:"SDM630/SDM72D-M"}],"model-value":a.configuration.version,"onUpdate:modelValue":e[0]||(e[0]=l=>i.updateConfiguration(l,"configuration.version"))},null,8,["model-value"])])}const k=d(f,[["render",w],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/openwb_bat_kit/bat.vue"]]);export{k as default}; diff --git a/web/settings/assets/bat-b7b803c1.js b/web/settings/assets/bat-1e3cc818.js similarity index 87% rename from web/settings/assets/bat-b7b803c1.js rename to web/settings/assets/bat-1e3cc818.js index a94561d4ad..282f4a4e0d 100644 --- a/web/settings/assets/bat-b7b803c1.js +++ b/web/settings/assets/bat-1e3cc818.js @@ -1 +1 @@ -import{_ as r,q as o,k as c,l as p,B as t,M as l,x as m,u as _,y as b}from"./vendor-f0f38b48.js";import"./vendor-sortablejs-cbf37f8f.js";const f={name:"DeviceSunnyBoyBat",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(n,e=void 0){this.$emit("update:configuration",{value:n,object:e})}}},g={class:"device-sunnyboy-bat"},v={class:"small"};function y(n,e,a,B,h,s){const i=o("openwb-base-heading"),u=o("openwb-base-number-input");return c(),p("div",g,[t(i,null,{default:l(()=>[m(" Einstellungen für SMA Sunny Boy/Tripower Batteriespeicher "),_("span",v,"(Modul: "+b(n.$options.name)+")",1)]),_:1}),t(u,{title:"Modbus ID",required:"","model-value":a.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[0]||(e[0]=d=>s.updateConfiguration(d,"configuration.modbus_id"))},null,8,["model-value"])])}const q=r(f,[["render",y],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/sma_sunny_boy/bat.vue"]]);export{q as default}; +import{_ as r,q as o,k as c,l as p,B as t,M as l,x as m,u as _,y as b}from"./vendor-493c2bec.js";import"./vendor-sortablejs-0b339223.js";const f={name:"DeviceSunnyBoyBat",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(n,e=void 0){this.$emit("update:configuration",{value:n,object:e})}}},g={class:"device-sunnyboy-bat"},v={class:"small"};function y(n,e,a,B,h,s){const i=o("openwb-base-heading"),u=o("openwb-base-number-input");return c(),p("div",g,[t(i,null,{default:l(()=>[m(" Einstellungen für SMA Sunny Boy/Tripower Batteriespeicher "),_("span",v,"(Modul: "+b(n.$options.name)+")",1)]),_:1}),t(u,{title:"Modbus ID",required:"","model-value":a.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[0]||(e[0]=d=>s.updateConfiguration(d,"configuration.modbus_id"))},null,8,["model-value"])])}const q=r(f,[["render",y],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/sma_sunny_boy/bat.vue"]]);export{q as default}; diff --git a/web/settings/assets/bat-aea1d8d1.js b/web/settings/assets/bat-1f70eddd.js similarity index 96% rename from web/settings/assets/bat-aea1d8d1.js rename to web/settings/assets/bat-1f70eddd.js index 7bc9d9328e..55139f9284 100644 --- a/web/settings/assets/bat-aea1d8d1.js +++ b/web/settings/assets/bat-1f70eddd.js @@ -1 +1 @@ -import{_ as h,q as u,k as p,l as c,B as i,M as r,x as t,u as a,y as g}from"./vendor-f0f38b48.js";import"./vendor-sortablejs-cbf37f8f.js";const _={name:"DeviceHttpBat",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(s,e=void 0){this.$emit("update:configuration",{value:s,object:e})}}},f={class:"device-http-bat"},b={class:"small"},v=a("br",null,null,-1),w=a("br",null,null,-1),k=a("br",null,null,-1),S=a("br",null,null,-1),x=a("br",null,null,-1);function z(s,e,l,Z,D,o){const m=u("openwb-base-heading"),d=u("openwb-base-text-input");return p(),c("div",f,[i(m,null,{default:r(()=>[t(" Einstellungen für Http Batteriespeicher "),a("span",b,"(Modul: "+g(s.$options.name)+")",1)]),_:1}),i(d,{title:"Pfad für Leistung",subtype:"text",required:"",pattern:"^/[-a-zA-Z0-9@:%_\\+.~#?&/=]*","model-value":l.configuration.power_path,"onUpdate:modelValue":e[0]||(e[0]=n=>o.updateConfiguration(n,"configuration.power_path"))},{help:r(()=>[t(' Diese Angabe wird an die Server-URL angehängt und muss mit einem Schrägstrich "/" beginnen.'),v,t(" Es wird vom Server eine Zahl mit oder ohne Nachkommastellen (Float, Integer) und einem Punkt als Dezimaltrennzeichen erwartet, welche die aktuelle Leistung in Watt darstellt. ")]),_:1},8,["model-value"]),i(d,{title:"Pfad für Ladestand",subtype:"text",required:"",pattern:"^/[-a-zA-Z0-9@:%_\\+.~#?&/=]*","model-value":l.configuration.soc_path,"onUpdate:modelValue":e[1]||(e[1]=n=>o.updateConfiguration(n,"configuration.soc_path"))},{help:r(()=>[t(' Diese Angabe wird an die Server-URL angehängt und muss mit einem Schrägstrich "/" beginnen.'),w,t(" Es wird vom Server eine Zahl mit oder ohne Nachkommastellen (Float, Integer) und einem Punkt als Dezimaltrennzeichen erwartet, welche den aktuellen Ladestand (SoC) in Prozent darstellt. ")]),_:1},8,["model-value"]),i(d,{title:"Pfad für Zählerstand laden",subtype:"text",pattern:"^(/[-a-zA-Z0-9@:%_\\+.~#?&/=]*)","model-value":l.configuration.imported_path,"onUpdate:modelValue":e[2]||(e[2]=n=>o.updateConfiguration(n,"configuration.imported_path"))},{help:r(()=>[t(' Diese Angabe wird an die Server-URL angehängt und muss mit einem Schrägstrich "/" beginnen.'),k,t(" Es wird vom Server eine Zahl mit oder ohne Nachkommastellen (Float, Integer) und einem Punkt als Dezimaltrennzeichen erwartet, welche den aktuellen absoluten Zählerstand in Wh darstellt. ")]),_:1},8,["model-value"]),i(d,{title:"Pfad für Zählerstand entladen",subtype:"text",pattern:"^(/[-a-zA-Z0-9@:%_\\+.~#?&/=]*)","model-value":l.configuration.exported_path,"onUpdate:modelValue":e[3]||(e[3]=n=>o.updateConfiguration(n,"configuration.exported_path"))},{help:r(()=>[t(' Diese Angabe wird an die Server-URL angehängt und muss mit einem Schrägstrich "/" beginnen.'),S,t(" Es wird vom Server eine Zahl mit oder ohne Nachkommastellen (Float, Integer) und einem Punkt als Dezimaltrennzeichen erwartet, welche den aktuellen absoluten Zählerstand in Wh darstellt."),x,t(" Wird dieses Feld leer gelassen, werden keine Phasenströme ermittelt und es kann kein Lastmanagement berechnet werden! ")]),_:1},8,["model-value"])])}const A=h(_,[["render",z],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/http/bat.vue"]]);export{A as default}; +import{_ as h,q as u,k as p,l as c,B as i,M as r,x as t,u as a,y as g}from"./vendor-493c2bec.js";import"./vendor-sortablejs-0b339223.js";const _={name:"DeviceHttpBat",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(s,e=void 0){this.$emit("update:configuration",{value:s,object:e})}}},f={class:"device-http-bat"},b={class:"small"},v=a("br",null,null,-1),w=a("br",null,null,-1),k=a("br",null,null,-1),S=a("br",null,null,-1),x=a("br",null,null,-1);function z(s,e,l,Z,D,o){const m=u("openwb-base-heading"),d=u("openwb-base-text-input");return p(),c("div",f,[i(m,null,{default:r(()=>[t(" Einstellungen für Http Batteriespeicher "),a("span",b,"(Modul: "+g(s.$options.name)+")",1)]),_:1}),i(d,{title:"Pfad für Leistung",subtype:"text",required:"",pattern:"^/[-a-zA-Z0-9@:%_\\+.~#?&/=]*","model-value":l.configuration.power_path,"onUpdate:modelValue":e[0]||(e[0]=n=>o.updateConfiguration(n,"configuration.power_path"))},{help:r(()=>[t(' Diese Angabe wird an die Server-URL angehängt und muss mit einem Schrägstrich "/" beginnen.'),v,t(" Es wird vom Server eine Zahl mit oder ohne Nachkommastellen (Float, Integer) und einem Punkt als Dezimaltrennzeichen erwartet, welche die aktuelle Leistung in Watt darstellt. ")]),_:1},8,["model-value"]),i(d,{title:"Pfad für Ladestand",subtype:"text",required:"",pattern:"^/[-a-zA-Z0-9@:%_\\+.~#?&/=]*","model-value":l.configuration.soc_path,"onUpdate:modelValue":e[1]||(e[1]=n=>o.updateConfiguration(n,"configuration.soc_path"))},{help:r(()=>[t(' Diese Angabe wird an die Server-URL angehängt und muss mit einem Schrägstrich "/" beginnen.'),w,t(" Es wird vom Server eine Zahl mit oder ohne Nachkommastellen (Float, Integer) und einem Punkt als Dezimaltrennzeichen erwartet, welche den aktuellen Ladestand (SoC) in Prozent darstellt. ")]),_:1},8,["model-value"]),i(d,{title:"Pfad für Zählerstand laden",subtype:"text",pattern:"^(/[-a-zA-Z0-9@:%_\\+.~#?&/=]*)","model-value":l.configuration.imported_path,"onUpdate:modelValue":e[2]||(e[2]=n=>o.updateConfiguration(n,"configuration.imported_path"))},{help:r(()=>[t(' Diese Angabe wird an die Server-URL angehängt und muss mit einem Schrägstrich "/" beginnen.'),k,t(" Es wird vom Server eine Zahl mit oder ohne Nachkommastellen (Float, Integer) und einem Punkt als Dezimaltrennzeichen erwartet, welche den aktuellen absoluten Zählerstand in Wh darstellt. ")]),_:1},8,["model-value"]),i(d,{title:"Pfad für Zählerstand entladen",subtype:"text",pattern:"^(/[-a-zA-Z0-9@:%_\\+.~#?&/=]*)","model-value":l.configuration.exported_path,"onUpdate:modelValue":e[3]||(e[3]=n=>o.updateConfiguration(n,"configuration.exported_path"))},{help:r(()=>[t(' Diese Angabe wird an die Server-URL angehängt und muss mit einem Schrägstrich "/" beginnen.'),S,t(" Es wird vom Server eine Zahl mit oder ohne Nachkommastellen (Float, Integer) und einem Punkt als Dezimaltrennzeichen erwartet, welche den aktuellen absoluten Zählerstand in Wh darstellt."),x,t(" Wird dieses Feld leer gelassen, werden keine Phasenströme ermittelt und es kann kein Lastmanagement berechnet werden! ")]),_:1},8,["model-value"])])}const A=h(_,[["render",z],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/http/bat.vue"]]);export{A as default}; diff --git a/web/settings/assets/bat-c7a57eab.js b/web/settings/assets/bat-20e5bada.js similarity index 94% rename from web/settings/assets/bat-c7a57eab.js rename to web/settings/assets/bat-20e5bada.js index 33feafdff7..611e2f0d6b 100644 --- a/web/settings/assets/bat-c7a57eab.js +++ b/web/settings/assets/bat-20e5bada.js @@ -1 +1 @@ -import{_ as u,q as c,k as _,l as m,B as n,M as o,x as t,u as e,y as l}from"./vendor-f0f38b48.js";import"./vendor-sortablejs-cbf37f8f.js";const h={name:"DeviceMqttBat",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(a,d=void 0){this.$emit("update:configuration",{value:a,object:d})}}},b={class:"device-mqtt-bat"},f={class:"small"},g=e("br",null,null,-1),k=e("br",null,null,-1),B=e("span",{class:"text-info"},"-123",-1),x=e("br",null,null,-1),v=e("br",null,null,-1),I=e("span",{class:"text-info"},"123.45",-1),w=e("br",null,null,-1),W=e("br",null,null,-1),z=e("span",{class:"text-info"},"123.45",-1),N=e("br",null,null,-1),T=e("br",null,null,-1),q=e("span",{class:"text-info"},"95",-1);function y(a,d,i,D,E,F){const p=c("openwb-base-heading"),s=c("openwb-base-copy-to-clipboard"),r=c("openwb-base-alert");return _(),m("div",b,[n(p,null,{default:o(()=>[t(" Einstellungen für MQTT Batteriespeicher "),e("span",f,"(Modul: "+l(a.$options.name)+")",1)]),_:1}),n(r,{subtype:"info"},{default:o(()=>[e("ul",null,[e("li",null,[n(s,{class:"text-info",tooltip:"Topic kopieren"},{default:o(()=>[t("openWB/set/bat/"+l(i.componentId)+"/get/power",1)]),_:1}),g,t(" Speicherleistung in Watt, Zahl mit oder ohne Nachkommastellen (Float, Integer) und einem Punkt als Dezimaltrennzeichen, positiv Ladung, negativ Entladung"),k,t(" Beispiel: "),B]),e("li",null,[n(s,{class:"text-info",tooltip:"Topic kopieren"},{default:o(()=>[t("openWB/set/bat/"+l(i.componentId)+"/get/imported",1)]),_:1}),x,t(" Geladene Energie in Wh, Zahl mit oder ohne Nachkommastellen (Float, Integer) und einem Punkt als Dezimaltrennzeichen, nur positiv"),v,t(" Beispiel: "),I]),e("li",null,[n(s,{class:"text-info",tooltip:"Topic kopieren"},{default:o(()=>[t("openWB/set/bat/"+l(i.componentId)+"/get/exported",1)]),_:1}),w,t(" Entladene Energie in Wh, Zahl mit oder ohne Nachkommastellen (Float, Integer) und einem Punkt als Dezimaltrennzeichen, nur positiv"),W,t(" Beispiel: "),z]),e("li",null,[n(s,{class:"text-info",tooltip:"Topic kopieren"},{default:o(()=>[t("openWB/set/bat/"+l(i.componentId)+"/get/soc",1)]),_:1}),N,t(" Ladestand des Speichers, Zahl mit oder ohne Nachkommastellen (Float, Integer) und einem Punkt als Dezimaltrennzeichen, gültige Werte 0 bis 100"),T,t(" Beispiel: "),q])])]),_:1})])}const Z=u(h,[["render",y],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/mqtt/bat.vue"]]);export{Z as default}; +import{_ as u,q as c,k as _,l as m,B as n,M as o,x as t,u as e,y as l}from"./vendor-493c2bec.js";import"./vendor-sortablejs-0b339223.js";const h={name:"DeviceMqttBat",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(a,d=void 0){this.$emit("update:configuration",{value:a,object:d})}}},b={class:"device-mqtt-bat"},f={class:"small"},g=e("br",null,null,-1),k=e("br",null,null,-1),B=e("span",{class:"text-info"},"-123",-1),x=e("br",null,null,-1),v=e("br",null,null,-1),I=e("span",{class:"text-info"},"123.45",-1),w=e("br",null,null,-1),W=e("br",null,null,-1),z=e("span",{class:"text-info"},"123.45",-1),N=e("br",null,null,-1),T=e("br",null,null,-1),q=e("span",{class:"text-info"},"95",-1);function y(a,d,i,D,E,F){const p=c("openwb-base-heading"),s=c("openwb-base-copy-to-clipboard"),r=c("openwb-base-alert");return _(),m("div",b,[n(p,null,{default:o(()=>[t(" Einstellungen für MQTT Batteriespeicher "),e("span",f,"(Modul: "+l(a.$options.name)+")",1)]),_:1}),n(r,{subtype:"info"},{default:o(()=>[e("ul",null,[e("li",null,[n(s,{class:"text-info",tooltip:"Topic kopieren"},{default:o(()=>[t("openWB/set/bat/"+l(i.componentId)+"/get/power",1)]),_:1}),g,t(" Speicherleistung in Watt, Zahl mit oder ohne Nachkommastellen (Float, Integer) und einem Punkt als Dezimaltrennzeichen, positiv Ladung, negativ Entladung"),k,t(" Beispiel: "),B]),e("li",null,[n(s,{class:"text-info",tooltip:"Topic kopieren"},{default:o(()=>[t("openWB/set/bat/"+l(i.componentId)+"/get/imported",1)]),_:1}),x,t(" Geladene Energie in Wh, Zahl mit oder ohne Nachkommastellen (Float, Integer) und einem Punkt als Dezimaltrennzeichen, nur positiv"),v,t(" Beispiel: "),I]),e("li",null,[n(s,{class:"text-info",tooltip:"Topic kopieren"},{default:o(()=>[t("openWB/set/bat/"+l(i.componentId)+"/get/exported",1)]),_:1}),w,t(" Entladene Energie in Wh, Zahl mit oder ohne Nachkommastellen (Float, Integer) und einem Punkt als Dezimaltrennzeichen, nur positiv"),W,t(" Beispiel: "),z]),e("li",null,[n(s,{class:"text-info",tooltip:"Topic kopieren"},{default:o(()=>[t("openWB/set/bat/"+l(i.componentId)+"/get/soc",1)]),_:1}),N,t(" Ladestand des Speichers, Zahl mit oder ohne Nachkommastellen (Float, Integer) und einem Punkt als Dezimaltrennzeichen, gültige Werte 0 bis 100"),T,t(" Beispiel: "),q])])]),_:1})])}const Z=u(h,[["render",y],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/mqtt/bat.vue"]]);export{Z as default}; diff --git a/web/settings/assets/bat-5b52affc.js b/web/settings/assets/bat-2abd726d.js similarity index 93% rename from web/settings/assets/bat-5b52affc.js rename to web/settings/assets/bat-2abd726d.js index 58d64c397a..0013964e1e 100644 --- a/web/settings/assets/bat-5b52affc.js +++ b/web/settings/assets/bat-2abd726d.js @@ -1 +1 @@ -import{_ as c,q as n,k as d,l as p,B as o,M as s,x as a,u,y as l}from"./vendor-f0f38b48.js";import"./vendor-sortablejs-cbf37f8f.js";const _={name:"DeviceSiemensBat",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(e,t=void 0){this.$emit("update:configuration",{value:e,object:t})}}},m={class:"device-siemens-bat"},f={class:"small"};function b(e,t,g,h,v,B){const i=n("openwb-base-heading"),r=n("openwb-base-alert");return d(),p("div",m,[o(i,null,{default:s(()=>[a(" Einstellungen für Siemens Batteriespeicher "),u("span",f,"(Modul: "+l(e.$options.name)+")",1)]),_:1}),o(r,{subtype:"info"},{default:s(()=>[a(" Diese Komponente erfordert keine Einstellungen. ")]),_:1})])}const x=c(_,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/siemens/bat.vue"]]);export{x as default}; +import{_ as c,q as n,k as d,l as p,B as o,M as s,x as a,u,y as l}from"./vendor-493c2bec.js";import"./vendor-sortablejs-0b339223.js";const _={name:"DeviceSiemensBat",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(e,t=void 0){this.$emit("update:configuration",{value:e,object:t})}}},m={class:"device-siemens-bat"},f={class:"small"};function b(e,t,g,h,v,B){const i=n("openwb-base-heading"),r=n("openwb-base-alert");return d(),p("div",m,[o(i,null,{default:s(()=>[a(" Einstellungen für Siemens Batteriespeicher "),u("span",f,"(Modul: "+l(e.$options.name)+")",1)]),_:1}),o(r,{subtype:"info"},{default:s(()=>[a(" Diese Komponente erfordert keine Einstellungen. ")]),_:1})])}const x=c(_,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/siemens/bat.vue"]]);export{x as default}; diff --git a/web/settings/assets/bat-60fe1dbc.js b/web/settings/assets/bat-33a1c504.js similarity index 93% rename from web/settings/assets/bat-60fe1dbc.js rename to web/settings/assets/bat-33a1c504.js index 121668a1ca..2e91014138 100644 --- a/web/settings/assets/bat-60fe1dbc.js +++ b/web/settings/assets/bat-33a1c504.js @@ -1 +1 @@ -import{_ as u,q as t,k as c,l,B as n,M as p,x as m,u as _,y as b}from"./vendor-f0f38b48.js";import"./vendor-sortablejs-cbf37f8f.js";const f={name:"DeviceSolarEdgeBat",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(o,e=void 0){this.$emit("update:configuration",{value:o,object:e})}}},g={class:"device-solaredge-bat"},v={class:"small"};function h(o,e,a,B,w,s){const i=t("openwb-base-heading"),d=t("openwb-base-number-input");return c(),l("div",g,[n(i,null,{default:p(()=>[m(" Einstellungen für SolarEdge Batteriespeicher "),_("span",v,"(Modul: "+b(o.$options.name)+")",1)]),_:1}),n(d,{title:"Modbus ID",required:"","model-value":a.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[0]||(e[0]=r=>s.updateConfiguration(r,"configuration.modbus_id"))},null,8,["model-value"])])}const C=u(f,[["render",h],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/solaredge/bat.vue"]]);export{C as default}; +import{_ as u,q as t,k as c,l,B as n,M as p,x as m,u as _,y as b}from"./vendor-493c2bec.js";import"./vendor-sortablejs-0b339223.js";const f={name:"DeviceSolarEdgeBat",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(o,e=void 0){this.$emit("update:configuration",{value:o,object:e})}}},g={class:"device-solaredge-bat"},v={class:"small"};function h(o,e,a,B,w,s){const i=t("openwb-base-heading"),d=t("openwb-base-number-input");return c(),l("div",g,[n(i,null,{default:p(()=>[m(" Einstellungen für SolarEdge Batteriespeicher "),_("span",v,"(Modul: "+b(o.$options.name)+")",1)]),_:1}),n(d,{title:"Modbus ID",required:"","model-value":a.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[0]||(e[0]=r=>s.updateConfiguration(r,"configuration.modbus_id"))},null,8,["model-value"])])}const C=u(f,[["render",h],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/solaredge/bat.vue"]]);export{C as default}; diff --git a/web/settings/assets/bat-bd30d1ab.js b/web/settings/assets/bat-3c21b28d.js similarity index 88% rename from web/settings/assets/bat-bd30d1ab.js rename to web/settings/assets/bat-3c21b28d.js index 4b43110b4a..9b9a53a3ff 100644 --- a/web/settings/assets/bat-bd30d1ab.js +++ b/web/settings/assets/bat-3c21b28d.js @@ -1 +1 @@ -import{_ as d,q as n,k as r,l as p,B as o,M as c,x as _,u as m,y as f}from"./vendor-f0f38b48.js";import"./vendor-sortablejs-cbf37f8f.js";const v={name:"DeviceOpenwbEvukitBat",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(t,e=void 0){this.$emit("update:configuration",{value:t,object:e})}}},b={class:"device-openwb-evukit-bat"},g={class:"small"};function w(t,e,a,h,B,i){const s=n("openwb-base-heading"),u=n("openwb-base-select-input");return r(),p("div",b,[o(s,null,{default:c(()=>[_(" Einstellungen für openWB EVU-Kit Batteriespeicher "),m("span",g,"(Modul: "+f(t.$options.name)+")",1)]),_:1}),o(u,{title:"Zählermodell",notSelected:"Bitte auswählen",options:[{value:0,text:"MPM3PM"},{value:1,text:"SDM120"},{value:2,text:"SDM630/SDM72D-M"}],"model-value":a.configuration.version,"onUpdate:modelValue":e[0]||(e[0]=l=>i.updateConfiguration(l,"configuration.version"))},null,8,["model-value"])])}const k=d(v,[["render",w],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/openwb_evu_kit/bat.vue"]]);export{k as default}; +import{_ as d,q as n,k as r,l as p,B as o,M as c,x as _,u as m,y as f}from"./vendor-493c2bec.js";import"./vendor-sortablejs-0b339223.js";const v={name:"DeviceOpenwbEvukitBat",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(t,e=void 0){this.$emit("update:configuration",{value:t,object:e})}}},b={class:"device-openwb-evukit-bat"},g={class:"small"};function w(t,e,a,h,B,i){const s=n("openwb-base-heading"),u=n("openwb-base-select-input");return r(),p("div",b,[o(s,null,{default:c(()=>[_(" Einstellungen für openWB EVU-Kit Batteriespeicher "),m("span",g,"(Modul: "+f(t.$options.name)+")",1)]),_:1}),o(u,{title:"Zählermodell",notSelected:"Bitte auswählen",options:[{value:0,text:"MPM3PM"},{value:1,text:"SDM120"},{value:2,text:"SDM630/SDM72D-M"}],"model-value":a.configuration.version,"onUpdate:modelValue":e[0]||(e[0]=l=>i.updateConfiguration(l,"configuration.version"))},null,8,["model-value"])])}const k=d(v,[["render",w],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/openwb_evu_kit/bat.vue"]]);export{k as default}; diff --git a/web/settings/assets/bat-d1272cbb.js b/web/settings/assets/bat-472ba411.js similarity index 87% rename from web/settings/assets/bat-d1272cbb.js rename to web/settings/assets/bat-472ba411.js index 8bdad98005..5d422246d8 100644 --- a/web/settings/assets/bat-d1272cbb.js +++ b/web/settings/assets/bat-472ba411.js @@ -1 +1 @@ -import{_ as u,q as n,k as c,l as p,B as o,M as l,x as m,u as _,y as b}from"./vendor-f0f38b48.js";import"./vendor-sortablejs-cbf37f8f.js";const f={name:"DeviceVictronBat",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(t,e=void 0){this.$emit("update:configuration",{value:t,object:e})}}},v={class:"device-victron-bat"},g={class:"small"};function h(t,e,a,B,w,i){const s=n("openwb-base-heading"),r=n("openwb-base-number-input");return c(),p("div",v,[o(s,null,{default:l(()=>[m(" Einstellungen für Victron Batteriespeicher "),_("span",g,"(Modul: "+b(t.$options.name)+")",1)]),_:1}),o(r,{title:"Modbus ID",required:"","model-value":a.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[0]||(e[0]=d=>i.updateConfiguration(d,"configuration.modbus_id"))},null,8,["model-value"])])}const q=u(f,[["render",h],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/victron/bat.vue"]]);export{q as default}; +import{_ as u,q as n,k as c,l as p,B as o,M as l,x as m,u as _,y as b}from"./vendor-493c2bec.js";import"./vendor-sortablejs-0b339223.js";const f={name:"DeviceVictronBat",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(t,e=void 0){this.$emit("update:configuration",{value:t,object:e})}}},v={class:"device-victron-bat"},g={class:"small"};function h(t,e,a,B,w,i){const s=n("openwb-base-heading"),r=n("openwb-base-number-input");return c(),p("div",v,[o(s,null,{default:l(()=>[m(" Einstellungen für Victron Batteriespeicher "),_("span",g,"(Modul: "+b(t.$options.name)+")",1)]),_:1}),o(r,{title:"Modbus ID",required:"","model-value":a.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[0]||(e[0]=d=>i.updateConfiguration(d,"configuration.modbus_id"))},null,8,["model-value"])])}const q=u(f,[["render",h],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/victron/bat.vue"]]);export{q as default}; diff --git a/web/settings/assets/bat-0bf32e7f.js b/web/settings/assets/bat-4af956d7.js similarity index 92% rename from web/settings/assets/bat-0bf32e7f.js rename to web/settings/assets/bat-4af956d7.js index b72d129ab5..ba3e93c8df 100644 --- a/web/settings/assets/bat-0bf32e7f.js +++ b/web/settings/assets/bat-4af956d7.js @@ -1 +1 @@ -import{_ as c,q as n,k as d,l as p,B as o,M as s,x as a,u,y as l}from"./vendor-f0f38b48.js";import"./vendor-sortablejs-cbf37f8f.js";const _={name:"DeviceSungrowBat",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(e,t=void 0){this.$emit("update:configuration",{value:e,object:t})}}},f={class:"device-sungrow-bat"},m={class:"small"};function b(e,t,g,w,h,v){const i=n("openwb-base-heading"),r=n("openwb-base-alert");return d(),p("div",f,[o(i,null,{default:s(()=>[a(" Einstellungen für Sungrow Speicher "),u("span",m,"(Modul: "+l(e.$options.name)+")",1)]),_:1}),o(r,{subtype:"info"},{default:s(()=>[a(" Diese Komponente erfordert keine Einstellungen. ")]),_:1})])}const x=c(_,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/sungrow/bat.vue"]]);export{x as default}; +import{_ as c,q as n,k as d,l as p,B as o,M as s,x as a,u,y as l}from"./vendor-493c2bec.js";import"./vendor-sortablejs-0b339223.js";const _={name:"DeviceSungrowBat",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(e,t=void 0){this.$emit("update:configuration",{value:e,object:t})}}},f={class:"device-sungrow-bat"},m={class:"small"};function b(e,t,g,w,h,v){const i=n("openwb-base-heading"),r=n("openwb-base-alert");return d(),p("div",f,[o(i,null,{default:s(()=>[a(" Einstellungen für Sungrow Speicher "),u("span",m,"(Modul: "+l(e.$options.name)+")",1)]),_:1}),o(r,{subtype:"info"},{default:s(()=>[a(" Diese Komponente erfordert keine Einstellungen. ")]),_:1})])}const x=c(_,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/sungrow/bat.vue"]]);export{x as default}; diff --git a/web/settings/assets/bat-8f4443b8.js b/web/settings/assets/bat-527fa20e.js similarity index 90% rename from web/settings/assets/bat-8f4443b8.js rename to web/settings/assets/bat-527fa20e.js index 76c290cb59..f72c4a1ba0 100644 --- a/web/settings/assets/bat-8f4443b8.js +++ b/web/settings/assets/bat-527fa20e.js @@ -1 +1 @@ -import{_ as p,q as n,k as m,l as _,B as o,M as a,x as s,u as b,y as f}from"./vendor-f0f38b48.js";import"./vendor-sortablejs-cbf37f8f.js";const g={name:"DeviceSolarmaxBat",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(t,e=void 0){this.$emit("update:configuration",{value:t,object:e})}}},h={class:"device-solarmax-bat"},v={class:"small"};function x(t,e,i,w,A,r){const d=n("openwb-base-heading"),u=n("openwb-base-alert"),l=n("openwb-base-number-input");return m(),_("div",h,[o(d,null,{default:a(()=>[s(" Einstellungen für Solarmax MAX.STORAGE / MAX.STORAGE Ultimate Batteriespeicher "),b("span",v,"(Modul: "+f(t.$options.name)+")",1)]),_:1}),o(u,{subtype:"info"},{default:a(()=>[s(" Solarmax MAX.STORAGE / MAX.STORAGE Ultimate Batteriespeicher sind Teil eines Hybridsystems. Daher muss auch eine Komponente Wechselrichter angelegt werden. ")]),_:1}),o(l,{title:"Modbus ID",required:"","model-value":i.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[0]||(e[0]=c=>r.updateConfiguration(c,"configuration.modbus_id"))},null,8,["model-value"])])}const M=p(g,[["render",x],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/solarmax/bat.vue"]]);export{M as default}; +import{_ as p,q as n,k as m,l as _,B as o,M as a,x as s,u as b,y as f}from"./vendor-493c2bec.js";import"./vendor-sortablejs-0b339223.js";const g={name:"DeviceSolarmaxBat",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(t,e=void 0){this.$emit("update:configuration",{value:t,object:e})}}},h={class:"device-solarmax-bat"},v={class:"small"};function x(t,e,i,w,A,r){const d=n("openwb-base-heading"),u=n("openwb-base-alert"),l=n("openwb-base-number-input");return m(),_("div",h,[o(d,null,{default:a(()=>[s(" Einstellungen für Solarmax MAX.STORAGE / MAX.STORAGE Ultimate Batteriespeicher "),b("span",v,"(Modul: "+f(t.$options.name)+")",1)]),_:1}),o(u,{subtype:"info"},{default:a(()=>[s(" Solarmax MAX.STORAGE / MAX.STORAGE Ultimate Batteriespeicher sind Teil eines Hybridsystems. Daher muss auch eine Komponente Wechselrichter angelegt werden. ")]),_:1}),o(l,{title:"Modbus ID",required:"","model-value":i.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[0]||(e[0]=c=>r.updateConfiguration(c,"configuration.modbus_id"))},null,8,["model-value"])])}const M=p(g,[["render",x],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/solarmax/bat.vue"]]);export{M as default}; diff --git a/web/settings/assets/bat-70966508.js b/web/settings/assets/bat-5647832e.js similarity index 92% rename from web/settings/assets/bat-70966508.js rename to web/settings/assets/bat-5647832e.js index 3f9a18cb2a..61e56f968f 100644 --- a/web/settings/assets/bat-70966508.js +++ b/web/settings/assets/bat-5647832e.js @@ -1 +1 @@ -import{_ as c,q as n,k as d,l as p,B as o,M as a,x as s,u,y as l}from"./vendor-f0f38b48.js";import"./vendor-sortablejs-cbf37f8f.js";const _={name:"DeviceHuaweiBat",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(e,t=void 0){this.$emit("update:configuration",{value:e,object:t})}}},f={class:"device-huawei-bat"},m={class:"small"};function b(e,t,h,g,w,v){const i=n("openwb-base-heading"),r=n("openwb-base-alert");return d(),p("div",f,[o(i,null,{default:a(()=>[s(" Einstellungen für Huawei Batteriespeicher "),u("span",m,"(Modul: "+l(e.$options.name)+")",1)]),_:1}),o(r,{subtype:"info"},{default:a(()=>[s(" Diese Komponente erfordert keine Einstellungen. ")]),_:1})])}const x=c(_,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/huawei/bat.vue"]]);export{x as default}; +import{_ as c,q as n,k as d,l as p,B as o,M as a,x as s,u,y as l}from"./vendor-493c2bec.js";import"./vendor-sortablejs-0b339223.js";const _={name:"DeviceHuaweiBat",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(e,t=void 0){this.$emit("update:configuration",{value:e,object:t})}}},f={class:"device-huawei-bat"},m={class:"small"};function b(e,t,h,g,w,v){const i=n("openwb-base-heading"),r=n("openwb-base-alert");return d(),p("div",f,[o(i,null,{default:a(()=>[s(" Einstellungen für Huawei Batteriespeicher "),u("span",m,"(Modul: "+l(e.$options.name)+")",1)]),_:1}),o(r,{subtype:"info"},{default:a(()=>[s(" Diese Komponente erfordert keine Einstellungen. ")]),_:1})])}const x=c(_,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/huawei/bat.vue"]]);export{x as default}; diff --git a/web/settings/assets/bat-085ab9b8.js b/web/settings/assets/bat-5b9350ac.js similarity index 94% rename from web/settings/assets/bat-085ab9b8.js rename to web/settings/assets/bat-5b9350ac.js index 2660eac2b1..777c76ae04 100644 --- a/web/settings/assets/bat-085ab9b8.js +++ b/web/settings/assets/bat-5b9350ac.js @@ -1 +1 @@ -import{_ as m,q as u,k as f,l as g,B as n,M as d,x as o,u as s,y as c}from"./vendor-f0f38b48.js";import"./vendor-sortablejs-cbf37f8f.js";const _={name:"DeviceJsonBat",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(l,e=void 0){this.$emit("update:configuration",{value:l,object:e})}}},b={class:"device-json-bat"},v={class:"small"},w=s("br",null,null,-1);function h(l,e,a,j,q,i){const p=u("openwb-base-heading"),r=u("openwb-base-text-input");return f(),g("div",b,[n(p,null,{default:d(()=>[o(" Einstellungen für JSON Batteriespeicher "),s("span",v,"(Modul: "+c(l.$options.name)+")",1)]),_:1}),n(r,{title:"Abfrage für Leistung",subtype:"text",required:"","model-value":a.configuration.jq_power,"onUpdate:modelValue":e[0]||(e[0]=t=>i.updateConfiguration(t,"configuration.jq_power"))},{help:d(()=>[o(' Zur Analyse der Werte aus dem json-Objekt wird jq benutzt. Ist die Json Antwort z.B. {"PowerInstalledPeak":4655, "PowerProduced":132, "PowerOut":897.08172362555717, "PowerSelfSupplied":234.9182763744428} So muss hier .PowerOut eingetragen werden. '),w,o(" Es wird vom Server eine Zahl mit oder ohne Nachkommastellen (Float, Integer) und einem Punkt als Dezimaltrennzeichen erwartet, welche die aktuelle Leistung in Watt (positiv Ladung, negativ Entladung) darstellt. ")]),_:1},8,["model-value"]),n(r,{title:"Abfrage für Ladestand",subtype:"text",required:"","model-value":a.configuration.jq_soc,"onUpdate:modelValue":e[1]||(e[1]=t=>i.updateConfiguration(t,"configuration.jq_soc"))},null,8,["model-value"]),n(r,{title:"Abfrage für Zählerstand Ladung",subtype:"text","model-value":a.configuration.jq_imported,"onUpdate:modelValue":e[2]||(e[2]=t=>i.updateConfiguration(t,"configuration.jq_imported"))},{help:d(()=>[o(" Wird dieses Feld leer gelassen, dann werden Zählerstände intern simuliert. ")]),_:1},8,["model-value"]),n(r,{title:"Abfrage für Zählerstand Entladung",subtype:"text","model-value":a.configuration.jq_exported,"onUpdate:modelValue":e[3]||(e[3]=t=>i.updateConfiguration(t,"configuration.jq_exported"))},{help:d(()=>[o(" Wird dieses Feld leer gelassen, dann werden Zählerstände intern simuliert. ")]),_:1},8,["model-value"])])}const y=m(_,[["render",h],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/json/bat.vue"]]);export{y as default}; +import{_ as m,q as u,k as f,l as g,B as n,M as d,x as o,u as s,y as c}from"./vendor-493c2bec.js";import"./vendor-sortablejs-0b339223.js";const _={name:"DeviceJsonBat",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(l,e=void 0){this.$emit("update:configuration",{value:l,object:e})}}},b={class:"device-json-bat"},v={class:"small"},w=s("br",null,null,-1);function h(l,e,a,j,q,i){const p=u("openwb-base-heading"),r=u("openwb-base-text-input");return f(),g("div",b,[n(p,null,{default:d(()=>[o(" Einstellungen für JSON Batteriespeicher "),s("span",v,"(Modul: "+c(l.$options.name)+")",1)]),_:1}),n(r,{title:"Abfrage für Leistung",subtype:"text",required:"","model-value":a.configuration.jq_power,"onUpdate:modelValue":e[0]||(e[0]=t=>i.updateConfiguration(t,"configuration.jq_power"))},{help:d(()=>[o(' Zur Analyse der Werte aus dem json-Objekt wird jq benutzt. Ist die Json Antwort z.B. {"PowerInstalledPeak":4655, "PowerProduced":132, "PowerOut":897.08172362555717, "PowerSelfSupplied":234.9182763744428} So muss hier .PowerOut eingetragen werden. '),w,o(" Es wird vom Server eine Zahl mit oder ohne Nachkommastellen (Float, Integer) und einem Punkt als Dezimaltrennzeichen erwartet, welche die aktuelle Leistung in Watt (positiv Ladung, negativ Entladung) darstellt. ")]),_:1},8,["model-value"]),n(r,{title:"Abfrage für Ladestand",subtype:"text",required:"","model-value":a.configuration.jq_soc,"onUpdate:modelValue":e[1]||(e[1]=t=>i.updateConfiguration(t,"configuration.jq_soc"))},null,8,["model-value"]),n(r,{title:"Abfrage für Zählerstand Ladung",subtype:"text","model-value":a.configuration.jq_imported,"onUpdate:modelValue":e[2]||(e[2]=t=>i.updateConfiguration(t,"configuration.jq_imported"))},{help:d(()=>[o(" Wird dieses Feld leer gelassen, dann werden Zählerstände intern simuliert. ")]),_:1},8,["model-value"]),n(r,{title:"Abfrage für Zählerstand Entladung",subtype:"text","model-value":a.configuration.jq_exported,"onUpdate:modelValue":e[3]||(e[3]=t=>i.updateConfiguration(t,"configuration.jq_exported"))},{help:d(()=>[o(" Wird dieses Feld leer gelassen, dann werden Zählerstände intern simuliert. ")]),_:1},8,["model-value"])])}const y=m(_,[["render",h],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/json/bat.vue"]]);export{y as default}; diff --git a/web/settings/assets/bat-7b5aee06.js b/web/settings/assets/bat-5cecbdae.js similarity index 93% rename from web/settings/assets/bat-7b5aee06.js rename to web/settings/assets/bat-5cecbdae.js index 092cdc5f4d..87e91252bf 100644 --- a/web/settings/assets/bat-7b5aee06.js +++ b/web/settings/assets/bat-5cecbdae.js @@ -1 +1 @@ -import{_ as r,q as n,k as p,l,B as o,M as s,x as a,u as d,y as u}from"./vendor-f0f38b48.js";import"./vendor-sortablejs-cbf37f8f.js";const _={name:"DeviceKostalPlenticoreBat",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(e,t=void 0){this.$emit("update:configuration",{value:e,object:t})}}},f={class:"device-kostalplenticore-bat"},m={class:"small"};function b(e,t,g,h,v,B){const i=n("openwb-base-heading"),c=n("openwb-base-alert");return p(),l("div",f,[o(i,null,{default:s(()=>[a(" Einstellungen für Kostal Plenticore Batteriespeicher "),d("span",m,"(Modul: "+u(e.$options.name)+")",1)]),_:1}),o(c,{subtype:"info"},{default:s(()=>[a(" Diese Komponente benötigt keine Einstellungen. ")]),_:1})])}const $=r(_,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/kostal_plenticore/bat.vue"]]);export{$ as default}; +import{_ as r,q as n,k as p,l,B as o,M as s,x as a,u as d,y as u}from"./vendor-493c2bec.js";import"./vendor-sortablejs-0b339223.js";const _={name:"DeviceKostalPlenticoreBat",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(e,t=void 0){this.$emit("update:configuration",{value:e,object:t})}}},f={class:"device-kostalplenticore-bat"},m={class:"small"};function b(e,t,g,h,v,B){const i=n("openwb-base-heading"),c=n("openwb-base-alert");return p(),l("div",f,[o(i,null,{default:s(()=>[a(" Einstellungen für Kostal Plenticore Batteriespeicher "),d("span",m,"(Modul: "+u(e.$options.name)+")",1)]),_:1}),o(c,{subtype:"info"},{default:s(()=>[a(" Diese Komponente benötigt keine Einstellungen. ")]),_:1})])}const $=r(_,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/kostal_plenticore/bat.vue"]]);export{$ as default}; diff --git a/web/settings/assets/bat-c11283be.js b/web/settings/assets/bat-6b076989.js similarity index 92% rename from web/settings/assets/bat-c11283be.js rename to web/settings/assets/bat-6b076989.js index 689583dd70..1ace156b52 100644 --- a/web/settings/assets/bat-c11283be.js +++ b/web/settings/assets/bat-6b076989.js @@ -1 +1 @@ -import{_ as d,q as n,k as r,l as p,B as o,M as s,x as a,u,y as l}from"./vendor-f0f38b48.js";import"./vendor-sortablejs-cbf37f8f.js";const _={name:"DeviceE3dcBat",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(e,t=void 0){this.$emit("update:configuration",{value:e,object:t})}}},f={class:"device-e3dc-bat"},m={class:"small"};function b(e,t,g,h,v,B){const i=n("openwb-base-heading"),c=n("openwb-base-alert");return r(),p("div",f,[o(i,null,{default:s(()=>[a(" Einstellungen für E3DC Batteriespeicher "),u("span",m,"(Modul: "+l(e.$options.name)+")",1)]),_:1}),o(c,{subtype:"info"},{default:s(()=>[a(" Diese Komponente benötigt keine Einstellungen. ")]),_:1})])}const x=d(_,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/e3dc/bat.vue"]]);export{x as default}; +import{_ as d,q as n,k as r,l as p,B as o,M as s,x as a,u,y as l}from"./vendor-493c2bec.js";import"./vendor-sortablejs-0b339223.js";const _={name:"DeviceE3dcBat",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(e,t=void 0){this.$emit("update:configuration",{value:e,object:t})}}},f={class:"device-e3dc-bat"},m={class:"small"};function b(e,t,g,h,v,B){const i=n("openwb-base-heading"),c=n("openwb-base-alert");return r(),p("div",f,[o(i,null,{default:s(()=>[a(" Einstellungen für E3DC Batteriespeicher "),u("span",m,"(Modul: "+l(e.$options.name)+")",1)]),_:1}),o(c,{subtype:"info"},{default:s(()=>[a(" Diese Komponente benötigt keine Einstellungen. ")]),_:1})])}const x=d(_,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/e3dc/bat.vue"]]);export{x as default}; diff --git a/web/settings/assets/bat-406ce36d.js b/web/settings/assets/bat-702bff76.js similarity index 86% rename from web/settings/assets/bat-406ce36d.js rename to web/settings/assets/bat-702bff76.js index 8147f42877..49a4ff2f49 100644 --- a/web/settings/assets/bat-406ce36d.js +++ b/web/settings/assets/bat-702bff76.js @@ -1 +1 @@ -import{_ as c,q as n,k as p,l as d,B as o,M as a,x as s,u as l,y as u}from"./vendor-f0f38b48.js";import"./vendor-sortablejs-cbf37f8f.js";const _={name:"DeviceSolarwattBat",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(e,t=void 0){this.$emit("update:configuration",{value:e,object:t})}}},f={class:"device-solarwatt-bat"},m={class:"small"};function b(e,t,g,v,w,h){const i=n("openwb-base-heading"),r=n("openwb-base-alert");return p(),d("div",f,[o(i,null,{default:a(()=>[s(" Einstellungen für Solarwatt/My Reserve Batteriespeicher "),l("span",m,"(Modul: "+u(e.$options.name)+")",1)]),_:1}),o(r,{subtype:"info"},{default:a(()=>[s(" Diese Komponente benötigt keine Einstellungen. ")]),_:1})])}const x=c(_,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/solar_watt/bat.vue"]]);export{x as default}; +import{_ as c,q as n,k as p,l as d,B as o,M as a,x as s,u as l,y as u}from"./vendor-493c2bec.js";import"./vendor-sortablejs-0b339223.js";const _={name:"DeviceSolarwattBat",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(e,t=void 0){this.$emit("update:configuration",{value:e,object:t})}}},f={class:"device-solarwatt-bat"},m={class:"small"};function b(e,t,g,v,w,h){const i=n("openwb-base-heading"),r=n("openwb-base-alert");return p(),d("div",f,[o(i,null,{default:a(()=>[s(" Einstellungen für Solarwatt/My Reserve Batteriespeicher "),l("span",m,"(Modul: "+u(e.$options.name)+")",1)]),_:1}),o(r,{subtype:"info"},{default:a(()=>[s(" Diese Komponente benötigt keine Einstellungen. ")]),_:1})])}const x=c(_,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/solar_watt/bat.vue"]]);export{x as default}; diff --git a/web/settings/assets/bat-ec26cfad.js b/web/settings/assets/bat-73e388f2.js similarity index 86% rename from web/settings/assets/bat-ec26cfad.js rename to web/settings/assets/bat-73e388f2.js index 4118bdbb12..ebbe253511 100644 --- a/web/settings/assets/bat-ec26cfad.js +++ b/web/settings/assets/bat-73e388f2.js @@ -1 +1 @@ -import{_ as c,q as n,k as r,l as d,B as o,M as s,x as a,u as l,y as u}from"./vendor-f0f38b48.js";import"./vendor-sortablejs-cbf37f8f.js";const _={name:"DeviceAlphaessBat",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(e,t=void 0){this.$emit("update:configuration",{value:e,object:t})}}},f={class:"device-alphaess-bat"},m={class:"small"};function b(e,t,h,g,v,B){const i=n("openwb-base-heading"),p=n("openwb-base-alert");return r(),d("div",f,[o(i,null,{default:s(()=>[a(" Einstellungen für Alpha ESS Batteriespeicher "),l("span",m,"(Modul: "+u(e.$options.name)+")",1)]),_:1}),o(p,{subtype:"info"},{default:s(()=>[a(" Diese Komponente benötigt keine Einstellungen. ")]),_:1})])}const x=c(_,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/alpha_ess/bat.vue"]]);export{x as default}; +import{_ as c,q as n,k as r,l as d,B as o,M as s,x as a,u as l,y as u}from"./vendor-493c2bec.js";import"./vendor-sortablejs-0b339223.js";const _={name:"DeviceAlphaessBat",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(e,t=void 0){this.$emit("update:configuration",{value:e,object:t})}}},f={class:"device-alphaess-bat"},m={class:"small"};function b(e,t,h,g,v,B){const i=n("openwb-base-heading"),p=n("openwb-base-alert");return r(),d("div",f,[o(i,null,{default:s(()=>[a(" Einstellungen für Alpha ESS Batteriespeicher "),l("span",m,"(Modul: "+u(e.$options.name)+")",1)]),_:1}),o(p,{subtype:"info"},{default:s(()=>[a(" Diese Komponente benötigt keine Einstellungen. ")]),_:1})])}const x=c(_,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/alpha_ess/bat.vue"]]);export{x as default}; diff --git a/web/settings/assets/bat-e0a28cb6.js b/web/settings/assets/bat-747b4542.js similarity index 86% rename from web/settings/assets/bat-e0a28cb6.js rename to web/settings/assets/bat-747b4542.js index 46bade4002..4496bd9549 100644 --- a/web/settings/assets/bat-e0a28cb6.js +++ b/web/settings/assets/bat-747b4542.js @@ -1 +1 @@ -import{_ as r,q as n,k as l,l as p,B as o,M as s,x as a,u as d,y as u}from"./vendor-f0f38b48.js";import"./vendor-sortablejs-cbf37f8f.js";const _={name:"DeviceQCelllsBat",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(e,t=void 0){this.$emit("update:configuration",{value:e,object:t})}}},f={class:"device-qcells-bat"},m={class:"small"};function b(e,t,g,h,v,B){const i=n("openwb-base-heading"),c=n("openwb-base-alert");return l(),p("div",f,[o(i,null,{default:s(()=>[a(" Einstellungen für QCells ESS Batteriespeicher "),d("span",m,"(Modul: "+u(e.$options.name)+")",1)]),_:1}),o(c,{subtype:"info"},{default:s(()=>[a(" Diese Komponente benötigt keine Einstellungen. ")]),_:1})])}const q=r(_,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/qcells/bat.vue"]]);export{q as default}; +import{_ as r,q as n,k as l,l as p,B as o,M as s,x as a,u as d,y as u}from"./vendor-493c2bec.js";import"./vendor-sortablejs-0b339223.js";const _={name:"DeviceQCelllsBat",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(e,t=void 0){this.$emit("update:configuration",{value:e,object:t})}}},f={class:"device-qcells-bat"},m={class:"small"};function b(e,t,g,h,v,B){const i=n("openwb-base-heading"),c=n("openwb-base-alert");return l(),p("div",f,[o(i,null,{default:s(()=>[a(" Einstellungen für QCells ESS Batteriespeicher "),d("span",m,"(Modul: "+u(e.$options.name)+")",1)]),_:1}),o(c,{subtype:"info"},{default:s(()=>[a(" Diese Komponente benötigt keine Einstellungen. ")]),_:1})])}const q=r(_,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/qcells/bat.vue"]]);export{q as default}; diff --git a/web/settings/assets/bat-596429dc.js b/web/settings/assets/bat-7797cf34.js similarity index 93% rename from web/settings/assets/bat-596429dc.js rename to web/settings/assets/bat-7797cf34.js index 42cd3c8f7e..149f6f95ea 100644 --- a/web/settings/assets/bat-596429dc.js +++ b/web/settings/assets/bat-7797cf34.js @@ -1 +1 @@ -import{_ as c,q as n,k as d,l as p,B as o,M as a,x as s,u,y as l}from"./vendor-f0f38b48.js";import"./vendor-sortablejs-cbf37f8f.js";const _={name:"DeviceSonnenbatterieBat",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(e,t=void 0){this.$emit("update:configuration",{value:e,object:t})}}},f={class:"device-sonnenbatterie-bat"},b={class:"small"};function m(e,t,g,h,v,B){const i=n("openwb-base-heading"),r=n("openwb-base-alert");return d(),p("div",f,[o(i,null,{default:a(()=>[s(" Einstellungen für SonnenBatterie Speicher "),u("span",b,"(Modul: "+l(e.$options.name)+")",1)]),_:1}),o(r,{subtype:"info"},{default:a(()=>[s(" Diese Komponente erfordert keine Einstellungen. ")]),_:1})])}const x=c(_,[["render",m],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/sonnenbatterie/bat.vue"]]);export{x as default}; +import{_ as c,q as n,k as d,l as p,B as o,M as a,x as s,u,y as l}from"./vendor-493c2bec.js";import"./vendor-sortablejs-0b339223.js";const _={name:"DeviceSonnenbatterieBat",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(e,t=void 0){this.$emit("update:configuration",{value:e,object:t})}}},f={class:"device-sonnenbatterie-bat"},b={class:"small"};function m(e,t,g,h,v,B){const i=n("openwb-base-heading"),r=n("openwb-base-alert");return d(),p("div",f,[o(i,null,{default:a(()=>[s(" Einstellungen für SonnenBatterie Speicher "),u("span",b,"(Modul: "+l(e.$options.name)+")",1)]),_:1}),o(r,{subtype:"info"},{default:a(()=>[s(" Diese Komponente erfordert keine Einstellungen. ")]),_:1})])}const x=c(_,[["render",m],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/sonnenbatterie/bat.vue"]]);export{x as default}; diff --git a/web/settings/assets/bat-c2f21fa1.js b/web/settings/assets/bat-81b2dd41.js similarity index 88% rename from web/settings/assets/bat-c2f21fa1.js rename to web/settings/assets/bat-81b2dd41.js index 6d1742db3b..1c16071631 100644 --- a/web/settings/assets/bat-c2f21fa1.js +++ b/web/settings/assets/bat-81b2dd41.js @@ -1 +1 @@ -import{_ as d,q as o,k as c,l as p,B as n,M as l,x as m,u as _,y as g}from"./vendor-f0f38b48.js";import"./vendor-sortablejs-cbf37f8f.js";const b={name:"DeviceHuaweiSmartLoggerBat",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(t,e=void 0){this.$emit("update:configuration",{value:t,object:e})}}},f={class:"device-huawei-smart-logger-bat"},v={class:"small"};function w(t,e,a,h,B,i){const s=o("openwb-base-heading"),r=o("openwb-base-number-input");return c(),p("div",f,[n(s,null,{default:l(()=>[m(" Einstellungen für Huawei SmartLogger Batteriespeicher "),_("span",v,"(Modul: "+g(t.$options.name)+")",1)]),_:1}),n(r,{title:"Modbus ID",required:"","model-value":a.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[0]||(e[0]=u=>i.updateConfiguration(u,"configuration.modbus_id"))},null,8,["model-value"])])}const C=d(b,[["render",w],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/huawei_smartlogger/bat.vue"]]);export{C as default}; +import{_ as d,q as o,k as c,l as p,B as n,M as l,x as m,u as _,y as g}from"./vendor-493c2bec.js";import"./vendor-sortablejs-0b339223.js";const b={name:"DeviceHuaweiSmartLoggerBat",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(t,e=void 0){this.$emit("update:configuration",{value:t,object:e})}}},f={class:"device-huawei-smart-logger-bat"},v={class:"small"};function w(t,e,a,h,B,i){const s=o("openwb-base-heading"),r=o("openwb-base-number-input");return c(),p("div",f,[n(s,null,{default:l(()=>[m(" Einstellungen für Huawei SmartLogger Batteriespeicher "),_("span",v,"(Modul: "+g(t.$options.name)+")",1)]),_:1}),n(r,{title:"Modbus ID",required:"","model-value":a.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[0]||(e[0]=u=>i.updateConfiguration(u,"configuration.modbus_id"))},null,8,["model-value"])])}const C=d(b,[["render",w],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/huawei_smartlogger/bat.vue"]]);export{C as default}; diff --git a/web/settings/assets/bat-714247d6.js b/web/settings/assets/bat-8431d7de.js similarity index 92% rename from web/settings/assets/bat-714247d6.js rename to web/settings/assets/bat-8431d7de.js index 0376996399..c097fbbc24 100644 --- a/web/settings/assets/bat-714247d6.js +++ b/web/settings/assets/bat-8431d7de.js @@ -1 +1 @@ -import{_ as r,q as n,k as p,l as d,B as o,M as s,x as a,u,y as l}from"./vendor-f0f38b48.js";import"./vendor-sortablejs-cbf37f8f.js";const _={name:"DeviceLGBat",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(e,t=void 0){this.$emit("update:configuration",{value:e,object:t})}}},f={class:"device-lg-bat"},m={class:"small"};function b(e,t,g,h,v,B){const i=n("openwb-base-heading"),c=n("openwb-base-alert");return p(),d("div",f,[o(i,null,{default:s(()=>[a(" Einstellungen für LG ESS V1.0 Batteriespeicher "),u("span",m,"(Modul: "+l(e.$options.name)+")",1)]),_:1}),o(c,{subtype:"info"},{default:s(()=>[a(" Diese Komponente benötigt keine Einstellungen. ")]),_:1})])}const x=r(_,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/lg/bat.vue"]]);export{x as default}; +import{_ as r,q as n,k as p,l as d,B as o,M as s,x as a,u,y as l}from"./vendor-493c2bec.js";import"./vendor-sortablejs-0b339223.js";const _={name:"DeviceLGBat",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(e,t=void 0){this.$emit("update:configuration",{value:e,object:t})}}},f={class:"device-lg-bat"},m={class:"small"};function b(e,t,g,h,v,B){const i=n("openwb-base-heading"),c=n("openwb-base-alert");return p(),d("div",f,[o(i,null,{default:s(()=>[a(" Einstellungen für LG ESS V1.0 Batteriespeicher "),u("span",m,"(Modul: "+l(e.$options.name)+")",1)]),_:1}),o(c,{subtype:"info"},{default:s(()=>[a(" Diese Komponente benötigt keine Einstellungen. ")]),_:1})])}const x=r(_,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/lg/bat.vue"]]);export{x as default}; diff --git a/web/settings/assets/bat-472fcd70.js b/web/settings/assets/bat-8ec081ab.js similarity index 93% rename from web/settings/assets/bat-472fcd70.js rename to web/settings/assets/bat-8ec081ab.js index db8d7a9818..1b33bee7e3 100644 --- a/web/settings/assets/bat-472fcd70.js +++ b/web/settings/assets/bat-8ec081ab.js @@ -1 +1 @@ -import{_ as c,q as o,k as p,l as d,B as n,M as a,x as s,u,y as _}from"./vendor-f0f38b48.js";import"./vendor-sortablejs-cbf37f8f.js";const l={name:"DeviceSofarBat",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(e,t=void 0){this.$emit("update:configuration",{value:e,object:t})}}},f={class:"device-azzurro_sofar-bat"},m={class:"small"};function b(e,t,g,h,v,B){const i=o("openwb-base-heading"),r=o("openwb-base-alert");return p(),d("div",f,[n(i,null,{default:a(()=>[s(" Einstellungen für Sofar Batteriespeicher "),u("span",m,"(Modul: "+_(e.$options.name)+")",1)]),_:1}),n(r,{subtype:"info"},{default:a(()=>[s(" Diese Komponente benötigt keine Einstellungen. ")]),_:1})])}const x=c(l,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/azzurro_sofar/bat.vue"]]);export{x as default}; +import{_ as c,q as o,k as p,l as d,B as n,M as a,x as s,u,y as _}from"./vendor-493c2bec.js";import"./vendor-sortablejs-0b339223.js";const l={name:"DeviceSofarBat",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(e,t=void 0){this.$emit("update:configuration",{value:e,object:t})}}},f={class:"device-azzurro_sofar-bat"},m={class:"small"};function b(e,t,g,h,v,B){const i=o("openwb-base-heading"),r=o("openwb-base-alert");return p(),d("div",f,[n(i,null,{default:a(()=>[s(" Einstellungen für Sofar Batteriespeicher "),u("span",m,"(Modul: "+_(e.$options.name)+")",1)]),_:1}),n(r,{subtype:"info"},{default:a(()=>[s(" Diese Komponente benötigt keine Einstellungen. ")]),_:1})])}const x=c(l,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/azzurro_sofar/bat.vue"]]);export{x as default}; diff --git a/web/settings/assets/bat-2263d450.js b/web/settings/assets/bat-a8167815.js similarity index 93% rename from web/settings/assets/bat-2263d450.js rename to web/settings/assets/bat-a8167815.js index 97194ffb2b..e038a9953b 100644 --- a/web/settings/assets/bat-2263d450.js +++ b/web/settings/assets/bat-a8167815.js @@ -1 +1 @@ -import{_ as c,q as o,k as r,l as p,B as n,M as s,x as a,u,y as l}from"./vendor-f0f38b48.js";import"./vendor-sortablejs-cbf37f8f.js";const _={name:"DeviceGoodWeBat",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(e,t=void 0){this.$emit("update:configuration",{value:e,object:t})}}},f={class:"device-goodwe-bat"},m={class:"small"};function b(e,t,g,h,v,w){const i=o("openwb-base-heading"),d=o("openwb-base-alert");return r(),p("div",f,[n(i,null,{default:s(()=>[a(" Einstellungen für GoodWe Batteriespeicher "),u("span",m,"(Modul: "+l(e.$options.name)+")",1)]),_:1}),n(d,{subtype:"info"},{default:s(()=>[a(" Diese Komponente benötigt keine Einstellungen. ")]),_:1})])}const x=c(_,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/good_we/bat.vue"]]);export{x as default}; +import{_ as c,q as o,k as r,l as p,B as n,M as s,x as a,u,y as l}from"./vendor-493c2bec.js";import"./vendor-sortablejs-0b339223.js";const _={name:"DeviceGoodWeBat",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(e,t=void 0){this.$emit("update:configuration",{value:e,object:t})}}},f={class:"device-goodwe-bat"},m={class:"small"};function b(e,t,g,h,v,w){const i=o("openwb-base-heading"),d=o("openwb-base-alert");return r(),p("div",f,[n(i,null,{default:s(()=>[a(" Einstellungen für GoodWe Batteriespeicher "),u("span",m,"(Modul: "+l(e.$options.name)+")",1)]),_:1}),n(d,{subtype:"info"},{default:s(()=>[a(" Diese Komponente benötigt keine Einstellungen. ")]),_:1})])}const x=c(_,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/good_we/bat.vue"]]);export{x as default}; diff --git a/web/settings/assets/bat-f26e2844.js b/web/settings/assets/bat-b69d82cb.js similarity index 92% rename from web/settings/assets/bat-f26e2844.js rename to web/settings/assets/bat-b69d82cb.js index b1206b23bf..215fd4270d 100644 --- a/web/settings/assets/bat-f26e2844.js +++ b/web/settings/assets/bat-b69d82cb.js @@ -1 +1 @@ -import{_ as r,q as n,k as d,l as p,B as o,M as s,x as a,u,y as l}from"./vendor-f0f38b48.js";import"./vendor-sortablejs-cbf37f8f.js";const _={name:"DeviceBYDBat",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(e,t=void 0){this.$emit("update:configuration",{value:e,object:t})}}},b={class:"device-byd-bat"},f={class:"small"};function m(e,t,g,h,v,B){const i=n("openwb-base-heading"),c=n("openwb-base-alert");return d(),p("div",b,[o(i,null,{default:s(()=>[a(" Einstellungen für BYD Batteriespeicher "),u("span",f,"(Modul: "+l(e.$options.name)+")",1)]),_:1}),o(c,{subtype:"info"},{default:s(()=>[a(" Diese Komponente benötigt keine Einstellungen. ")]),_:1})])}const $=r(_,[["render",m],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/byd/bat.vue"]]);export{$ as default}; +import{_ as r,q as n,k as d,l as p,B as o,M as s,x as a,u,y as l}from"./vendor-493c2bec.js";import"./vendor-sortablejs-0b339223.js";const _={name:"DeviceBYDBat",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(e,t=void 0){this.$emit("update:configuration",{value:e,object:t})}}},b={class:"device-byd-bat"},f={class:"small"};function m(e,t,g,h,v,B){const i=n("openwb-base-heading"),c=n("openwb-base-alert");return d(),p("div",b,[o(i,null,{default:s(()=>[a(" Einstellungen für BYD Batteriespeicher "),u("span",f,"(Modul: "+l(e.$options.name)+")",1)]),_:1}),o(c,{subtype:"info"},{default:s(()=>[a(" Diese Komponente benötigt keine Einstellungen. ")]),_:1})])}const $=r(_,[["render",m],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/byd/bat.vue"]]);export{$ as default}; diff --git a/web/settings/assets/bat-5c1727b9.js b/web/settings/assets/bat-bdf353f6.js similarity index 87% rename from web/settings/assets/bat-5c1727b9.js rename to web/settings/assets/bat-bdf353f6.js index e7830dcdca..33844fd4ee 100644 --- a/web/settings/assets/bat-5c1727b9.js +++ b/web/settings/assets/bat-bdf353f6.js @@ -1 +1 @@ -import{_ as r,q as n,k as c,l as p,B as o,M as l,x as m,u as _,y as b}from"./vendor-f0f38b48.js";import"./vendor-sortablejs-cbf37f8f.js";const f={name:"DeviceDeyeBat",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(t,e=void 0){this.$emit("update:configuration",{value:t,object:e})}}},g={class:"device-deye-bat"},v={class:"small"};function h(t,e,a,y,B,i){const s=n("openwb-base-heading"),d=n("openwb-base-number-input");return c(),p("div",g,[o(s,null,{default:l(()=>[m(" Einstellungen für Deye Batteriespeicher "),_("span",v,"(Modul: "+b(t.$options.name)+")",1)]),_:1}),o(d,{title:"Modbus ID",required:"","model-value":a.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[0]||(e[0]=u=>i.updateConfiguration(u,"configuration.modbus_id"))},null,8,["model-value"])])}const D=r(f,[["render",h],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/deye/bat.vue"]]);export{D as default}; +import{_ as r,q as n,k as c,l as p,B as o,M as l,x as m,u as _,y as b}from"./vendor-493c2bec.js";import"./vendor-sortablejs-0b339223.js";const f={name:"DeviceDeyeBat",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(t,e=void 0){this.$emit("update:configuration",{value:t,object:e})}}},g={class:"device-deye-bat"},v={class:"small"};function h(t,e,a,y,B,i){const s=n("openwb-base-heading"),d=n("openwb-base-number-input");return c(),p("div",g,[o(s,null,{default:l(()=>[m(" Einstellungen für Deye Batteriespeicher "),_("span",v,"(Modul: "+b(t.$options.name)+")",1)]),_:1}),o(d,{title:"Modbus ID",required:"","model-value":a.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[0]||(e[0]=u=>i.updateConfiguration(u,"configuration.modbus_id"))},null,8,["model-value"])])}const D=r(f,[["render",h],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/deye/bat.vue"]]);export{D as default}; diff --git a/web/settings/assets/bat-50e013a7.js b/web/settings/assets/bat-c125f636.js similarity index 93% rename from web/settings/assets/bat-50e013a7.js rename to web/settings/assets/bat-c125f636.js index 68293b1007..adb6152e47 100644 --- a/web/settings/assets/bat-50e013a7.js +++ b/web/settings/assets/bat-c125f636.js @@ -1 +1 @@ -import{_ as c,q as n,k as p,l as d,B as o,M as s,x as a,u,y as _}from"./vendor-f0f38b48.js";import"./vendor-sortablejs-cbf37f8f.js";const l={name:"DeviceZCSBat",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(e,t=void 0){this.$emit("update:configuration",{value:e,object:t})}}},f={class:"device-azzurro_zcs"},m={class:"small"};function b(e,t,g,h,v,z){const i=n("openwb-base-heading"),r=n("openwb-base-alert");return p(),d("div",f,[o(i,null,{default:s(()=>[a(" Einstellungen für Azzurro ZCS Batteriespeicher "),u("span",m,"(Modul: "+_(e.$options.name)+")",1)]),_:1}),o(r,{subtype:"info"},{default:s(()=>[a(" Diese Komponente benötigt keine Einstellungen. ")]),_:1})])}const $=c(l,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/azzurro_zcs/bat.vue"]]);export{$ as default}; +import{_ as c,q as n,k as p,l as d,B as o,M as s,x as a,u,y as _}from"./vendor-493c2bec.js";import"./vendor-sortablejs-0b339223.js";const l={name:"DeviceZCSBat",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(e,t=void 0){this.$emit("update:configuration",{value:e,object:t})}}},f={class:"device-azzurro_zcs"},m={class:"small"};function b(e,t,g,h,v,z){const i=n("openwb-base-heading"),r=n("openwb-base-alert");return p(),d("div",f,[o(i,null,{default:s(()=>[a(" Einstellungen für Azzurro ZCS Batteriespeicher "),u("span",m,"(Modul: "+_(e.$options.name)+")",1)]),_:1}),o(r,{subtype:"info"},{default:s(()=>[a(" Diese Komponente benötigt keine Einstellungen. ")]),_:1})])}const $=c(l,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/azzurro_zcs/bat.vue"]]);export{$ as default}; diff --git a/web/settings/assets/bat-6421a339.js b/web/settings/assets/bat-c2ef1925.js similarity index 86% rename from web/settings/assets/bat-6421a339.js rename to web/settings/assets/bat-c2ef1925.js index 78f16e84c3..55699034c2 100644 --- a/web/settings/assets/bat-6421a339.js +++ b/web/settings/assets/bat-c2ef1925.js @@ -1 +1 @@ -import{_ as c,q as o,k as d,l as p,B as n,M as a,x as s,u as l,y as u}from"./vendor-f0f38b48.js";import"./vendor-sortablejs-cbf37f8f.js";const _={name:"DeviceSolaxBat",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(e,t=void 0){this.$emit("update:configuration",{value:e,object:t})}}},f={class:"device-solax-bat"},m={class:"small"};function b(e,t,g,h,v,x){const i=o("openwb-base-heading"),r=o("openwb-base-alert");return d(),p("div",f,[n(i,null,{default:a(()=>[s(" Einstellungen für Solax Batteriespeicher "),l("span",m,"(Modul: "+u(e.$options.name)+")",1)]),_:1}),n(r,{subtype:"info"},{default:a(()=>[s(" Diese Komponente erfordert keine Einstellungen. ")]),_:1})])}const $=c(_,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/solax/bat.vue"]]);export{$ as default}; +import{_ as c,q as o,k as d,l as p,B as n,M as a,x as s,u as l,y as u}from"./vendor-493c2bec.js";import"./vendor-sortablejs-0b339223.js";const _={name:"DeviceSolaxBat",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(e,t=void 0){this.$emit("update:configuration",{value:e,object:t})}}},f={class:"device-solax-bat"},m={class:"small"};function b(e,t,g,h,v,x){const i=o("openwb-base-heading"),r=o("openwb-base-alert");return d(),p("div",f,[n(i,null,{default:a(()=>[s(" Einstellungen für Solax Batteriespeicher "),l("span",m,"(Modul: "+u(e.$options.name)+")",1)]),_:1}),n(r,{subtype:"info"},{default:a(()=>[s(" Diese Komponente erfordert keine Einstellungen. ")]),_:1})])}const $=c(_,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/solax/bat.vue"]]);export{$ as default}; diff --git a/web/settings/assets/bat-9251ec29.js b/web/settings/assets/bat-c354b4f4.js similarity index 88% rename from web/settings/assets/bat-9251ec29.js rename to web/settings/assets/bat-c354b4f4.js index 107436ea97..a755a51cc9 100644 --- a/web/settings/assets/bat-9251ec29.js +++ b/web/settings/assets/bat-c354b4f4.js @@ -1 +1 @@ -import{_ as d,q as t,k as c,l as p,B as o,M as l,x as m,u as _,y as f}from"./vendor-f0f38b48.js";import"./vendor-sortablejs-cbf37f8f.js";const b={name:"DeviceFemsBat",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(n,e=void 0){this.$emit("update:configuration",{value:n,object:e})}}},g={class:"device-fems-bat"},v={class:"small"};function h(n,e,a,B,w,i){const s=t("openwb-base-heading"),r=t("openwb-base-number-input");return c(),p("div",g,[o(s,null,{default:l(()=>[m(" Einstellungen für openEMS, Fenecon FEMS, CENTURIO 10, Kaco Hy-Control Batteriespeicher "),_("span",v,"(Modul: "+f(n.$options.name)+")",1)]),_:1}),o(r,{title:"Anzahl der verbauten Speicher",required:"",min:1,max:2,"model-value":a.configuration.num,"onUpdate:modelValue":e[0]||(e[0]=u=>i.updateConfiguration(u,"configuration.num"))},null,8,["model-value"])])}const E=d(b,[["render",h],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/fems/bat.vue"]]);export{E as default}; +import{_ as d,q as t,k as c,l as p,B as o,M as l,x as m,u as _,y as f}from"./vendor-493c2bec.js";import"./vendor-sortablejs-0b339223.js";const b={name:"DeviceFemsBat",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(n,e=void 0){this.$emit("update:configuration",{value:n,object:e})}}},g={class:"device-fems-bat"},v={class:"small"};function h(n,e,a,B,w,i){const s=t("openwb-base-heading"),r=t("openwb-base-number-input");return c(),p("div",g,[o(s,null,{default:l(()=>[m(" Einstellungen für openEMS, Fenecon FEMS, CENTURIO 10, Kaco Hy-Control Batteriespeicher "),_("span",v,"(Modul: "+f(n.$options.name)+")",1)]),_:1}),o(r,{title:"Anzahl der verbauten Speicher",required:"",min:1,max:2,"model-value":a.configuration.num,"onUpdate:modelValue":e[0]||(e[0]=u=>i.updateConfiguration(u,"configuration.num"))},null,8,["model-value"])])}const E=d(b,[["render",h],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/fems/bat.vue"]]);export{E as default}; diff --git a/web/settings/assets/bat-c6b79b0c.js b/web/settings/assets/bat-cb142c5a.js similarity index 92% rename from web/settings/assets/bat-c6b79b0c.js rename to web/settings/assets/bat-cb142c5a.js index 8e9a1dcbca..eb39516556 100644 --- a/web/settings/assets/bat-c6b79b0c.js +++ b/web/settings/assets/bat-cb142c5a.js @@ -1 +1 @@ -import{_ as r,q as n,k as p,l as d,B as o,M as s,x as a,u,y as l}from"./vendor-f0f38b48.js";import"./vendor-sortablejs-cbf37f8f.js";const _={name:"DeviceRCTBat",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(e,t=void 0){this.$emit("update:configuration",{value:e,object:t})}}},f={class:"device-rct-bat"},m={class:"small"};function b(e,t,g,h,v,B){const i=n("openwb-base-heading"),c=n("openwb-base-alert");return p(),d("div",f,[o(i,null,{default:s(()=>[a(" Einstellungen für RCT Batteriespeicher "),u("span",m,"(Modul: "+l(e.$options.name)+")",1)]),_:1}),o(c,{subtype:"info"},{default:s(()=>[a(" Diese Komponente benötigt keine Einstellungen. ")]),_:1})])}const x=r(_,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/rct/bat.vue"]]);export{x as default}; +import{_ as r,q as n,k as p,l as d,B as o,M as s,x as a,u,y as l}from"./vendor-493c2bec.js";import"./vendor-sortablejs-0b339223.js";const _={name:"DeviceRCTBat",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(e,t=void 0){this.$emit("update:configuration",{value:e,object:t})}}},f={class:"device-rct-bat"},m={class:"small"};function b(e,t,g,h,v,B){const i=n("openwb-base-heading"),c=n("openwb-base-alert");return p(),d("div",f,[o(i,null,{default:s(()=>[a(" Einstellungen für RCT Batteriespeicher "),u("span",m,"(Modul: "+l(e.$options.name)+")",1)]),_:1}),o(c,{subtype:"info"},{default:s(()=>[a(" Diese Komponente benötigt keine Einstellungen. ")]),_:1})])}const x=r(_,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/rct/bat.vue"]]);export{x as default}; diff --git a/web/settings/assets/bat-2ac58cf4.js b/web/settings/assets/bat-cf431bde.js similarity index 93% rename from web/settings/assets/bat-2ac58cf4.js rename to web/settings/assets/bat-cf431bde.js index 2bf95282bd..a8b5146ed4 100644 --- a/web/settings/assets/bat-2ac58cf4.js +++ b/web/settings/assets/bat-cf431bde.js @@ -1 +1 @@ -import{_ as r,q as t,k as c,l,B as o,M as p,x as m,u as _,y as b}from"./vendor-f0f38b48.js";import"./vendor-sortablejs-cbf37f8f.js";const f={name:"DeviceSunnyIslandBat",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(n,e=void 0){this.$emit("update:configuration",{value:n,object:e})}}},g={class:"device-sunnyisland-bat"},v={class:"small"};function h(n,e,a,y,B,s){const i=t("openwb-base-heading"),d=t("openwb-base-number-input");return c(),l("div",g,[o(i,null,{default:p(()=>[m(" Einstellungen für Sunny Island Batteriespeicher "),_("span",v,"(Modul: "+b(n.$options.name)+")",1)]),_:1}),o(d,{title:"Modbus ID",required:"","model-value":a.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[0]||(e[0]=u=>s.updateConfiguration(u,"configuration.modbus_id"))},null,8,["model-value"])])}const I=r(f,[["render",h],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/sma_sunny_island/bat.vue"]]);export{I as default}; +import{_ as r,q as t,k as c,l,B as o,M as p,x as m,u as _,y as b}from"./vendor-493c2bec.js";import"./vendor-sortablejs-0b339223.js";const f={name:"DeviceSunnyIslandBat",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(n,e=void 0){this.$emit("update:configuration",{value:n,object:e})}}},g={class:"device-sunnyisland-bat"},v={class:"small"};function h(n,e,a,y,B,s){const i=t("openwb-base-heading"),d=t("openwb-base-number-input");return c(),l("div",g,[o(i,null,{default:p(()=>[m(" Einstellungen für Sunny Island Batteriespeicher "),_("span",v,"(Modul: "+b(n.$options.name)+")",1)]),_:1}),o(d,{title:"Modbus ID",required:"","model-value":a.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[0]||(e[0]=u=>s.updateConfiguration(u,"configuration.modbus_id"))},null,8,["model-value"])])}const I=r(f,[["render",h],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/sma_sunny_island/bat.vue"]]);export{I as default}; diff --git a/web/settings/assets/bat-f27df809.js b/web/settings/assets/bat-d12bc7a0.js similarity index 93% rename from web/settings/assets/bat-f27df809.js rename to web/settings/assets/bat-d12bc7a0.js index f1944b0731..96a3cf797e 100644 --- a/web/settings/assets/bat-f27df809.js +++ b/web/settings/assets/bat-d12bc7a0.js @@ -1 +1 @@ -import{_ as p,q as o,k as c,l as d,B as n,M as a,x as s,u,y as l}from"./vendor-f0f38b48.js";import"./vendor-sortablejs-cbf37f8f.js";const _={name:"DeviceSaxpowerBat",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(e,t=void 0){this.$emit("update:configuration",{value:e,object:t})}}},f={class:"device-saxpower-bat"},m={class:"small"};function b(e,t,g,w,h,v){const i=o("openwb-base-heading"),r=o("openwb-base-alert");return c(),d("div",f,[n(i,null,{default:a(()=>[s(" Einstellungen für Saxpower Batteriespeicher "),u("span",m,"(Modul: "+l(e.$options.name)+")",1)]),_:1}),n(r,{subtype:"info"},{default:a(()=>[s(" Diese Komponente erfordert keine Einstellungen. ")]),_:1})])}const $=p(_,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/saxpower/bat.vue"]]);export{$ as default}; +import{_ as p,q as o,k as c,l as d,B as n,M as a,x as s,u,y as l}from"./vendor-493c2bec.js";import"./vendor-sortablejs-0b339223.js";const _={name:"DeviceSaxpowerBat",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(e,t=void 0){this.$emit("update:configuration",{value:e,object:t})}}},f={class:"device-saxpower-bat"},m={class:"small"};function b(e,t,g,w,h,v){const i=o("openwb-base-heading"),r=o("openwb-base-alert");return c(),d("div",f,[n(i,null,{default:a(()=>[s(" Einstellungen für Saxpower Batteriespeicher "),u("span",m,"(Modul: "+l(e.$options.name)+")",1)]),_:1}),n(r,{subtype:"info"},{default:a(()=>[s(" Diese Komponente erfordert keine Einstellungen. ")]),_:1})])}const $=p(_,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/saxpower/bat.vue"]]);export{$ as default}; diff --git a/web/settings/assets/bat-9eb1485f.js b/web/settings/assets/bat-dba7fea5.js similarity index 90% rename from web/settings/assets/bat-9eb1485f.js rename to web/settings/assets/bat-dba7fea5.js index 5a9e5cb1f4..bae9d1ff30 100644 --- a/web/settings/assets/bat-9eb1485f.js +++ b/web/settings/assets/bat-dba7fea5.js @@ -1 +1 @@ -import{_ as r,q as o,k as p,l as c,B as a,M as m,x as _,u as b,y as f}from"./vendor-f0f38b48.js";import"./vendor-sortablejs-cbf37f8f.js";const v={name:"DeviceOpenwbFlexBat",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(t,e=void 0){this.$emit("update:configuration",{value:t,object:e})}}},g={class:"device-openwb-flex-bat"},x={class:"small"};function w(t,e,i,M,B,s){const u=o("openwb-base-heading"),l=o("openwb-base-select-input"),d=o("openwb-base-number-input");return p(),c("div",g,[a(u,null,{default:m(()=>[_(" Einstellungen für openWB-Flex Batteriespeicher "),b("span",x,"(Modul: "+f(t.$options.name)+")",1)]),_:1}),a(l,{title:"Zählermodell",notSelected:"Bitte auswählen",options:[{value:0,text:"MPM3PM"},{value:1,text:"SDM120"},{value:2,text:"SDM630/SDM72D-M"}],"model-value":i.configuration.version,"onUpdate:modelValue":e[0]||(e[0]=n=>s.updateConfiguration(n,"configuration.version"))},null,8,["model-value"]),a(d,{title:"Modbus-ID",required:"",min:1,max:255,"model-value":i.configuration.id,"onUpdate:modelValue":e[1]||(e[1]=n=>s.updateConfiguration(n,"configuration.id"))},null,8,["model-value"])])}const C=r(v,[["render",w],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/openwb_flex/bat.vue"]]);export{C as default}; +import{_ as r,q as o,k as p,l as c,B as a,M as m,x as _,u as b,y as f}from"./vendor-493c2bec.js";import"./vendor-sortablejs-0b339223.js";const v={name:"DeviceOpenwbFlexBat",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(t,e=void 0){this.$emit("update:configuration",{value:t,object:e})}}},g={class:"device-openwb-flex-bat"},x={class:"small"};function w(t,e,i,M,B,s){const u=o("openwb-base-heading"),l=o("openwb-base-select-input"),d=o("openwb-base-number-input");return p(),c("div",g,[a(u,null,{default:m(()=>[_(" Einstellungen für openWB-Flex Batteriespeicher "),b("span",x,"(Modul: "+f(t.$options.name)+")",1)]),_:1}),a(l,{title:"Zählermodell",notSelected:"Bitte auswählen",options:[{value:0,text:"MPM3PM"},{value:1,text:"SDM120"},{value:2,text:"SDM630/SDM72D-M"}],"model-value":i.configuration.version,"onUpdate:modelValue":e[0]||(e[0]=n=>s.updateConfiguration(n,"configuration.version"))},null,8,["model-value"]),a(d,{title:"Modbus-ID",required:"",min:1,max:255,"model-value":i.configuration.id,"onUpdate:modelValue":e[1]||(e[1]=n=>s.updateConfiguration(n,"configuration.id"))},null,8,["model-value"])])}const C=r(v,[["render",w],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/openwb_flex/bat.vue"]]);export{C as default}; diff --git a/web/settings/assets/bat-d8eea41d.js b/web/settings/assets/bat-e1df7a2f.js similarity index 86% rename from web/settings/assets/bat-d8eea41d.js rename to web/settings/assets/bat-e1df7a2f.js index 7b63fd55cf..ab45b75cd0 100644 --- a/web/settings/assets/bat-d8eea41d.js +++ b/web/settings/assets/bat-e1df7a2f.js @@ -1 +1 @@ -import{_ as r,q as n,k as p,l as d,B as o,M as s,x as a,u as l,y as u}from"./vendor-f0f38b48.js";import"./vendor-sortablejs-cbf37f8f.js";const _={name:"DeviceTeslaBat",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(e,t=void 0){this.$emit("update:configuration",{value:e,object:t})}}},f={class:"device-tesla-bat"},m={class:"small"};function b(e,t,g,h,v,B){const i=n("openwb-base-heading"),c=n("openwb-base-alert");return p(),d("div",f,[o(i,null,{default:s(()=>[a(" Einstellungen für Tesla Batteriespeicher "),l("span",m,"(Modul: "+u(e.$options.name)+")",1)]),_:1}),o(c,{subtype:"info"},{default:s(()=>[a(" Diese Komponente benötigt keine Einstellungen. ")]),_:1})])}const x=r(_,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/tesla/bat.vue"]]);export{x as default}; +import{_ as r,q as n,k as p,l as d,B as o,M as s,x as a,u as l,y as u}from"./vendor-493c2bec.js";import"./vendor-sortablejs-0b339223.js";const _={name:"DeviceTeslaBat",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(e,t=void 0){this.$emit("update:configuration",{value:e,object:t})}}},f={class:"device-tesla-bat"},m={class:"small"};function b(e,t,g,h,v,B){const i=n("openwb-base-heading"),c=n("openwb-base-alert");return p(),d("div",f,[o(i,null,{default:s(()=>[a(" Einstellungen für Tesla Batteriespeicher "),l("span",m,"(Modul: "+u(e.$options.name)+")",1)]),_:1}),o(c,{subtype:"info"},{default:s(()=>[a(" Diese Komponente benötigt keine Einstellungen. ")]),_:1})])}const x=r(_,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/tesla/bat.vue"]]);export{x as default}; diff --git a/web/settings/assets/bat-52a3046b.js b/web/settings/assets/bat-fe47be1e.js similarity index 87% rename from web/settings/assets/bat-52a3046b.js rename to web/settings/assets/bat-fe47be1e.js index 5026f9bc92..b8f06d939e 100644 --- a/web/settings/assets/bat-52a3046b.js +++ b/web/settings/assets/bat-fe47be1e.js @@ -1 +1 @@ -import{_ as r,q as n,k as c,l as p,B as o,M as l,x as m,u as _,y as b}from"./vendor-f0f38b48.js";import"./vendor-sortablejs-cbf37f8f.js";const f={name:"DeviceStuderBat",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(t,e=void 0){this.$emit("update:configuration",{value:t,object:e})}}},g={class:"device-studer-bat"},v={class:"small"};function h(t,e,a,B,w,s){const i=n("openwb-base-heading"),d=n("openwb-base-number-input");return c(),p("div",g,[o(i,null,{default:l(()=>[m(" Einstellungen für Studer Batteriespeicher "),_("span",v,"(Modul: "+b(t.$options.name)+")",1)]),_:1}),o(d,{title:"Modbus ID",required:"","model-value":a.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[0]||(e[0]=u=>s.updateConfiguration(u,"configuration.modbus_id"))},null,8,["model-value"])])}const C=r(f,[["render",h],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/studer/bat.vue"]]);export{C as default}; +import{_ as r,q as n,k as c,l as p,B as o,M as l,x as m,u as _,y as b}from"./vendor-493c2bec.js";import"./vendor-sortablejs-0b339223.js";const f={name:"DeviceStuderBat",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(t,e=void 0){this.$emit("update:configuration",{value:t,object:e})}}},g={class:"device-studer-bat"},v={class:"small"};function h(t,e,a,B,w,s){const i=n("openwb-base-heading"),d=n("openwb-base-number-input");return c(),p("div",g,[o(i,null,{default:l(()=>[m(" Einstellungen für Studer Batteriespeicher "),_("span",v,"(Modul: "+b(t.$options.name)+")",1)]),_:1}),o(d,{title:"Modbus ID",required:"","model-value":a.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[0]||(e[0]=u=>s.updateConfiguration(u,"configuration.modbus_id"))},null,8,["model-value"])])}const C=r(f,[["render",h],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/studer/bat.vue"]]);export{C as default}; diff --git a/web/settings/assets/bat_api-f12964ea.js b/web/settings/assets/bat_api-511fb137.js similarity index 93% rename from web/settings/assets/bat_api-f12964ea.js rename to web/settings/assets/bat_api-511fb137.js index 31f2369364..9e5c9f7d16 100644 --- a/web/settings/assets/bat_api-f12964ea.js +++ b/web/settings/assets/bat_api-511fb137.js @@ -1 +1 @@ -import{_ as c,q as n,k as p,l as d,B as a,M as o,x as s,u,y as _}from"./vendor-f0f38b48.js";import"./vendor-sortablejs-cbf37f8f.js";const l={name:"DeviceVartaAPIBat",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(e,t=void 0){this.$emit("update:configuration",{value:e,object:t})}}},f={class:"device-varta-bat"},m={class:"small"};function b(e,t,g,v,h,B){const i=n("openwb-base-heading"),r=n("openwb-base-alert");return p(),d("div",f,[a(i,null,{default:o(()=>[s(" Einstellungen für Varta API Batteriespeicher "),u("span",m,"(Modul: "+_(e.$options.name)+")",1)]),_:1}),a(r,{subtype:"info"},{default:o(()=>[s(" Diese Komponente benötigt keine Einstellungen. ")]),_:1})])}const x=c(l,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/varta/bat_api.vue"]]);export{x as default}; +import{_ as c,q as n,k as p,l as d,B as a,M as o,x as s,u,y as _}from"./vendor-493c2bec.js";import"./vendor-sortablejs-0b339223.js";const l={name:"DeviceVartaAPIBat",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(e,t=void 0){this.$emit("update:configuration",{value:e,object:t})}}},f={class:"device-varta-bat"},m={class:"small"};function b(e,t,g,v,h,B){const i=n("openwb-base-heading"),r=n("openwb-base-alert");return p(),d("div",f,[a(i,null,{default:o(()=>[s(" Einstellungen für Varta API Batteriespeicher "),u("span",m,"(Modul: "+_(e.$options.name)+")",1)]),_:1}),a(r,{subtype:"info"},{default:o(()=>[s(" Diese Komponente benötigt keine Einstellungen. ")]),_:1})])}const x=c(l,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/varta/bat_api.vue"]]);export{x as default}; diff --git a/web/settings/assets/bat_modbus-91e4bbfe.js b/web/settings/assets/bat_modbus-5b0a2c53.js similarity index 93% rename from web/settings/assets/bat_modbus-91e4bbfe.js rename to web/settings/assets/bat_modbus-5b0a2c53.js index a65bb931aa..35faa3ea8f 100644 --- a/web/settings/assets/bat_modbus-91e4bbfe.js +++ b/web/settings/assets/bat_modbus-5b0a2c53.js @@ -1 +1 @@ -import{_ as d,q as n,k as c,l as p,B as o,M as a,x as s,u,y as _}from"./vendor-f0f38b48.js";import"./vendor-sortablejs-cbf37f8f.js";const l={name:"DeviceVartaModbusBat",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(e,t=void 0){this.$emit("update:configuration",{value:e,object:t})}}},b={class:"device-varta-bat"},m={class:"small"};function f(e,t,g,v,h,B){const i=n("openwb-base-heading"),r=n("openwb-base-alert");return c(),p("div",b,[o(i,null,{default:a(()=>[s(" Einstellungen für Varta Modbus Batteriespeicher "),u("span",m,"(Modul: "+_(e.$options.name)+")",1)]),_:1}),o(r,{subtype:"info"},{default:a(()=>[s(" Diese Komponente benötigt keine Einstellungen. ")]),_:1})])}const x=d(l,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/varta/bat_modbus.vue"]]);export{x as default}; +import{_ as d,q as n,k as c,l as p,B as o,M as a,x as s,u,y as _}from"./vendor-493c2bec.js";import"./vendor-sortablejs-0b339223.js";const l={name:"DeviceVartaModbusBat",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(e,t=void 0){this.$emit("update:configuration",{value:e,object:t})}}},b={class:"device-varta-bat"},m={class:"small"};function f(e,t,g,v,h,B){const i=n("openwb-base-heading"),r=n("openwb-base-alert");return c(),p("div",b,[o(i,null,{default:a(()=>[s(" Einstellungen für Varta Modbus Batteriespeicher "),u("span",m,"(Modul: "+_(e.$options.name)+")",1)]),_:1}),o(r,{subtype:"info"},{default:a(()=>[s(" Diese Komponente benötigt keine Einstellungen. ")]),_:1})])}const x=d(l,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/varta/bat_modbus.vue"]]);export{x as default}; diff --git a/web/settings/assets/bat_smart_energy-931a9518.js b/web/settings/assets/bat_smart_energy-72a05d2b.js similarity index 88% rename from web/settings/assets/bat_smart_energy-931a9518.js rename to web/settings/assets/bat_smart_energy-72a05d2b.js index 2fb2f20b25..646c754d12 100644 --- a/web/settings/assets/bat_smart_energy-931a9518.js +++ b/web/settings/assets/bat_smart_energy-72a05d2b.js @@ -1 +1 @@ -import{_ as d,q as t,k as c,l as p,B as o,M as m,x as _,u as l,y as b}from"./vendor-f0f38b48.js";import"./vendor-sortablejs-cbf37f8f.js";const f={name:"DeviceSunnyBoyBatSmartEnergy",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(n,e=void 0){this.$emit("update:configuration",{value:n,object:e})}}},g={class:"device-sunnyboy-bat-smart-energy"},y={class:"small"};function v(n,e,a,B,h,s){const i=t("openwb-base-heading"),r=t("openwb-base-number-input");return c(),p("div",g,[o(i,null,{default:m(()=>[_(" Einstellungen für SMA Sunny Boy Smart Energy Batteriespeicher "),l("span",y,"(Modul: "+b(n.$options.name)+")",1)]),_:1}),o(r,{title:"Modbus ID",required:"","model-value":a.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[0]||(e[0]=u=>s.updateConfiguration(u,"configuration.modbus_id"))},null,8,["model-value"])])}const S=d(f,[["render",v],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/sma_sunny_boy/bat_smart_energy.vue"]]);export{S as default}; +import{_ as d,q as t,k as c,l as p,B as o,M as m,x as _,u as l,y as b}from"./vendor-493c2bec.js";import"./vendor-sortablejs-0b339223.js";const f={name:"DeviceSunnyBoyBatSmartEnergy",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(n,e=void 0){this.$emit("update:configuration",{value:n,object:e})}}},g={class:"device-sunnyboy-bat-smart-energy"},y={class:"small"};function v(n,e,a,B,h,s){const i=t("openwb-base-heading"),r=t("openwb-base-number-input");return c(),p("div",g,[o(i,null,{default:m(()=>[_(" Einstellungen für SMA Sunny Boy Smart Energy Batteriespeicher "),l("span",y,"(Modul: "+b(n.$options.name)+")",1)]),_:1}),o(r,{title:"Modbus ID",required:"","model-value":a.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[0]||(e[0]=u=>s.updateConfiguration(u,"configuration.modbus_id"))},null,8,["model-value"])])}const S=d(f,[["render",v],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/sma_sunny_boy/bat_smart_energy.vue"]]);export{S as default}; diff --git a/web/settings/assets/chargePoint-f8eca554.js b/web/settings/assets/chargePoint-28f677c8.js similarity index 95% rename from web/settings/assets/chargePoint-f8eca554.js rename to web/settings/assets/chargePoint-28f677c8.js index 476af34415..71264d3f5c 100644 --- a/web/settings/assets/chargePoint-f8eca554.js +++ b/web/settings/assets/chargePoint-28f677c8.js @@ -1 +1 @@ -import{_ as s,q as a,k as p,l,B as r,M as m,x as c}from"./vendor-f0f38b48.js";import"./vendor-sortablejs-cbf37f8f.js";const _={name:"ChargePointSatellite",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},chargePointId:{default:void 0}},methods:{updateConfiguration(t,e=void 0){e&&(e="configuration."+e),this.$emit("update:configuration",{value:t,object:e})}}},f={class:"charge-point-satellite"};function g(t,e,o,b,h,i){const u=a("openwb-base-text-input"),d=a("openwb-base-number-input");return p(),l("div",f,[r(u,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=n=>i.updateConfiguration(n,"ip_address"))},null,8,["model-value"]),r(d,{title:"Ladepunkt-Nummer",required:"",min:1,max:2,"model-value":o.configuration.duo_num+1,"onUpdate:modelValue":e[1]||(e[1]=n=>i.updateConfiguration(n-1,"duo_num"))},{help:m(()=>[c(' Bei einfachen Ladepunkten ist hier immer eine "1" einzutragen. Lediglich bei einer openWB Duo kann mit "2" der zweite enthaltene Ladepunkt angesprochen werden. ')]),_:1},8,["model-value"])])}const x=s(_,[["render",g],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/charge_points/openwb_series2_satellit/chargePoint.vue"]]);export{x as default}; +import{_ as s,q as a,k as p,l,B as r,M as m,x as c}from"./vendor-493c2bec.js";import"./vendor-sortablejs-0b339223.js";const _={name:"ChargePointSatellite",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},chargePointId:{default:void 0}},methods:{updateConfiguration(t,e=void 0){e&&(e="configuration."+e),this.$emit("update:configuration",{value:t,object:e})}}},f={class:"charge-point-satellite"};function g(t,e,o,b,h,i){const u=a("openwb-base-text-input"),d=a("openwb-base-number-input");return p(),l("div",f,[r(u,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=n=>i.updateConfiguration(n,"ip_address"))},null,8,["model-value"]),r(d,{title:"Ladepunkt-Nummer",required:"",min:1,max:2,"model-value":o.configuration.duo_num+1,"onUpdate:modelValue":e[1]||(e[1]=n=>i.updateConfiguration(n-1,"duo_num"))},{help:m(()=>[c(' Bei einfachen Ladepunkten ist hier immer eine "1" einzutragen. Lediglich bei einer openWB Duo kann mit "2" der zweite enthaltene Ladepunkt angesprochen werden. ')]),_:1},8,["model-value"])])}const x=s(_,[["render",g],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/charge_points/openwb_series2_satellit/chargePoint.vue"]]);export{x as default}; diff --git a/web/settings/assets/chargePoint-1fa33c24.js b/web/settings/assets/chargePoint-56a4846c.js similarity index 84% rename from web/settings/assets/chargePoint-1fa33c24.js rename to web/settings/assets/chargePoint-56a4846c.js index e006af2857..b4ab9e46b9 100644 --- a/web/settings/assets/chargePoint-1fa33c24.js +++ b/web/settings/assets/chargePoint-56a4846c.js @@ -1 +1 @@ -import{_ as a,q as s,k as p,l as u,B as d}from"./vendor-f0f38b48.js";import"./vendor-sortablejs-cbf37f8f.js";const c={name:"ChargePointOpenwbPro",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},chargePointId:{default:void 0}},methods:{updateConfiguration(o,e=void 0){e&&(e="configuration."+e),this.$emit("update:configuration",{value:o,object:e})}}},_={class:"charge-point-openwbpro"};function l(o,e,t,f,m,n){const i=s("openwb-base-text-input");return p(),u("div",_,[d(i,{title:"IP oder Hostname",subtype:"host",required:"","model-value":t.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=r=>n.updateConfiguration(r,"ip_address"))},null,8,["model-value"])])}const v=a(c,[["render",l],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/charge_points/openwb_pro/chargePoint.vue"]]);export{v as default}; +import{_ as a,q as s,k as p,l as u,B as d}from"./vendor-493c2bec.js";import"./vendor-sortablejs-0b339223.js";const c={name:"ChargePointOpenwbPro",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},chargePointId:{default:void 0}},methods:{updateConfiguration(o,e=void 0){e&&(e="configuration."+e),this.$emit("update:configuration",{value:o,object:e})}}},_={class:"charge-point-openwbpro"};function l(o,e,t,f,m,n){const i=s("openwb-base-text-input");return p(),u("div",_,[d(i,{title:"IP oder Hostname",subtype:"host",required:"","model-value":t.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=r=>n.updateConfiguration(r,"ip_address"))},null,8,["model-value"])])}const v=a(c,[["render",l],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/charge_points/openwb_pro/chargePoint.vue"]]);export{v as default}; diff --git a/web/settings/assets/chargePoint-3b7886f2.js b/web/settings/assets/chargePoint-5812da3a.js similarity index 98% rename from web/settings/assets/chargePoint-3b7886f2.js rename to web/settings/assets/chargePoint-5812da3a.js index 2f409ac86d..807003f88e 100644 --- a/web/settings/assets/chargePoint-3b7886f2.js +++ b/web/settings/assets/chargePoint-5812da3a.js @@ -1 +1 @@ -import{_ as c,q as u,k as p,l as _,B as n,M as l,x as t,u as e,y as s}from"./vendor-f0f38b48.js";import"./vendor-sortablejs-cbf37f8f.js";const h={name:"ChargePointMqtt",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},chargePointId:{default:void 0}},methods:{updateConfiguration(a,r=void 0){this.$emit("update:configuration",{value:a,object:r})}}},g={class:"charge-point-mqtt"},f=e("br",null,null,-1),b=e("br",null,null,-1),m=e("br",null,null,-1),k=e("span",{class:"text-info"},"12.34",-1),B=e("br",null,null,-1),x=e("br",null,null,-1),v=e("span",{class:"text-info"},"1",-1),w=e("br",null,null,-1),W=e("br",null,null,-1),T=e("span",{class:"text-info"},"[6.78,6.89,6.94]",-1),P=e("br",null,null,-1),z=e("br",null,null,-1),L=e("span",{class:"text-info"},"123.45",-1),I=e("br",null,null,-1),y=e("br",null,null,-1),F=e("span",{class:"text-info"},"true",-1),N=e("br",null,null,-1),A=e("br",null,null,-1),Z=e("span",{class:"text-info"},"true",-1),D=e("br",null,null,-1),S=e("br",null,null,-1),E=e("span",{class:"text-info"},"3",-1),M=e("br",null,null,-1),q=e("br",null,null,-1),V=e("br",null,null,-1),C=e("span",{class:"text-info"},"123.45",-1),G=e("br",null,null,-1),j=e("br",null,null,-1),O=e("br",null,null,-1),J=e("span",{class:"text-info"},"123.45",-1),K=e("br",null,null,-1),Q=e("br",null,null,-1),H=e("br",null,null,-1),R=e("span",{class:"text-info"},"[230.12,231.08,232.54]",-1),U=e("br",null,null,-1),X=e("br",null,null,-1),Y=e("br",null,null,-1),$=e("span",{class:"text-info"},"[-0.87,0.96,1.0]",-1),ee=e("br",null,null,-1),te=e("br",null,null,-1),ne=e("span",{class:"text-info"},'"123654"',-1);function le(a,r,i,ie,oe,se){const d=u("openwb-base-alert"),o=u("openwb-base-copy-to-clipboard");return p(),_("div",g,[n(d,{subtype:"danger"},{default:l(()=>[t(" Dieser Ladepunkt-Typ darf nur in Kombination mit dem Simulator zur Fehleranalyse genutzt werden. Eine andere Verwendung ist laut den Nutzungsbedingungen untersagt. ")]),_:1}),n(d,{subtype:"info"},{default:l(()=>[t(" Das MQTT Modul stellt keine aktive Verbindung her, sondern erwartet, dass die Daten von speziellen Topics im Broker gelesen bzw. geschrieben werden."),f,t(" Alle Daten werden als gültiges JSON gesendet und auch so erwartet! Zahlen mit Nachkommastellen (Float) verwenden einen Punkt als Dezimaltrenner (internationales Format). "),e("ol",null,[e("li",null,[t(" von openWB gesendete Topics "),e("ul",null,[e("li",null,[n(o,{class:"text-info",tooltip:"Topic kopieren"},{default:l(()=>[t(" openWB/chargepoint/"+s(i.chargePointId)+"/set/current",1)]),_:1}),b,t(" Sollwert des Ladestroms, mit Nachkommastellen (Float), positiv (laden) oder negativ (entladen, falls vom Ladepunkt unterstützt)."),m,t(" Beispiel: "),k]),e("li",null,[n(o,{class:"text-info",tooltip:"Topic kopieren"},{default:l(()=>[t(" openWB/chargepoint/"+s(i.chargePointId)+"/set/phases_to_use",1)]),_:1}),B,t(" Sollwert für die Anzahl Phasen als Ganzzahl (Integer). Mögliche Werte: 1 oder 3"),x,t(" Beispiel: "),v])])]),e("li",null,[t(" von openWB zwingend erwartete Topics "),e("ul",null,[e("li",null,[n(o,{class:"text-info",tooltip:"Topic kopieren"},{default:l(()=>[t(" openWB/set/chargepoint/"+s(i.chargePointId)+"/get/currents",1)]),_:1}),w,t(" Aktuelle Phasenströme des Ladepunktes, Array mit drei Zahlen (Float), positiv (laden) oder negativ (entladen, falls vom Ladepunkt unterstützt)."),W,t(" Beispiel: "),T]),e("li",null,[n(o,{class:"text-info",tooltip:"Topic kopieren"},{default:l(()=>[t(" openWB/set/chargepoint/"+s(i.chargePointId)+"/get/power",1)]),_:1}),P,t(" Leistung in Watt, mit Nachkommastellen (Float), positiv (laden) oder negativ (entladen, falls vom Ladepunkt unterstützt)."),z,t(" Beispiel: "),L]),e("li",null,[n(o,{class:"text-info",tooltip:"Topic kopieren"},{default:l(()=>[t(" openWB/set/chargepoint/"+s(i.chargePointId)+"/get/plug_state",1)]),_:1}),I,t(" Zeigt an, ob aktuell ein Fahrzeug angesteckt ist, Wahrheitswert (Bool)."),y,t(" Beispiel: "),F]),e("li",null,[n(o,{class:"text-info",tooltip:"Topic kopieren"},{default:l(()=>[t(" openWB/set/chargepoint/"+s(i.chargePointId)+"/get/charge_state",1)]),_:1}),N,t(" Zeigt an, ob ein Ladevorgang aktiv ist, Wahrheitswert (Bool)."),A,t(" Beispiel: "),Z]),e("li",null,[n(o,{class:"text-info",tooltip:"Topic kopieren"},{default:l(()=>[t(" openWB/set/chargepoint/"+s(i.chargePointId)+"/get/phases_in_use",1)]),_:1}),D,t(" Anzahl der Phasen, mit denen geladen wird, Ganzzahl (Integer). Mögliche Werte: 0 bis 3"),S,t(" Beispiel: "),E])])]),e("li",null,[t(" optionale Topics "),e("ul",null,[e("li",null,[n(o,{class:"text-info",tooltip:"Topic kopieren"},{default:l(()=>[t(" openWB/set/chargepoint/"+s(i.chargePointId)+"/get/imported",1)]),_:1}),M,t(" Geladene Energie in Wh, mit Nachkommastellen (Float), nur positiv"),q,t(" Wird dieses Topic nicht vom Ladepunkt gesendet, so wird intern ein Zählerstand anhand der Leistung simuliert."),V,t(" Beispiel: "),C]),e("li",null,[n(o,{class:"text-info",tooltip:"Topic kopieren"},{default:l(()=>[t(" openWB/set/chargepoint/"+s(i.chargePointId)+"/get/exported",1)]),_:1}),G,t(" Entladene Energie in Wh, mit Nachkommastellen (Float), nur positiv"),j,t(" Wird dieses Topic nicht vom Ladepunkt gesendet, so wird intern ein Zählerstand anhand der Leistung simuliert."),O,t(" Beispiel: "),J]),e("li",null,[n(o,{class:"text-info",tooltip:"Topic kopieren"},{default:l(()=>[t(" openWB/set/chargepoint/"+s(i.chargePointId)+"/get/voltages",1)]),_:1}),K,t(" Aktuelle Phasenspannungen des Ladepunktes, Array mit drei Zahlen (Float), nur positiv."),Q,t(" Die Spannungen werden nicht verarbeitet, sondern lediglich im Status angezeigt."),H,t(" Beispiel: "),R]),e("li",null,[n(o,{class:"text-info",tooltip:"Topic kopieren"},{default:l(()=>[t(" openWB/set/chargepoint/"+s(i.chargePointId)+"/get/power_factors",1)]),_:1}),U,t(" Aktuelle Leistungsfaktoren des Ladepunktes, Array mit drei Zahlen (Float), Wertebereich von -1 bis 1."),X,t(" Die Leistungsfaktoren werden nicht verarbeitet, sondern lediglich im Status angezeigt."),Y,t(" Beispiel: "),$]),e("li",null,[n(o,{class:"text-info",tooltip:"Topic kopieren"},{default:l(()=>[t(" openWB/set/chargepoint/"+s(i.chargePointId)+"/get/rfid_tag",1)]),_:1}),ee,t(" Eine Zeichenfolge, die einen eingelesenen Tag für openWB repräsentiert."),te,t(" Beispiel: "),ne])])])])]),_:1})])}const de=c(h,[["render",le],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/charge_points/mqtt/chargePoint.vue"]]);export{de as default}; +import{_ as c,q as u,k as p,l as _,B as n,M as l,x as t,u as e,y as s}from"./vendor-493c2bec.js";import"./vendor-sortablejs-0b339223.js";const h={name:"ChargePointMqtt",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},chargePointId:{default:void 0}},methods:{updateConfiguration(a,r=void 0){this.$emit("update:configuration",{value:a,object:r})}}},g={class:"charge-point-mqtt"},f=e("br",null,null,-1),b=e("br",null,null,-1),m=e("br",null,null,-1),k=e("span",{class:"text-info"},"12.34",-1),B=e("br",null,null,-1),x=e("br",null,null,-1),v=e("span",{class:"text-info"},"1",-1),w=e("br",null,null,-1),W=e("br",null,null,-1),T=e("span",{class:"text-info"},"[6.78,6.89,6.94]",-1),P=e("br",null,null,-1),z=e("br",null,null,-1),L=e("span",{class:"text-info"},"123.45",-1),I=e("br",null,null,-1),y=e("br",null,null,-1),F=e("span",{class:"text-info"},"true",-1),N=e("br",null,null,-1),A=e("br",null,null,-1),Z=e("span",{class:"text-info"},"true",-1),D=e("br",null,null,-1),S=e("br",null,null,-1),E=e("span",{class:"text-info"},"3",-1),M=e("br",null,null,-1),q=e("br",null,null,-1),V=e("br",null,null,-1),C=e("span",{class:"text-info"},"123.45",-1),G=e("br",null,null,-1),j=e("br",null,null,-1),O=e("br",null,null,-1),J=e("span",{class:"text-info"},"123.45",-1),K=e("br",null,null,-1),Q=e("br",null,null,-1),H=e("br",null,null,-1),R=e("span",{class:"text-info"},"[230.12,231.08,232.54]",-1),U=e("br",null,null,-1),X=e("br",null,null,-1),Y=e("br",null,null,-1),$=e("span",{class:"text-info"},"[-0.87,0.96,1.0]",-1),ee=e("br",null,null,-1),te=e("br",null,null,-1),ne=e("span",{class:"text-info"},'"123654"',-1);function le(a,r,i,ie,oe,se){const d=u("openwb-base-alert"),o=u("openwb-base-copy-to-clipboard");return p(),_("div",g,[n(d,{subtype:"danger"},{default:l(()=>[t(" Dieser Ladepunkt-Typ darf nur in Kombination mit dem Simulator zur Fehleranalyse genutzt werden. Eine andere Verwendung ist laut den Nutzungsbedingungen untersagt. ")]),_:1}),n(d,{subtype:"info"},{default:l(()=>[t(" Das MQTT Modul stellt keine aktive Verbindung her, sondern erwartet, dass die Daten von speziellen Topics im Broker gelesen bzw. geschrieben werden."),f,t(" Alle Daten werden als gültiges JSON gesendet und auch so erwartet! Zahlen mit Nachkommastellen (Float) verwenden einen Punkt als Dezimaltrenner (internationales Format). "),e("ol",null,[e("li",null,[t(" von openWB gesendete Topics "),e("ul",null,[e("li",null,[n(o,{class:"text-info",tooltip:"Topic kopieren"},{default:l(()=>[t(" openWB/chargepoint/"+s(i.chargePointId)+"/set/current",1)]),_:1}),b,t(" Sollwert des Ladestroms, mit Nachkommastellen (Float), positiv (laden) oder negativ (entladen, falls vom Ladepunkt unterstützt)."),m,t(" Beispiel: "),k]),e("li",null,[n(o,{class:"text-info",tooltip:"Topic kopieren"},{default:l(()=>[t(" openWB/chargepoint/"+s(i.chargePointId)+"/set/phases_to_use",1)]),_:1}),B,t(" Sollwert für die Anzahl Phasen als Ganzzahl (Integer). Mögliche Werte: 1 oder 3"),x,t(" Beispiel: "),v])])]),e("li",null,[t(" von openWB zwingend erwartete Topics "),e("ul",null,[e("li",null,[n(o,{class:"text-info",tooltip:"Topic kopieren"},{default:l(()=>[t(" openWB/set/chargepoint/"+s(i.chargePointId)+"/get/currents",1)]),_:1}),w,t(" Aktuelle Phasenströme des Ladepunktes, Array mit drei Zahlen (Float), positiv (laden) oder negativ (entladen, falls vom Ladepunkt unterstützt)."),W,t(" Beispiel: "),T]),e("li",null,[n(o,{class:"text-info",tooltip:"Topic kopieren"},{default:l(()=>[t(" openWB/set/chargepoint/"+s(i.chargePointId)+"/get/power",1)]),_:1}),P,t(" Leistung in Watt, mit Nachkommastellen (Float), positiv (laden) oder negativ (entladen, falls vom Ladepunkt unterstützt)."),z,t(" Beispiel: "),L]),e("li",null,[n(o,{class:"text-info",tooltip:"Topic kopieren"},{default:l(()=>[t(" openWB/set/chargepoint/"+s(i.chargePointId)+"/get/plug_state",1)]),_:1}),I,t(" Zeigt an, ob aktuell ein Fahrzeug angesteckt ist, Wahrheitswert (Bool)."),y,t(" Beispiel: "),F]),e("li",null,[n(o,{class:"text-info",tooltip:"Topic kopieren"},{default:l(()=>[t(" openWB/set/chargepoint/"+s(i.chargePointId)+"/get/charge_state",1)]),_:1}),N,t(" Zeigt an, ob ein Ladevorgang aktiv ist, Wahrheitswert (Bool)."),A,t(" Beispiel: "),Z]),e("li",null,[n(o,{class:"text-info",tooltip:"Topic kopieren"},{default:l(()=>[t(" openWB/set/chargepoint/"+s(i.chargePointId)+"/get/phases_in_use",1)]),_:1}),D,t(" Anzahl der Phasen, mit denen geladen wird, Ganzzahl (Integer). Mögliche Werte: 0 bis 3"),S,t(" Beispiel: "),E])])]),e("li",null,[t(" optionale Topics "),e("ul",null,[e("li",null,[n(o,{class:"text-info",tooltip:"Topic kopieren"},{default:l(()=>[t(" openWB/set/chargepoint/"+s(i.chargePointId)+"/get/imported",1)]),_:1}),M,t(" Geladene Energie in Wh, mit Nachkommastellen (Float), nur positiv"),q,t(" Wird dieses Topic nicht vom Ladepunkt gesendet, so wird intern ein Zählerstand anhand der Leistung simuliert."),V,t(" Beispiel: "),C]),e("li",null,[n(o,{class:"text-info",tooltip:"Topic kopieren"},{default:l(()=>[t(" openWB/set/chargepoint/"+s(i.chargePointId)+"/get/exported",1)]),_:1}),G,t(" Entladene Energie in Wh, mit Nachkommastellen (Float), nur positiv"),j,t(" Wird dieses Topic nicht vom Ladepunkt gesendet, so wird intern ein Zählerstand anhand der Leistung simuliert."),O,t(" Beispiel: "),J]),e("li",null,[n(o,{class:"text-info",tooltip:"Topic kopieren"},{default:l(()=>[t(" openWB/set/chargepoint/"+s(i.chargePointId)+"/get/voltages",1)]),_:1}),K,t(" Aktuelle Phasenspannungen des Ladepunktes, Array mit drei Zahlen (Float), nur positiv."),Q,t(" Die Spannungen werden nicht verarbeitet, sondern lediglich im Status angezeigt."),H,t(" Beispiel: "),R]),e("li",null,[n(o,{class:"text-info",tooltip:"Topic kopieren"},{default:l(()=>[t(" openWB/set/chargepoint/"+s(i.chargePointId)+"/get/power_factors",1)]),_:1}),U,t(" Aktuelle Leistungsfaktoren des Ladepunktes, Array mit drei Zahlen (Float), Wertebereich von -1 bis 1."),X,t(" Die Leistungsfaktoren werden nicht verarbeitet, sondern lediglich im Status angezeigt."),Y,t(" Beispiel: "),$]),e("li",null,[n(o,{class:"text-info",tooltip:"Topic kopieren"},{default:l(()=>[t(" openWB/set/chargepoint/"+s(i.chargePointId)+"/get/rfid_tag",1)]),_:1}),ee,t(" Eine Zeichenfolge, die einen eingelesenen Tag für openWB repräsentiert."),te,t(" Beispiel: "),ne])])])])]),_:1})])}const de=c(h,[["render",le],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/charge_points/mqtt/chargePoint.vue"]]);export{de as default}; diff --git a/web/settings/assets/chargePoint-fd2d17a4.js b/web/settings/assets/chargePoint-8e197fd1.js similarity index 94% rename from web/settings/assets/chargePoint-fd2d17a4.js rename to web/settings/assets/chargePoint-8e197fd1.js index 09efb97f15..9a2caa9f60 100644 --- a/web/settings/assets/chargePoint-fd2d17a4.js +++ b/web/settings/assets/chargePoint-8e197fd1.js @@ -1 +1 @@ -import{_ as d,q as a,k as p,l as m,B as r,M as c,x as l}from"./vendor-f0f38b48.js";import"./vendor-sortablejs-cbf37f8f.js";const _={name:"ChargePointSmartwb",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},chargePointId:{default:void 0}},methods:{updateConfiguration(n,e=void 0){e&&(e="configuration."+e),this.$emit("update:configuration",{value:n,object:e})}}},f={class:"charge-point-smartwb"};function g(n,e,o,b,w,i){const u=a("openwb-base-text-input"),s=a("openwb-base-number-input");return p(),m("div",f,[r(u,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=t=>i.updateConfiguration(t,"ip_address"))},null,8,["model-value"]),r(s,{title:"Wartezeit",required:"",min:2,max:10,unit:"s","model-value":o.configuration.timeout,"onUpdate:modelValue":e[1]||(e[1]=t=>i.updateConfiguration(t,"timeout"))},{help:c(()=>[l(" Zeitangabe in Sekunden, für die auf eine Antwort des Ladepunktes gewartet wird. Wird diese Zeit überschritten, so wird von einer Kommunikationsstörung ausgegangen. ")]),_:1},8,["model-value"])])}const h=d(_,[["render",g],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/charge_points/smartwb/chargePoint.vue"]]);export{h as default}; +import{_ as d,q as a,k as p,l as m,B as r,M as c,x as l}from"./vendor-493c2bec.js";import"./vendor-sortablejs-0b339223.js";const _={name:"ChargePointSmartwb",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},chargePointId:{default:void 0}},methods:{updateConfiguration(n,e=void 0){e&&(e="configuration."+e),this.$emit("update:configuration",{value:n,object:e})}}},f={class:"charge-point-smartwb"};function g(n,e,o,b,w,i){const u=a("openwb-base-text-input"),s=a("openwb-base-number-input");return p(),m("div",f,[r(u,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=t=>i.updateConfiguration(t,"ip_address"))},null,8,["model-value"]),r(s,{title:"Wartezeit",required:"",min:2,max:10,unit:"s","model-value":o.configuration.timeout,"onUpdate:modelValue":e[1]||(e[1]=t=>i.updateConfiguration(t,"timeout"))},{help:c(()=>[l(" Zeitangabe in Sekunden, für die auf eine Antwort des Ladepunktes gewartet wird. Wird diese Zeit überschritten, so wird von einer Kommunikationsstörung ausgegangen. ")]),_:1},8,["model-value"])])}const h=d(_,[["render",g],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/charge_points/smartwb/chargePoint.vue"]]);export{h as default}; diff --git a/web/settings/assets/chargePoint-aec7a368.js b/web/settings/assets/chargePoint-9d491e0e.js similarity index 92% rename from web/settings/assets/chargePoint-aec7a368.js rename to web/settings/assets/chargePoint-9d491e0e.js index f8fe56890a..cc7a82015e 100644 --- a/web/settings/assets/chargePoint-aec7a368.js +++ b/web/settings/assets/chargePoint-9d491e0e.js @@ -1 +1 @@ -import{_ as d,q as a,k as u,l as c,B as l,z as m,M as p,x as f,A as _}from"./vendor-f0f38b48.js";import"./vendor-sortablejs-cbf37f8f.js";const g={name:"ChargePointInternalOpenwb",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},chargePointId:{default:void 0}},methods:{updateConfiguration(n,e=void 0){e&&(e==="mode"&&(n=="series"||n=="socket")&&this.updateConfiguration(0,"duo_num"),e="configuration."+e),this.$emit("update:configuration",{value:n,object:e})}}},b={class:"charge-point-internalopenwb"};function B(n,e,t,h,w,i){const r=a("openwb-base-select-input"),s=a("openwb-base-number-input");return u(),c("div",b,[l(r,{title:"Bauart",notSelected:"Bitte auswählen",options:[{value:"series",text:"openWB series1/2 in den Varianten custom, standard & standard+"},{value:"duo",text:"openWB series1/2 Duo"},{value:"socket",text:"openWB series1/2 Buchse"}],"model-value":t.configuration.mode,"onUpdate:modelValue":e[0]||(e[0]=o=>i.updateConfiguration(o,"mode"))},null,8,["model-value"]),t.configuration.mode=="duo"?(u(),m(s,{key:0,title:"Ladepunkt-Nummer",required:"",min:1,max:2,"model-value":t.configuration.duo_num+1,"onUpdate:modelValue":e[1]||(e[1]=o=>i.updateConfiguration(o-1,"duo_num"))},{help:p(()=>[f(' Bei einfachen Ladepunkten ist hier immer eine "1" einzutragen. Lediglich bei einer openWB Duo kann mit "2" der zweite enthaltene Ladepunkt angesprochen werden. ')]),_:1},8,["model-value"])):_("",!0)])}const x=d(g,[["render",B],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/charge_points/internal_openwb/chargePoint.vue"]]);export{x as default}; +import{_ as d,q as a,k as u,l as c,B as l,z as m,M as p,x as f,A as _}from"./vendor-493c2bec.js";import"./vendor-sortablejs-0b339223.js";const g={name:"ChargePointInternalOpenwb",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},chargePointId:{default:void 0}},methods:{updateConfiguration(n,e=void 0){e&&(e==="mode"&&(n=="series"||n=="socket")&&this.updateConfiguration(0,"duo_num"),e="configuration."+e),this.$emit("update:configuration",{value:n,object:e})}}},b={class:"charge-point-internalopenwb"};function B(n,e,t,h,w,i){const r=a("openwb-base-select-input"),s=a("openwb-base-number-input");return u(),c("div",b,[l(r,{title:"Bauart",notSelected:"Bitte auswählen",options:[{value:"series",text:"openWB series1/2 in den Varianten custom, standard & standard+"},{value:"duo",text:"openWB series1/2 Duo"},{value:"socket",text:"openWB series1/2 Buchse"}],"model-value":t.configuration.mode,"onUpdate:modelValue":e[0]||(e[0]=o=>i.updateConfiguration(o,"mode"))},null,8,["model-value"]),t.configuration.mode=="duo"?(u(),m(s,{key:0,title:"Ladepunkt-Nummer",required:"",min:1,max:2,"model-value":t.configuration.duo_num+1,"onUpdate:modelValue":e[1]||(e[1]=o=>i.updateConfiguration(o-1,"duo_num"))},{help:p(()=>[f(' Bei einfachen Ladepunkten ist hier immer eine "1" einzutragen. Lediglich bei einer openWB Duo kann mit "2" der zweite enthaltene Ladepunkt angesprochen werden. ')]),_:1},8,["model-value"])):_("",!0)])}const x=d(g,[["render",B],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/charge_points/internal_openwb/chargePoint.vue"]]);export{x as default}; diff --git a/web/settings/assets/chargePoint-7f675b57.js b/web/settings/assets/chargePoint-da6b9b5b.js similarity index 95% rename from web/settings/assets/chargePoint-7f675b57.js rename to web/settings/assets/chargePoint-da6b9b5b.js index 759d483ac0..caa791def8 100644 --- a/web/settings/assets/chargePoint-7f675b57.js +++ b/web/settings/assets/chargePoint-da6b9b5b.js @@ -1 +1 @@ -import{_ as s,q as a,k as p,l,B as r,M as m,x as c}from"./vendor-f0f38b48.js";import"./vendor-sortablejs-cbf37f8f.js";const _={name:"ChargePointExternalOpenwb",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},chargePointId:{default:void 0}},methods:{updateConfiguration(t,e=void 0){e&&(e="configuration."+e),this.$emit("update:configuration",{value:t,object:e})}}},f={class:"charge-point-externalopenwb"};function g(t,e,o,b,x,i){const u=a("openwb-base-text-input"),d=a("openwb-base-number-input");return p(),l("div",f,[r(u,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=n=>i.updateConfiguration(n,"ip_address"))},null,8,["model-value"]),r(d,{title:"Ladepunkt-Nummer",required:"",min:1,max:2,"model-value":o.configuration.duo_num+1,"onUpdate:modelValue":e[1]||(e[1]=n=>i.updateConfiguration(n-1,"duo_num"))},{help:m(()=>[c(' Bei einfachen Ladepunkten ist hier immer eine "1" einzutragen. Lediglich bei einer openWB Duo kann mit "2" der zweite enthaltene Ladepunkt angesprochen werden. ')]),_:1},8,["model-value"])])}const v=s(_,[["render",g],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/charge_points/external_openwb/chargePoint.vue"]]);export{v as default}; +import{_ as s,q as a,k as p,l,B as r,M as m,x as c}from"./vendor-493c2bec.js";import"./vendor-sortablejs-0b339223.js";const _={name:"ChargePointExternalOpenwb",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},chargePointId:{default:void 0}},methods:{updateConfiguration(t,e=void 0){e&&(e="configuration."+e),this.$emit("update:configuration",{value:t,object:e})}}},f={class:"charge-point-externalopenwb"};function g(t,e,o,b,x,i){const u=a("openwb-base-text-input"),d=a("openwb-base-number-input");return p(),l("div",f,[r(u,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=n=>i.updateConfiguration(n,"ip_address"))},null,8,["model-value"]),r(d,{title:"Ladepunkt-Nummer",required:"",min:1,max:2,"model-value":o.configuration.duo_num+1,"onUpdate:modelValue":e[1]||(e[1]=n=>i.updateConfiguration(n-1,"duo_num"))},{help:m(()=>[c(' Bei einfachen Ladepunkten ist hier immer eine "1" einzutragen. Lediglich bei einer openWB Duo kann mit "2" der zweite enthaltene Ladepunkt angesprochen werden. ')]),_:1},8,["model-value"])])}const v=s(_,[["render",g],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/charge_points/external_openwb/chargePoint.vue"]]);export{v as default}; diff --git a/web/settings/assets/commands-02fea48b.js b/web/settings/assets/commands-ce25bb14.js similarity index 96% rename from web/settings/assets/commands-02fea48b.js rename to web/settings/assets/commands-ce25bb14.js index c57ee9ae99..1a37cbbca0 100644 --- a/web/settings/assets/commands-02fea48b.js +++ b/web/settings/assets/commands-ce25bb14.js @@ -1 +1 @@ -import{_ as i,q as r,k as p,l as d,B as c,M as u,x as l}from"./vendor-f0f38b48.js";import"./vendor-sortablejs-cbf37f8f.js";const g={name:"ChargePointCommandsOpenwbPro",props:{configuration:{type:Object,required:!0},chargePointId:{default:void 0}},methods:{async triggerUpdate(){let s=new FormData;s.append("command","update"),s.append("data",'{"ip_address":"'+this.configuration.ip_address+'"}');const n="Die Aktualisierung der openWB Pro wird gestartet...";this.$root.postClientMessage(n,"info"),console.debug(location),this.axios.post(location.protocol+"//"+location.host+"/openWB/web/settings/modules/charge_points/openwb_pro/commands.php",s,{timeout:5e3}).then(()=>{const e="Die Aktualisierung der openWB Pro wurde erfolgreich gestartet.";this.$root.postClientMessage(e,"success")}).catch(e=>{var t="Aktualisierung fehlgeschlagen!
";e.response?(console.error(e.response.status,e.response.data),t+=e.response.status+": "+e.response.data):e.request?(console.error(e.request),t+="Es wurde keine Antwort vom Server empfangen."):(console.error("Error",e.message),t+="Es ist ein unbekannter Fehler aufgetreten."),this.$root.postClientMessage(t,"danger")})}}},m={class:"charge-point-commands-openwbpro"};function h(s,n,e,t,_,o){const a=r("openwb-base-button-input");return p(),d("div",m,[c(a,{title:"Ladepunkt aktualisieren",buttonText:"Update anfordern",subtype:"success",disabled:e.configuration.ip_address==null,onButtonClicked:o.triggerUpdate},{help:u(()=>[l(" Mit diesem Befehl können Sie die Aktualisierung der openWB Pro anstoßen. Bitte beachten Sie, dass kein Fahrzeug angesteckt ist. ")]),_:1},8,["disabled","onButtonClicked"])])}const k=i(g,[["render",h],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/charge_points/openwb_pro/commands.vue"]]);export{k as default}; +import{_ as i,q as r,k as p,l as d,B as c,M as u,x as l}from"./vendor-493c2bec.js";import"./vendor-sortablejs-0b339223.js";const g={name:"ChargePointCommandsOpenwbPro",props:{configuration:{type:Object,required:!0},chargePointId:{default:void 0}},methods:{async triggerUpdate(){let s=new FormData;s.append("command","update"),s.append("data",'{"ip_address":"'+this.configuration.ip_address+'"}');const n="Die Aktualisierung der openWB Pro wird gestartet...";this.$root.postClientMessage(n,"info"),console.debug(location),this.axios.post(location.protocol+"//"+location.host+"/openWB/web/settings/modules/charge_points/openwb_pro/commands.php",s,{timeout:5e3}).then(()=>{const e="Die Aktualisierung der openWB Pro wurde erfolgreich gestartet.";this.$root.postClientMessage(e,"success")}).catch(e=>{var t="Aktualisierung fehlgeschlagen!
";e.response?(console.error(e.response.status,e.response.data),t+=e.response.status+": "+e.response.data):e.request?(console.error(e.request),t+="Es wurde keine Antwort vom Server empfangen."):(console.error("Error",e.message),t+="Es ist ein unbekannter Fehler aufgetreten."),this.$root.postClientMessage(t,"danger")})}}},m={class:"charge-point-commands-openwbpro"};function h(s,n,e,t,_,o){const a=r("openwb-base-button-input");return p(),d("div",m,[c(a,{title:"Ladepunkt aktualisieren",buttonText:"Update anfordern",subtype:"success",disabled:e.configuration.ip_address==null,onButtonClicked:o.triggerUpdate},{help:u(()=>[l(" Mit diesem Befehl können Sie die Aktualisierung der openWB Pro anstoßen. Bitte beachten Sie, dass kein Fahrzeug angesteckt ist. ")]),_:1},8,["disabled","onButtonClicked"])])}const k=i(g,[["render",h],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/charge_points/openwb_pro/commands.vue"]]);export{k as default}; diff --git a/web/settings/assets/consumption_counter-b488867d.js b/web/settings/assets/consumption_counter-a52fc8cc.js similarity index 92% rename from web/settings/assets/consumption_counter-b488867d.js rename to web/settings/assets/consumption_counter-a52fc8cc.js index 159759ef6f..aa5a128734 100644 --- a/web/settings/assets/consumption_counter-b488867d.js +++ b/web/settings/assets/consumption_counter-a52fc8cc.js @@ -1 +1 @@ -import{_ as m,q as n,k as _,l as b,B as t,M as u,x as r,u as f,y as g}from"./vendor-f0f38b48.js";import"./vendor-sortablejs-cbf37f8f.js";const v={name:"DeviceOpenwbFlexConsumptionCounter",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(o,e=void 0){this.$emit("update:configuration",{value:o,object:e})}}},w={class:"device-openwb-flex-consumption-counter"},h={class:"small"};function x(o,e,s,B,D,a){const d=n("openwb-base-heading"),l=n("openwb-base-alert"),p=n("openwb-base-select-input"),c=n("openwb-base-number-input");return _(),b("div",w,[t(d,null,{default:u(()=>[r(" Einstellungen für openWB-Flex Verbrauchszähler "),f("span",h,"(Modul: "+g(o.$options.name)+")",1)]),_:1}),t(l,{subtype:"info"},{default:u(()=>[r(" Bei saldierenden Zählern (B23) werden die Zählerstände für Einspeisung und Bezug aus dem Zähler ausgelesen. Bei Zählern, die nicht saldierend arbeiten (SDM120, SDM630, SDM72D-M), wird der Zählerstand für die Einspeisung berechnet. ")]),_:1}),t(p,{title:"Zählermodell",notSelected:"Bitte auswählen",options:[{value:"sdm120",text:"SDM120"},{value:"sdm630",text:"SDM630/SDM72D-M"},{value:"b23",text:"B23"}],"model-value":s.configuration.version,"onUpdate:modelValue":e[0]||(e[0]=i=>a.updateConfiguration(i,"configuration.version"))},null,8,["model-value"]),t(c,{title:"Modbus-ID",required:"",min:1,max:255,"model-value":s.configuration.id,"onUpdate:modelValue":e[1]||(e[1]=i=>a.updateConfiguration(i,"configuration.id"))},null,8,["model-value"])])}const C=m(v,[["render",x],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/openwb_flex/consumption_counter.vue"]]);export{C as default}; +import{_ as m,q as n,k as _,l as b,B as t,M as u,x as r,u as f,y as g}from"./vendor-493c2bec.js";import"./vendor-sortablejs-0b339223.js";const v={name:"DeviceOpenwbFlexConsumptionCounter",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(o,e=void 0){this.$emit("update:configuration",{value:o,object:e})}}},w={class:"device-openwb-flex-consumption-counter"},h={class:"small"};function x(o,e,s,B,D,a){const d=n("openwb-base-heading"),l=n("openwb-base-alert"),p=n("openwb-base-select-input"),c=n("openwb-base-number-input");return _(),b("div",w,[t(d,null,{default:u(()=>[r(" Einstellungen für openWB-Flex Verbrauchszähler "),f("span",h,"(Modul: "+g(o.$options.name)+")",1)]),_:1}),t(l,{subtype:"info"},{default:u(()=>[r(" Bei saldierenden Zählern (B23) werden die Zählerstände für Einspeisung und Bezug aus dem Zähler ausgelesen. Bei Zählern, die nicht saldierend arbeiten (SDM120, SDM630, SDM72D-M), wird der Zählerstand für die Einspeisung berechnet. ")]),_:1}),t(p,{title:"Zählermodell",notSelected:"Bitte auswählen",options:[{value:"sdm120",text:"SDM120"},{value:"sdm630",text:"SDM630/SDM72D-M"},{value:"b23",text:"B23"}],"model-value":s.configuration.version,"onUpdate:modelValue":e[0]||(e[0]=i=>a.updateConfiguration(i,"configuration.version"))},null,8,["model-value"]),t(c,{title:"Modbus-ID",required:"",min:1,max:255,"model-value":s.configuration.id,"onUpdate:modelValue":e[1]||(e[1]=i=>a.updateConfiguration(i,"configuration.id"))},null,8,["model-value"])])}const C=m(v,[["render",x],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/openwb_flex/consumption_counter.vue"]]);export{C as default}; diff --git a/web/settings/assets/counter-dbaea7b9.js b/web/settings/assets/counter-0465e0aa.js similarity index 88% rename from web/settings/assets/counter-dbaea7b9.js rename to web/settings/assets/counter-0465e0aa.js index 27cc1ae04a..9f008fbcd8 100644 --- a/web/settings/assets/counter-dbaea7b9.js +++ b/web/settings/assets/counter-0465e0aa.js @@ -1 +1 @@ -import{_ as d,q as t,k as p,l as c,B as n,M as l,x as _,u as f,y as m}from"./vendor-f0f38b48.js";import"./vendor-sortablejs-cbf37f8f.js";const b={name:"DevicePowerdogCounter",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(o,e=void 0){this.$emit("update:configuration",{value:o,object:e})}}},g={class:"device-powerdog-counter"},v={class:"small"};function w(o,e,u,h,x,a){const i=t("openwb-base-heading"),s=t("openwb-base-button-group-input");return p(),c("div",g,[n(i,null,{default:l(()=>[_(" Einstellungen für Powerdog Zähler "),f("span",v,"(Modul: "+m(o.$options.name)+")",1)]),_:1}),n(s,{title:"Einbau-Position",buttons:[{buttonValue:!1,text:"Hausverbrauch"},{buttonValue:!0,text:"EVU-Punkt"}],"model-value":u.configuration.position_evu,"onUpdate:modelValue":e[0]||(e[0]=r=>a.updateConfiguration(r,"configuration.position_evu"))},null,8,["model-value"])])}const C=d(b,[["render",w],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/powerdog/counter.vue"]]);export{C as default}; +import{_ as d,q as t,k as p,l as c,B as n,M as l,x as _,u as f,y as m}from"./vendor-493c2bec.js";import"./vendor-sortablejs-0b339223.js";const b={name:"DevicePowerdogCounter",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(o,e=void 0){this.$emit("update:configuration",{value:o,object:e})}}},g={class:"device-powerdog-counter"},v={class:"small"};function w(o,e,u,h,x,a){const i=t("openwb-base-heading"),s=t("openwb-base-button-group-input");return p(),c("div",g,[n(i,null,{default:l(()=>[_(" Einstellungen für Powerdog Zähler "),f("span",v,"(Modul: "+m(o.$options.name)+")",1)]),_:1}),n(s,{title:"Einbau-Position",buttons:[{buttonValue:!1,text:"Hausverbrauch"},{buttonValue:!0,text:"EVU-Punkt"}],"model-value":u.configuration.position_evu,"onUpdate:modelValue":e[0]||(e[0]=r=>a.updateConfiguration(r,"configuration.position_evu"))},null,8,["model-value"])])}const C=d(b,[["render",w],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/powerdog/counter.vue"]]);export{C as default}; diff --git a/web/settings/assets/counter-0299bd85.js b/web/settings/assets/counter-070ecde4.js similarity index 86% rename from web/settings/assets/counter-0299bd85.js rename to web/settings/assets/counter-070ecde4.js index d907b050a5..eb17acdc1a 100644 --- a/web/settings/assets/counter-0299bd85.js +++ b/web/settings/assets/counter-070ecde4.js @@ -1 +1 @@ -import{_ as c,q as n,k as u,l as d,B as o,M as a,x as s,u as p,y as l}from"./vendor-f0f38b48.js";import"./vendor-sortablejs-cbf37f8f.js";const _={name:"DeviceJanitzaCounter",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(e,t=void 0){this.$emit("update:configuration",{value:e,object:t})}}},f={class:"device-janitza-counter"},m={class:"small"};function b(e,t,g,v,h,w){const i=n("openwb-base-heading"),r=n("openwb-base-alert");return u(),d("div",f,[o(i,null,{default:a(()=>[s(" Einstellungen für Janitza Zähler "),p("span",m,"(Modul: "+l(e.$options.name)+")",1)]),_:1}),o(r,{subtype:"info"},{default:a(()=>[s(' ModbusTCP muss im Janitza auf Port 502 aktiv und die ID auf "1" eingestellt sein. ')]),_:1})])}const z=c(_,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/janitza/counter.vue"]]);export{z as default}; +import{_ as c,q as n,k as u,l as d,B as o,M as a,x as s,u as p,y as l}from"./vendor-493c2bec.js";import"./vendor-sortablejs-0b339223.js";const _={name:"DeviceJanitzaCounter",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(e,t=void 0){this.$emit("update:configuration",{value:e,object:t})}}},f={class:"device-janitza-counter"},m={class:"small"};function b(e,t,g,v,h,w){const i=n("openwb-base-heading"),r=n("openwb-base-alert");return u(),d("div",f,[o(i,null,{default:a(()=>[s(" Einstellungen für Janitza Zähler "),p("span",m,"(Modul: "+l(e.$options.name)+")",1)]),_:1}),o(r,{subtype:"info"},{default:a(()=>[s(' ModbusTCP muss im Janitza auf Port 502 aktiv und die ID auf "1" eingestellt sein. ')]),_:1})])}const z=c(_,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/janitza/counter.vue"]]);export{z as default}; diff --git a/web/settings/assets/counter-a35d1907.js b/web/settings/assets/counter-104a7f2e.js similarity index 96% rename from web/settings/assets/counter-a35d1907.js rename to web/settings/assets/counter-104a7f2e.js index 47661bd450..0b73238a66 100644 --- a/web/settings/assets/counter-a35d1907.js +++ b/web/settings/assets/counter-104a7f2e.js @@ -1 +1 @@ -import{_ as g,q as d,k as p,l as _,B as n,M as u,x as r,u as s,y as b}from"./vendor-f0f38b48.js";import"./vendor-sortablejs-cbf37f8f.js";const c={name:"DeviceJsonCounter",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(i,e=void 0){this.$emit("update:configuration",{value:i,object:e})}}},w={class:"device-json-counter"},v={class:"small"},j=s("br",null,null,-1);function q(i,e,o,h,x,a){const f=d("openwb-base-heading"),l=d("openwb-base-text-input"),m=d("openwb-base-alert");return p(),_("div",w,[n(f,null,{default:u(()=>[r(" Einstellungen für JSON Zähler "),s("span",v,"(Modul: "+b(i.$options.name)+")",1)]),_:1}),n(l,{title:"Abfrage für Leistung",subtype:"text",required:"","model-value":o.configuration.jq_power,"onUpdate:modelValue":e[0]||(e[0]=t=>a.updateConfiguration(t,"configuration.jq_power"))},{help:u(()=>[r(' Zur Analyse der Werte aus dem json-Objekt wird jq benutzt. Ist die Json Antwort z.B. {"PowerInstalledPeak":4655, "PowerProduced":132, "PowerOut":897.08172362555717, "PowerSelfSupplied":234.9182763744428} So muss hier .PowerOut eingetragen werden. '),j,r(" Es wird vom Server eine Zahl mit oder ohne Nachkommastellen (Float, Integer) und einem Punkt als Dezimaltrennzeichen erwartet, welche die aktuelle Leistung in Watt darstellt. ")]),_:1},8,["model-value"]),n(l,{title:"Abfrage für Zählerstand Bezug",subtype:"text","model-value":o.configuration.jq_imported,"onUpdate:modelValue":e[1]||(e[1]=t=>a.updateConfiguration(t,"configuration.jq_imported"))},{help:u(()=>[r(" Wird dieses Feld leer gelassen, dann werden Zählerstände intern simuliert. ")]),_:1},8,["model-value"]),n(l,{title:"Abfrage für Zählerstand Einspeisung",subtype:"text","model-value":o.configuration.jq_exported,"onUpdate:modelValue":e[2]||(e[2]=t=>a.updateConfiguration(t,"configuration.jq_exported"))},{help:u(()=>[r(" Wird dieses Feld leer gelassen, dann werden Zählerstände intern simuliert. ")]),_:1},8,["model-value"]),n(m,{subtype:"info"},{default:u(()=>[r(" Werden sowohl Leistung als auch Strom auf den Einzelphasen leer gelassen, erfolgt das Lastmanagement am EVU-Punkt nur anhand der Gesamtleistung am EVU-Punkt. Wird der Zähler als Zwischenzähler verwendet, wird in diesem Fall kein Lastmanagement durchgeführt. ")]),_:1}),n(l,{title:"Abfrage für Leistung auf Phase 1",subtype:"text","model-value":o.configuration.jq_power_l1,"onUpdate:modelValue":e[3]||(e[3]=t=>a.updateConfiguration(t,"configuration.jq_power_l1"))},null,8,["model-value"]),n(l,{title:"Abfrage für Leistung auf Phase 2",subtype:"text","model-value":o.configuration.jq_power_l2,"onUpdate:modelValue":e[4]||(e[4]=t=>a.updateConfiguration(t,"configuration.jq_power_l2"))},null,8,["model-value"]),n(l,{title:"Abfrage für Leistung auf Phase 3",subtype:"text","model-value":o.configuration.jq_power_l3,"onUpdate:modelValue":e[5]||(e[5]=t=>a.updateConfiguration(t,"configuration.jq_power_l3"))},null,8,["model-value"]),n(l,{title:"Abfrage für Strom auf Phase 1",subtype:"text","model-value":o.configuration.jq_current_l1,"onUpdate:modelValue":e[6]||(e[6]=t=>a.updateConfiguration(t,"configuration.jq_current_l1"))},null,8,["model-value"]),n(l,{title:"Abfrage für Strom auf Phase 2",subtype:"text","model-value":o.configuration.jq_current_l2,"onUpdate:modelValue":e[7]||(e[7]=t=>a.updateConfiguration(t,"configuration.jq_current_l2"))},null,8,["model-value"]),n(l,{title:"Abfrage für Strom auf Phase 3",subtype:"text","model-value":o.configuration.jq_current_l3,"onUpdate:modelValue":e[8]||(e[8]=t=>a.updateConfiguration(t,"configuration.jq_current_l3"))},null,8,["model-value"])])}const V=g(c,[["render",q],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/json/counter.vue"]]);export{V as default}; +import{_ as g,q as d,k as p,l as _,B as n,M as u,x as r,u as s,y as b}from"./vendor-493c2bec.js";import"./vendor-sortablejs-0b339223.js";const c={name:"DeviceJsonCounter",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(i,e=void 0){this.$emit("update:configuration",{value:i,object:e})}}},w={class:"device-json-counter"},v={class:"small"},j=s("br",null,null,-1);function q(i,e,o,h,x,a){const f=d("openwb-base-heading"),l=d("openwb-base-text-input"),m=d("openwb-base-alert");return p(),_("div",w,[n(f,null,{default:u(()=>[r(" Einstellungen für JSON Zähler "),s("span",v,"(Modul: "+b(i.$options.name)+")",1)]),_:1}),n(l,{title:"Abfrage für Leistung",subtype:"text",required:"","model-value":o.configuration.jq_power,"onUpdate:modelValue":e[0]||(e[0]=t=>a.updateConfiguration(t,"configuration.jq_power"))},{help:u(()=>[r(' Zur Analyse der Werte aus dem json-Objekt wird jq benutzt. Ist die Json Antwort z.B. {"PowerInstalledPeak":4655, "PowerProduced":132, "PowerOut":897.08172362555717, "PowerSelfSupplied":234.9182763744428} So muss hier .PowerOut eingetragen werden. '),j,r(" Es wird vom Server eine Zahl mit oder ohne Nachkommastellen (Float, Integer) und einem Punkt als Dezimaltrennzeichen erwartet, welche die aktuelle Leistung in Watt darstellt. ")]),_:1},8,["model-value"]),n(l,{title:"Abfrage für Zählerstand Bezug",subtype:"text","model-value":o.configuration.jq_imported,"onUpdate:modelValue":e[1]||(e[1]=t=>a.updateConfiguration(t,"configuration.jq_imported"))},{help:u(()=>[r(" Wird dieses Feld leer gelassen, dann werden Zählerstände intern simuliert. ")]),_:1},8,["model-value"]),n(l,{title:"Abfrage für Zählerstand Einspeisung",subtype:"text","model-value":o.configuration.jq_exported,"onUpdate:modelValue":e[2]||(e[2]=t=>a.updateConfiguration(t,"configuration.jq_exported"))},{help:u(()=>[r(" Wird dieses Feld leer gelassen, dann werden Zählerstände intern simuliert. ")]),_:1},8,["model-value"]),n(m,{subtype:"info"},{default:u(()=>[r(" Werden sowohl Leistung als auch Strom auf den Einzelphasen leer gelassen, erfolgt das Lastmanagement am EVU-Punkt nur anhand der Gesamtleistung am EVU-Punkt. Wird der Zähler als Zwischenzähler verwendet, wird in diesem Fall kein Lastmanagement durchgeführt. ")]),_:1}),n(l,{title:"Abfrage für Leistung auf Phase 1",subtype:"text","model-value":o.configuration.jq_power_l1,"onUpdate:modelValue":e[3]||(e[3]=t=>a.updateConfiguration(t,"configuration.jq_power_l1"))},null,8,["model-value"]),n(l,{title:"Abfrage für Leistung auf Phase 2",subtype:"text","model-value":o.configuration.jq_power_l2,"onUpdate:modelValue":e[4]||(e[4]=t=>a.updateConfiguration(t,"configuration.jq_power_l2"))},null,8,["model-value"]),n(l,{title:"Abfrage für Leistung auf Phase 3",subtype:"text","model-value":o.configuration.jq_power_l3,"onUpdate:modelValue":e[5]||(e[5]=t=>a.updateConfiguration(t,"configuration.jq_power_l3"))},null,8,["model-value"]),n(l,{title:"Abfrage für Strom auf Phase 1",subtype:"text","model-value":o.configuration.jq_current_l1,"onUpdate:modelValue":e[6]||(e[6]=t=>a.updateConfiguration(t,"configuration.jq_current_l1"))},null,8,["model-value"]),n(l,{title:"Abfrage für Strom auf Phase 2",subtype:"text","model-value":o.configuration.jq_current_l2,"onUpdate:modelValue":e[7]||(e[7]=t=>a.updateConfiguration(t,"configuration.jq_current_l2"))},null,8,["model-value"]),n(l,{title:"Abfrage für Strom auf Phase 3",subtype:"text","model-value":o.configuration.jq_current_l3,"onUpdate:modelValue":e[8]||(e[8]=t=>a.updateConfiguration(t,"configuration.jq_current_l3"))},null,8,["model-value"])])}const V=g(c,[["render",q],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/json/counter.vue"]]);export{V as default}; diff --git a/web/settings/assets/counter-7434d2c1.js b/web/settings/assets/counter-1402dd61.js similarity index 86% rename from web/settings/assets/counter-7434d2c1.js rename to web/settings/assets/counter-1402dd61.js index 56d3af657b..326bf481a0 100644 --- a/web/settings/assets/counter-7434d2c1.js +++ b/web/settings/assets/counter-1402dd61.js @@ -1 +1 @@ -import{_ as c,q as n,k as u,l as d,B as o,M as s,x as a,u as p,y as l}from"./vendor-f0f38b48.js";import"./vendor-sortablejs-cbf37f8f.js";const _={name:"DeviceHuaweiCounter",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(e,t=void 0){this.$emit("update:configuration",{value:e,object:t})}}},f={class:"device-huawei-counter"},m={class:"small"};function b(e,t,h,g,w,v){const i=n("openwb-base-heading"),r=n("openwb-base-alert");return u(),d("div",f,[o(i,null,{default:s(()=>[a(" Einstellungen für Huawei Zähler "),p("span",m,"(Modul: "+l(e.$options.name)+")",1)]),_:1}),o(r,{subtype:"info"},{default:s(()=>[a(" Diese Komponente erfordert keine Einstellungen. ")]),_:1})])}const B=c(_,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/huawei/counter.vue"]]);export{B as default}; +import{_ as c,q as n,k as u,l as d,B as o,M as s,x as a,u as p,y as l}from"./vendor-493c2bec.js";import"./vendor-sortablejs-0b339223.js";const _={name:"DeviceHuaweiCounter",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(e,t=void 0){this.$emit("update:configuration",{value:e,object:t})}}},f={class:"device-huawei-counter"},m={class:"small"};function b(e,t,h,g,w,v){const i=n("openwb-base-heading"),r=n("openwb-base-alert");return u(),d("div",f,[o(i,null,{default:s(()=>[a(" Einstellungen für Huawei Zähler "),p("span",m,"(Modul: "+l(e.$options.name)+")",1)]),_:1}),o(r,{subtype:"info"},{default:s(()=>[a(" Diese Komponente erfordert keine Einstellungen. ")]),_:1})])}const B=c(_,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/huawei/counter.vue"]]);export{B as default}; diff --git a/web/settings/assets/counter-0ee0503f.js b/web/settings/assets/counter-17141a06.js similarity index 88% rename from web/settings/assets/counter-0ee0503f.js rename to web/settings/assets/counter-17141a06.js index a12af7e001..8afd87b7b4 100644 --- a/web/settings/assets/counter-0ee0503f.js +++ b/web/settings/assets/counter-17141a06.js @@ -1 +1 @@ -import{_ as c,q as t,k as l,l as _,B as o,M as a,x as s,u as m,y as f}from"./vendor-f0f38b48.js";import"./vendor-sortablejs-cbf37f8f.js";const b={name:"DeviceEnphaseCounter",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(n,e=void 0){this.$emit("update:configuration",{value:n,object:e})}}},g={class:"device-enphase-counter"},h={class:"small"};function v(n,e,i,w,E,r){const u=t("openwb-base-heading"),d=t("openwb-base-number-input");return l(),_("div",g,[o(u,null,{default:a(()=>[s(" Einstellungen für Enphase Envoy / IQ Gateway Zähler "),m("span",h,"(Modul: "+f(n.$options.name)+")",1)]),_:1}),o(d,{title:"EID",required:"","model-value":i.configuration.eid,"onUpdate:modelValue":e[0]||(e[0]=p=>r.updateConfiguration(p,"configuration.eid"))},{help:a(()=>[s(' EID für "net-consumption" ')]),_:1},8,["model-value"])])}const B=c(b,[["render",v],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/enphase/counter.vue"]]);export{B as default}; +import{_ as c,q as t,k as l,l as _,B as o,M as a,x as s,u as m,y as f}from"./vendor-493c2bec.js";import"./vendor-sortablejs-0b339223.js";const b={name:"DeviceEnphaseCounter",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(n,e=void 0){this.$emit("update:configuration",{value:n,object:e})}}},g={class:"device-enphase-counter"},h={class:"small"};function v(n,e,i,w,E,r){const u=t("openwb-base-heading"),d=t("openwb-base-number-input");return l(),_("div",g,[o(u,null,{default:a(()=>[s(" Einstellungen für Enphase Envoy / IQ Gateway Zähler "),m("span",h,"(Modul: "+f(n.$options.name)+")",1)]),_:1}),o(d,{title:"EID",required:"","model-value":i.configuration.eid,"onUpdate:modelValue":e[0]||(e[0]=p=>r.updateConfiguration(p,"configuration.eid"))},{help:a(()=>[s(' EID für "net-consumption" ')]),_:1},8,["model-value"])])}const B=c(b,[["render",v],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/enphase/counter.vue"]]);export{B as default}; diff --git a/web/settings/assets/counter-732beb55.js b/web/settings/assets/counter-1acc3894.js similarity index 87% rename from web/settings/assets/counter-732beb55.js rename to web/settings/assets/counter-1acc3894.js index 2548c12b61..fe6f36b900 100644 --- a/web/settings/assets/counter-732beb55.js +++ b/web/settings/assets/counter-1acc3894.js @@ -1 +1 @@ -import{_ as c,q as t,k as d,l as u,B as o,M as a,x as s,u as l,y as p}from"./vendor-f0f38b48.js";import"./vendor-sortablejs-cbf37f8f.js";const _={name:"DeviceTeslaCounter",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(e,n=void 0){this.$emit("update:configuration",{value:e,object:n})}}},m={class:"device-tesla-counter"},f={class:"small"};function h(e,n,b,g,v,w){const i=t("openwb-base-heading"),r=t("openwb-base-alert");return d(),u("div",m,[o(i,null,{default:a(()=>[s(" Einstellungen für Tesla Zähler "),l("span",f,"(Modul: "+p(e.$options.name)+")",1)]),_:1}),o(r,{subtype:"info"},{default:a(()=>[s(" Je nach Firmware-Version ist nur ein Lastmanagement anhand der Gesamtleistung möglich, da nicht alle Firmware-Versionen Phasenströme liefern. ")]),_:1})])}const B=c(_,[["render",h],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/tesla/counter.vue"]]);export{B as default}; +import{_ as c,q as t,k as d,l as u,B as o,M as a,x as s,u as l,y as p}from"./vendor-493c2bec.js";import"./vendor-sortablejs-0b339223.js";const _={name:"DeviceTeslaCounter",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(e,n=void 0){this.$emit("update:configuration",{value:e,object:n})}}},m={class:"device-tesla-counter"},f={class:"small"};function h(e,n,b,g,v,w){const i=t("openwb-base-heading"),r=t("openwb-base-alert");return d(),u("div",m,[o(i,null,{default:a(()=>[s(" Einstellungen für Tesla Zähler "),l("span",f,"(Modul: "+p(e.$options.name)+")",1)]),_:1}),o(r,{subtype:"info"},{default:a(()=>[s(" Je nach Firmware-Version ist nur ein Lastmanagement anhand der Gesamtleistung möglich, da nicht alle Firmware-Versionen Phasenströme liefern. ")]),_:1})])}const B=c(_,[["render",h],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/tesla/counter.vue"]]);export{B as default}; diff --git a/web/settings/assets/counter-e372a404.js b/web/settings/assets/counter-1aece25f.js similarity index 86% rename from web/settings/assets/counter-e372a404.js rename to web/settings/assets/counter-1aece25f.js index 45a6b8fd77..3c9db4176b 100644 --- a/web/settings/assets/counter-e372a404.js +++ b/web/settings/assets/counter-1aece25f.js @@ -1 +1 @@ -import{_ as c,q as n,k as u,l as d,B as o,M as s,x as a,u as p,y as l}from"./vendor-f0f38b48.js";import"./vendor-sortablejs-cbf37f8f.js";const _={name:"DeviceZCSCounter",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(e,t=void 0){this.$emit("update:configuration",{value:e,object:t})}}},f={class:"device-azzurro_zcs-counter"},m={class:"small"};function b(e,t,g,h,v,z){const r=n("openwb-base-heading"),i=n("openwb-base-alert");return u(),d("div",f,[o(r,null,{default:s(()=>[a(" Einstellungen für Azzurro ZCS Zähler "),p("span",m,"(Modul: "+l(e.$options.name)+")",1)]),_:1}),o(i,{subtype:"info"},{default:s(()=>[a(" Diese Komponente benötigt keine Einstellungen. ")]),_:1})])}const $=c(_,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/azzurro_zcs/counter.vue"]]);export{$ as default}; +import{_ as c,q as n,k as u,l as d,B as o,M as s,x as a,u as p,y as l}from"./vendor-493c2bec.js";import"./vendor-sortablejs-0b339223.js";const _={name:"DeviceZCSCounter",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(e,t=void 0){this.$emit("update:configuration",{value:e,object:t})}}},f={class:"device-azzurro_zcs-counter"},m={class:"small"};function b(e,t,g,h,v,z){const r=n("openwb-base-heading"),i=n("openwb-base-alert");return u(),d("div",f,[o(r,null,{default:s(()=>[a(" Einstellungen für Azzurro ZCS Zähler "),p("span",m,"(Modul: "+l(e.$options.name)+")",1)]),_:1}),o(i,{subtype:"info"},{default:s(()=>[a(" Diese Komponente benötigt keine Einstellungen. ")]),_:1})])}const $=c(_,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/azzurro_zcs/counter.vue"]]);export{$ as default}; diff --git a/web/settings/assets/counter-bdd28188.js b/web/settings/assets/counter-21d4a182.js similarity index 85% rename from web/settings/assets/counter-bdd28188.js rename to web/settings/assets/counter-21d4a182.js index 94b276dcdb..0c7fd07016 100644 --- a/web/settings/assets/counter-bdd28188.js +++ b/web/settings/assets/counter-21d4a182.js @@ -1 +1 @@ -import{_ as r,q as n,k as d,l as u,B as o,M as s,x as a,u as p,y as l}from"./vendor-f0f38b48.js";import"./vendor-sortablejs-cbf37f8f.js";const _={name:"DeviceE3dcCounter",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(e,t=void 0){this.$emit("update:configuration",{value:e,object:t})}}},f={class:"device-e3dc-counter"},m={class:"small"};function b(e,t,g,h,v,w){const i=n("openwb-base-heading"),c=n("openwb-base-alert");return d(),u("div",f,[o(i,null,{default:s(()=>[a(" Einstellungen für E3DC Zähler "),p("span",m,"(Modul: "+l(e.$options.name)+")",1)]),_:1}),o(c,{subtype:"info"},{default:s(()=>[a(" Diese Komponente benötigt keine Einstellungen. ")]),_:1})])}const B=r(_,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/e3dc/counter.vue"]]);export{B as default}; +import{_ as r,q as n,k as d,l as u,B as o,M as s,x as a,u as p,y as l}from"./vendor-493c2bec.js";import"./vendor-sortablejs-0b339223.js";const _={name:"DeviceE3dcCounter",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(e,t=void 0){this.$emit("update:configuration",{value:e,object:t})}}},f={class:"device-e3dc-counter"},m={class:"small"};function b(e,t,g,h,v,w){const i=n("openwb-base-heading"),c=n("openwb-base-alert");return d(),u("div",f,[o(i,null,{default:s(()=>[a(" Einstellungen für E3DC Zähler "),p("span",m,"(Modul: "+l(e.$options.name)+")",1)]),_:1}),o(c,{subtype:"info"},{default:s(()=>[a(" Diese Komponente benötigt keine Einstellungen. ")]),_:1})])}const B=r(_,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/e3dc/counter.vue"]]);export{B as default}; diff --git a/web/settings/assets/counter-0ff1e2e2.js b/web/settings/assets/counter-2b3e2322.js similarity index 86% rename from web/settings/assets/counter-0ff1e2e2.js rename to web/settings/assets/counter-2b3e2322.js index fa8f463dcf..8d65fca1dc 100644 --- a/web/settings/assets/counter-0ff1e2e2.js +++ b/web/settings/assets/counter-2b3e2322.js @@ -1 +1 @@ -import{_ as c,q as t,k as d,l as u,B as n,M as s,x as a,u as p,y as l}from"./vendor-f0f38b48.js";import"./vendor-sortablejs-cbf37f8f.js";const _={name:"DeviceGoodWeCounter",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(e,o=void 0){this.$emit("update:configuration",{value:e,object:o})}}},f={class:"device-goodwe-counter"},m={class:"small"};function b(e,o,g,h,v,w){const i=t("openwb-base-heading"),r=t("openwb-base-alert");return d(),u("div",f,[n(i,null,{default:s(()=>[a(" Einstellungen für GoodWe Zähler "),p("span",m,"(Modul: "+l(e.$options.name)+")",1)]),_:1}),n(r,{subtype:"info"},{default:s(()=>[a(" Diese Komponente benötigt keine Einstellungen. ")]),_:1})])}const B=c(_,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/good_we/counter.vue"]]);export{B as default}; +import{_ as c,q as t,k as d,l as u,B as n,M as s,x as a,u as p,y as l}from"./vendor-493c2bec.js";import"./vendor-sortablejs-0b339223.js";const _={name:"DeviceGoodWeCounter",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(e,o=void 0){this.$emit("update:configuration",{value:e,object:o})}}},f={class:"device-goodwe-counter"},m={class:"small"};function b(e,o,g,h,v,w){const i=t("openwb-base-heading"),r=t("openwb-base-alert");return d(),u("div",f,[n(i,null,{default:s(()=>[a(" Einstellungen für GoodWe Zähler "),p("span",m,"(Modul: "+l(e.$options.name)+")",1)]),_:1}),n(r,{subtype:"info"},{default:s(()=>[a(" Diese Komponente benötigt keine Einstellungen. ")]),_:1})])}const B=c(_,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/good_we/counter.vue"]]);export{B as default}; diff --git a/web/settings/assets/counter-84d4687e.js b/web/settings/assets/counter-2e43dbb6.js similarity index 90% rename from web/settings/assets/counter-84d4687e.js rename to web/settings/assets/counter-2e43dbb6.js index 2e64746bfb..082f83f75f 100644 --- a/web/settings/assets/counter-84d4687e.js +++ b/web/settings/assets/counter-2e43dbb6.js @@ -1 +1 @@ -import{_ as l,q as o,k as m,l as _,B as r,M as i,x as n,u as s,y as f}from"./vendor-f0f38b48.js";import"./vendor-sortablejs-cbf37f8f.js";const g={name:"DeviceDiscovergyCounter",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(t,e=void 0){this.$emit("update:configuration",{value:t,object:e})}}},v={class:"device-discovergy-counter"},b={class:"small"},h=s("a",{href:"https://api.discovergy.com/public/v1/meters",target:"_blank",rel:"noopener noreferrer"}," https://api.discovergy.com/public/v1/meters ",-1);function w(t,e,a,y,x,d){const u=o("openwb-base-heading"),c=o("openwb-base-text-input");return m(),_("div",v,[r(u,null,{default:i(()=>[n(" Einstellungen für Discovergy Zähler "),s("span",b,"(Modul: "+f(t.$options.name)+")",1)]),_:1}),r(c,{title:"Meter-ID",required:"","model-value":a.configuration.meter_id,"onUpdate:modelValue":e[0]||(e[0]=p=>d.updateConfiguration(p,"configuration.meter_id"))},{help:i(()=>[n(" Um die ID herauszufinden mit dem Browser die Adresse "),h,n(" aufrufen und dort Benutzername und Passwort eingeben. Hier wird nun u.a. die ID des Zählers angezeigt. ")]),_:1},8,["model-value"])])}const C=l(g,[["render",w],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/discovergy/counter.vue"]]);export{C as default}; +import{_ as l,q as o,k as m,l as _,B as r,M as i,x as n,u as s,y as f}from"./vendor-493c2bec.js";import"./vendor-sortablejs-0b339223.js";const g={name:"DeviceDiscovergyCounter",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(t,e=void 0){this.$emit("update:configuration",{value:t,object:e})}}},v={class:"device-discovergy-counter"},b={class:"small"},h=s("a",{href:"https://api.discovergy.com/public/v1/meters",target:"_blank",rel:"noopener noreferrer"}," https://api.discovergy.com/public/v1/meters ",-1);function w(t,e,a,y,x,d){const u=o("openwb-base-heading"),c=o("openwb-base-text-input");return m(),_("div",v,[r(u,null,{default:i(()=>[n(" Einstellungen für Discovergy Zähler "),s("span",b,"(Modul: "+f(t.$options.name)+")",1)]),_:1}),r(c,{title:"Meter-ID",required:"","model-value":a.configuration.meter_id,"onUpdate:modelValue":e[0]||(e[0]=p=>d.updateConfiguration(p,"configuration.meter_id"))},{help:i(()=>[n(" Um die ID herauszufinden mit dem Browser die Adresse "),h,n(" aufrufen und dort Benutzername und Passwort eingeben. Hier wird nun u.a. die ID des Zählers angezeigt. ")]),_:1},8,["model-value"])])}const C=l(g,[["render",w],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/discovergy/counter.vue"]]);export{C as default}; diff --git a/web/settings/assets/counter-c3bfa028.js b/web/settings/assets/counter-36a0120b.js similarity index 86% rename from web/settings/assets/counter-c3bfa028.js rename to web/settings/assets/counter-36a0120b.js index 0a710a6021..7d62a0650b 100644 --- a/web/settings/assets/counter-c3bfa028.js +++ b/web/settings/assets/counter-36a0120b.js @@ -1 +1 @@ -import{_ as c,q as n,k as u,l as d,B as o,M as s,x as a,u as p,y as l}from"./vendor-f0f38b48.js";import"./vendor-sortablejs-cbf37f8f.js";const _={name:"DeviceLGCounter",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(e,t=void 0){this.$emit("update:configuration",{value:e,object:t})}}},f={class:"device-lg-counter"},m={class:"small"};function b(e,t,g,h,v,w){const i=n("openwb-base-heading"),r=n("openwb-base-alert");return u(),d("div",f,[o(i,null,{default:s(()=>[a(" Einstellungen für LG ESS V1.0 Zähler "),p("span",m,"(Modul: "+l(e.$options.name)+")",1)]),_:1}),o(r,{subtype:"info"},{default:s(()=>[a(" Diese Komponente benötigt keine Einstellungen. ")]),_:1})])}const B=c(_,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/lg/counter.vue"]]);export{B as default}; +import{_ as c,q as n,k as u,l as d,B as o,M as s,x as a,u as p,y as l}from"./vendor-493c2bec.js";import"./vendor-sortablejs-0b339223.js";const _={name:"DeviceLGCounter",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(e,t=void 0){this.$emit("update:configuration",{value:e,object:t})}}},f={class:"device-lg-counter"},m={class:"small"};function b(e,t,g,h,v,w){const i=n("openwb-base-heading"),r=n("openwb-base-alert");return u(),d("div",f,[o(i,null,{default:s(()=>[a(" Einstellungen für LG ESS V1.0 Zähler "),p("span",m,"(Modul: "+l(e.$options.name)+")",1)]),_:1}),o(r,{subtype:"info"},{default:s(()=>[a(" Diese Komponente benötigt keine Einstellungen. ")]),_:1})])}const B=c(_,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/lg/counter.vue"]]);export{B as default}; diff --git a/web/settings/assets/counter-14e57094.js b/web/settings/assets/counter-3c43e966.js similarity index 86% rename from web/settings/assets/counter-14e57094.js rename to web/settings/assets/counter-3c43e966.js index 86c0396663..205538fb2f 100644 --- a/web/settings/assets/counter-14e57094.js +++ b/web/settings/assets/counter-3c43e966.js @@ -1 +1 @@ -import{_ as r,q as n,k as l,l as u,B as o,M as s,x as a,u as d,y as p}from"./vendor-f0f38b48.js";import"./vendor-sortablejs-cbf37f8f.js";const _={name:"DeviceQCelllsCounter",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(e,t=void 0){this.$emit("update:configuration",{value:e,object:t})}}},f={class:"device-qcells-counter"},m={class:"small"};function b(e,t,g,h,v,w){const i=n("openwb-base-heading"),c=n("openwb-base-alert");return l(),u("div",f,[o(i,null,{default:s(()=>[a(" Einstellungen für QCells ESS Zähler "),d("span",m,"(Modul: "+p(e.$options.name)+")",1)]),_:1}),o(c,{subtype:"info"},{default:s(()=>[a(" Diese Komponente benötigt keine Einstellungen. ")]),_:1})])}const q=r(_,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/qcells/counter.vue"]]);export{q as default}; +import{_ as r,q as n,k as l,l as u,B as o,M as s,x as a,u as d,y as p}from"./vendor-493c2bec.js";import"./vendor-sortablejs-0b339223.js";const _={name:"DeviceQCelllsCounter",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(e,t=void 0){this.$emit("update:configuration",{value:e,object:t})}}},f={class:"device-qcells-counter"},m={class:"small"};function b(e,t,g,h,v,w){const i=n("openwb-base-heading"),c=n("openwb-base-alert");return l(),u("div",f,[o(i,null,{default:s(()=>[a(" Einstellungen für QCells ESS Zähler "),d("span",m,"(Modul: "+p(e.$options.name)+")",1)]),_:1}),o(c,{subtype:"info"},{default:s(()=>[a(" Diese Komponente benötigt keine Einstellungen. ")]),_:1})])}const q=r(_,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/qcells/counter.vue"]]);export{q as default}; diff --git a/web/settings/assets/counter-156bc096.js b/web/settings/assets/counter-3dc9c713.js similarity index 88% rename from web/settings/assets/counter-156bc096.js rename to web/settings/assets/counter-3dc9c713.js index 904d81059c..e31afd229b 100644 --- a/web/settings/assets/counter-156bc096.js +++ b/web/settings/assets/counter-3dc9c713.js @@ -1 +1 @@ -import{_ as l,q as o,k as c,l as d,B as n,M as p,x as _,u as m,y as v}from"./vendor-f0f38b48.js";import"./vendor-sortablejs-cbf37f8f.js";const f={name:"DeviceOpenwbEvukitCounter",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(t,e=void 0){this.$emit("update:configuration",{value:t,object:e})}}},b={class:"device-openwb-evukit-counter"},g={class:"small"};function w(t,e,a,h,x,i){const s=o("openwb-base-heading"),u=o("openwb-base-select-input");return c(),d("div",b,[n(s,null,{default:p(()=>[_(" Einstellungen für openWB EVU-Kit Zähler "),m("span",g,"(Modul: "+v(t.$options.name)+")",1)]),_:1}),n(u,{title:"Zählermodell",notSelected:"Bitte auswählen",options:[{value:0,text:"MPM3PM"},{value:1,text:"Lovato"},{value:2,text:"SDM630/SDM72D-M"}],"model-value":a.configuration.version,"onUpdate:modelValue":e[0]||(e[0]=r=>i.updateConfiguration(r,"configuration.version"))},null,8,["model-value"])])}const k=l(f,[["render",w],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/openwb_evu_kit/counter.vue"]]);export{k as default}; +import{_ as l,q as o,k as c,l as d,B as n,M as p,x as _,u as m,y as v}from"./vendor-493c2bec.js";import"./vendor-sortablejs-0b339223.js";const f={name:"DeviceOpenwbEvukitCounter",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(t,e=void 0){this.$emit("update:configuration",{value:t,object:e})}}},b={class:"device-openwb-evukit-counter"},g={class:"small"};function w(t,e,a,h,x,i){const s=o("openwb-base-heading"),u=o("openwb-base-select-input");return c(),d("div",b,[n(s,null,{default:p(()=>[_(" Einstellungen für openWB EVU-Kit Zähler "),m("span",g,"(Modul: "+v(t.$options.name)+")",1)]),_:1}),n(u,{title:"Zählermodell",notSelected:"Bitte auswählen",options:[{value:0,text:"MPM3PM"},{value:1,text:"Lovato"},{value:2,text:"SDM630/SDM72D-M"}],"model-value":a.configuration.version,"onUpdate:modelValue":e[0]||(e[0]=r=>i.updateConfiguration(r,"configuration.version"))},null,8,["model-value"])])}const k=l(f,[["render",w],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/openwb_evu_kit/counter.vue"]]);export{k as default}; diff --git a/web/settings/assets/counter-88510cfb.js b/web/settings/assets/counter-4b8ac71e.js similarity index 87% rename from web/settings/assets/counter-88510cfb.js rename to web/settings/assets/counter-4b8ac71e.js index e12c6aa6a6..d4474e3bc9 100644 --- a/web/settings/assets/counter-88510cfb.js +++ b/web/settings/assets/counter-4b8ac71e.js @@ -1 +1 @@ -import{_ as d,q as n,k as c,l as p,B as o,M as l,x as m,u as _,y as f}from"./vendor-f0f38b48.js";import"./vendor-sortablejs-cbf37f8f.js";const g={name:"DeviceSmartMeCounter",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(t,e=void 0){this.$emit("update:configuration",{value:t,object:e})}}},b={class:"device-smart-me-counter"},v={class:"small"};function h(t,e,a,x,w,s){const i=n("openwb-base-heading"),r=n("openwb-base-text-input");return c(),p("div",b,[o(i,null,{default:l(()=>[m(" Einstellungen für smart-me Zähler "),_("span",v,"(Modul: "+f(t.$options.name)+")",1)]),_:1}),o(r,{title:"Geräte-ID",required:"","model-value":a.configuration.id,"onUpdate:modelValue":e[0]||(e[0]=u=>s.updateConfiguration(u,"configuration.id"))},null,8,["model-value"])])}const q=d(g,[["render",h],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/smart_me/counter.vue"]]);export{q as default}; +import{_ as d,q as n,k as c,l as p,B as o,M as l,x as m,u as _,y as f}from"./vendor-493c2bec.js";import"./vendor-sortablejs-0b339223.js";const g={name:"DeviceSmartMeCounter",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(t,e=void 0){this.$emit("update:configuration",{value:t,object:e})}}},b={class:"device-smart-me-counter"},v={class:"small"};function h(t,e,a,x,w,s){const i=n("openwb-base-heading"),r=n("openwb-base-text-input");return c(),p("div",b,[o(i,null,{default:l(()=>[m(" Einstellungen für smart-me Zähler "),_("span",v,"(Modul: "+f(t.$options.name)+")",1)]),_:1}),o(r,{title:"Geräte-ID",required:"","model-value":a.configuration.id,"onUpdate:modelValue":e[0]||(e[0]=u=>s.updateConfiguration(u,"configuration.id"))},null,8,["model-value"])])}const q=d(g,[["render",h],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/smart_me/counter.vue"]]);export{q as default}; diff --git a/web/settings/assets/counter-ac1660a7.js b/web/settings/assets/counter-55d1eddb.js similarity index 87% rename from web/settings/assets/counter-ac1660a7.js rename to web/settings/assets/counter-55d1eddb.js index 7d31102e54..a8669c70cb 100644 --- a/web/settings/assets/counter-ac1660a7.js +++ b/web/settings/assets/counter-55d1eddb.js @@ -1 +1 @@ -import{_ as r,q as o,k as c,l as p,B as t,M as l,x as m,u as _,y as f}from"./vendor-f0f38b48.js";import"./vendor-sortablejs-cbf37f8f.js";const b={name:"DeviceDeyeCounter",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(n,e=void 0){this.$emit("update:configuration",{value:n,object:e})}}},g={class:"device-batterx-counter"},v={class:"small"};function h(n,e,a,x,w,i){const s=o("openwb-base-heading"),u=o("openwb-base-number-input");return c(),p("div",g,[t(s,null,{default:l(()=>[m(" Einstellungen für Deye Zähler "),_("span",v,"(Modul: "+f(n.$options.name)+")",1)]),_:1}),t(u,{title:"Modbus ID",required:"","model-value":a.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[0]||(e[0]=d=>i.updateConfiguration(d,"configuration.modbus_id"))},null,8,["model-value"])])}const C=r(b,[["render",h],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/deye/counter.vue"]]);export{C as default}; +import{_ as r,q as o,k as c,l as p,B as t,M as l,x as m,u as _,y as f}from"./vendor-493c2bec.js";import"./vendor-sortablejs-0b339223.js";const b={name:"DeviceDeyeCounter",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(n,e=void 0){this.$emit("update:configuration",{value:n,object:e})}}},g={class:"device-batterx-counter"},v={class:"small"};function h(n,e,a,x,w,i){const s=o("openwb-base-heading"),u=o("openwb-base-number-input");return c(),p("div",g,[t(s,null,{default:l(()=>[m(" Einstellungen für Deye Zähler "),_("span",v,"(Modul: "+f(n.$options.name)+")",1)]),_:1}),t(u,{title:"Modbus ID",required:"","model-value":a.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[0]||(e[0]=d=>i.updateConfiguration(d,"configuration.modbus_id"))},null,8,["model-value"])])}const C=r(b,[["render",h],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/deye/counter.vue"]]);export{C as default}; diff --git a/web/settings/assets/counter-d398c1c5.js b/web/settings/assets/counter-5cb54026.js similarity index 88% rename from web/settings/assets/counter-d398c1c5.js rename to web/settings/assets/counter-5cb54026.js index b49d58e5b7..34e9f6dad4 100644 --- a/web/settings/assets/counter-d398c1c5.js +++ b/web/settings/assets/counter-5cb54026.js @@ -1 +1 @@ -import{_ as c,q as n,k as d,l as u,B as o,M as s,x as a,u as l,y as p}from"./vendor-f0f38b48.js";import"./vendor-sortablejs-cbf37f8f.js";const _={name:"DeviceKostalSEMCounter",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(e,t=void 0){this.$emit("update:configuration",{value:e,object:t})}}},m={class:"device-kostal-sem-counter"},f={class:"small"};function h(e,t,g,b,v,w){const r=n("openwb-base-heading"),i=n("openwb-base-alert");return d(),u("div",m,[o(r,null,{default:s(()=>[a(" Einstellungen für Kostal Smart Energy Meter oder TQ EM 410 Zähler "),l("span",f,"(Modul: "+p(e.$options.name)+")",1)]),_:1}),o(i,{subtype:"info"},{default:s(()=>[a(" Diese Komponente ist nur richtig, wenn der Zähler NICHT direkt am Wechselrichter (Kostal Plenticore) angeschlossen ist und daher separat abgefragt werden muss. ")]),_:1})])}const x=c(_,[["render",h],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/kostal_sem/counter.vue"]]);export{x as default}; +import{_ as c,q as n,k as d,l as u,B as o,M as s,x as a,u as l,y as p}from"./vendor-493c2bec.js";import"./vendor-sortablejs-0b339223.js";const _={name:"DeviceKostalSEMCounter",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(e,t=void 0){this.$emit("update:configuration",{value:e,object:t})}}},m={class:"device-kostal-sem-counter"},f={class:"small"};function h(e,t,g,b,v,w){const r=n("openwb-base-heading"),i=n("openwb-base-alert");return d(),u("div",m,[o(r,null,{default:s(()=>[a(" Einstellungen für Kostal Smart Energy Meter oder TQ EM 410 Zähler "),l("span",f,"(Modul: "+p(e.$options.name)+")",1)]),_:1}),o(i,{subtype:"info"},{default:s(()=>[a(" Diese Komponente ist nur richtig, wenn der Zähler NICHT direkt am Wechselrichter (Kostal Plenticore) angeschlossen ist und daher separat abgefragt werden muss. ")]),_:1})])}const x=c(_,[["render",h],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/kostal_sem/counter.vue"]]);export{x as default}; diff --git a/web/settings/assets/counter-b74471a1.js b/web/settings/assets/counter-67c1221e.js similarity index 93% rename from web/settings/assets/counter-b74471a1.js rename to web/settings/assets/counter-67c1221e.js index 0ced64dac1..276a64a75e 100644 --- a/web/settings/assets/counter-b74471a1.js +++ b/web/settings/assets/counter-67c1221e.js @@ -1 +1 @@ -import{_ as c,q as t,k as d,l,B as n,M as s,x as a,u,y as p}from"./vendor-f0f38b48.js";import"./vendor-sortablejs-cbf37f8f.js";const _={name:"DeviceSolarWorldCounter",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(e,o=void 0){this.$emit("update:configuration",{value:e,object:o})}}},f={class:"device-solar_world-counter"},m={class:"small"};function b(e,o,g,h,v,w){const r=t("openwb-base-heading"),i=t("openwb-base-alert");return d(),l("div",f,[n(r,null,{default:s(()=>[a(" Einstellungen für SolarWorld Zähler "),u("span",m,"(Modul: "+p(e.$options.name)+")",1)]),_:1}),n(i,{subtype:"info"},{default:s(()=>[a(" Diese Komponente benötigt keine Einstellungen. ")]),_:1})])}const B=c(_,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/solar_world/counter.vue"]]);export{B as default}; +import{_ as c,q as t,k as d,l,B as n,M as s,x as a,u,y as p}from"./vendor-493c2bec.js";import"./vendor-sortablejs-0b339223.js";const _={name:"DeviceSolarWorldCounter",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(e,o=void 0){this.$emit("update:configuration",{value:e,object:o})}}},f={class:"device-solar_world-counter"},m={class:"small"};function b(e,o,g,h,v,w){const r=t("openwb-base-heading"),i=t("openwb-base-alert");return d(),l("div",f,[n(r,null,{default:s(()=>[a(" Einstellungen für SolarWorld Zähler "),u("span",m,"(Modul: "+p(e.$options.name)+")",1)]),_:1}),n(i,{subtype:"info"},{default:s(()=>[a(" Diese Komponente benötigt keine Einstellungen. ")]),_:1})])}const B=c(_,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/solar_world/counter.vue"]]);export{B as default}; diff --git a/web/settings/assets/counter-fc067156.js b/web/settings/assets/counter-6912bc05.js similarity index 96% rename from web/settings/assets/counter-fc067156.js rename to web/settings/assets/counter-6912bc05.js index d53628fba8..6a1b8abfc0 100644 --- a/web/settings/assets/counter-fc067156.js +++ b/web/settings/assets/counter-6912bc05.js @@ -1 +1 @@ -import{_,q as n,k as m,l as b,B as t,M as u,x as l,u as f,y as v}from"./vendor-f0f38b48.js";import"./vendor-sortablejs-cbf37f8f.js";const g={name:"DeviceOpenwbFlexCounter",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(o,e=void 0){this.$emit("update:configuration",{value:o,object:e})}}},w={class:"device-openwb-flex-counter"},M={class:"small"};function h(o,e,i,x,B,s){const d=n("openwb-base-heading"),r=n("openwb-base-alert"),p=n("openwb-base-select-input"),c=n("openwb-base-number-input");return m(),b("div",w,[t(d,null,{default:u(()=>[l(" Einstellungen für openWB-Flex Zähler "),f("span",M,"(Modul: "+v(o.$options.name)+")",1)]),_:1}),t(r,{subtype:"info"},{default:u(()=>[l(" Bei saldierenden Zählern (MPM3PM) werden die Zählerstände für Einspeisung und Bezug aus dem Zähler ausgelesen. Bei Zählern, die nicht saldierend arbeiten (Lovato, SDM630, SDM72D-M), werden die Zählerstände von der openWB berechnet. ")]),_:1}),t(p,{title:"Zählermodell",notSelected:"Bitte auswählen",options:[{value:0,text:"MPM3PM"},{value:1,text:"Lovato"},{value:2,text:"SDM630/SDM72D-M"}],"model-value":i.configuration.version,"onUpdate:modelValue":e[0]||(e[0]=a=>s.updateConfiguration(a,"configuration.version"))},null,8,["model-value"]),t(c,{title:"Modbus-ID",required:"",min:1,max:255,"model-value":i.configuration.id,"onUpdate:modelValue":e[1]||(e[1]=a=>s.updateConfiguration(a,"configuration.id"))},null,8,["model-value"])])}const C=_(g,[["render",h],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/openwb_flex/counter.vue"]]);export{C as default}; +import{_,q as n,k as m,l as b,B as t,M as u,x as l,u as f,y as v}from"./vendor-493c2bec.js";import"./vendor-sortablejs-0b339223.js";const g={name:"DeviceOpenwbFlexCounter",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(o,e=void 0){this.$emit("update:configuration",{value:o,object:e})}}},w={class:"device-openwb-flex-counter"},M={class:"small"};function h(o,e,i,x,B,s){const d=n("openwb-base-heading"),r=n("openwb-base-alert"),p=n("openwb-base-select-input"),c=n("openwb-base-number-input");return m(),b("div",w,[t(d,null,{default:u(()=>[l(" Einstellungen für openWB-Flex Zähler "),f("span",M,"(Modul: "+v(o.$options.name)+")",1)]),_:1}),t(r,{subtype:"info"},{default:u(()=>[l(" Bei saldierenden Zählern (MPM3PM) werden die Zählerstände für Einspeisung und Bezug aus dem Zähler ausgelesen. Bei Zählern, die nicht saldierend arbeiten (Lovato, SDM630, SDM72D-M), werden die Zählerstände von der openWB berechnet. ")]),_:1}),t(p,{title:"Zählermodell",notSelected:"Bitte auswählen",options:[{value:0,text:"MPM3PM"},{value:1,text:"Lovato"},{value:2,text:"SDM630/SDM72D-M"}],"model-value":i.configuration.version,"onUpdate:modelValue":e[0]||(e[0]=a=>s.updateConfiguration(a,"configuration.version"))},null,8,["model-value"]),t(c,{title:"Modbus-ID",required:"",min:1,max:255,"model-value":i.configuration.id,"onUpdate:modelValue":e[1]||(e[1]=a=>s.updateConfiguration(a,"configuration.id"))},null,8,["model-value"])])}const C=_(g,[["render",h],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/openwb_flex/counter.vue"]]);export{C as default}; diff --git a/web/settings/assets/counter-f6dc958d.js b/web/settings/assets/counter-692b8202.js similarity index 91% rename from web/settings/assets/counter-f6dc958d.js rename to web/settings/assets/counter-692b8202.js index be94fd5829..5f1bb9c544 100644 --- a/web/settings/assets/counter-f6dc958d.js +++ b/web/settings/assets/counter-692b8202.js @@ -1 +1 @@ -import{_ as u,q as r,k as c,l as d,B as s,M as a,x as e,u as t,y as p}from"./vendor-f0f38b48.js";import"./vendor-sortablejs-cbf37f8f.js";const _={name:"DeviceSolarLogCounter",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(n,o=void 0){this.$emit("update:configuration",{value:n,object:o})}}},h={class:"device-solar_log-counter"},m={class:"small"},g=t("span",{class:"text-danger"},[e(" Solar-Log Zähler geben keine Ströme aus, sodass nur ein Lastmanagement anhand der Gesamtleistung, aber nicht phasenbasiert möglich ist."),t("br")],-1),f=t("a",{href:"https://github.com/openWB/core/wiki/Hausverbrauchs-Z%C3%A4hler",target:"_blank",rel:"noopener noreferrer"}," Wiki für Hausverbrauchs-Zähler ",-1);function b(n,o,v,k,w,Z){const i=r("openwb-base-heading"),l=r("openwb-base-alert");return c(),d("div",h,[s(i,null,{default:a(()=>[e(" Einstellungen für Solar-Log Zähler "),t("span",m,"(Modul: "+p(n.$options.name)+")",1)]),_:1}),s(l,{subtype:"info"},{default:a(()=>[g,e(" Solar-Log Zähler sind Hausverbrauchs-Zähler. Um die Werte am EVU-Punkt zu ermitteln, muss ein virtueller Zähler konfiguriert werden. Eine Beispiel-Konfiguration mit Solar-Log Zähler findest Du im "),f,e(". ")]),_:1})])}const x=u(_,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/solar_log/counter.vue"]]);export{x as default}; +import{_ as u,q as r,k as c,l as d,B as s,M as a,x as e,u as t,y as p}from"./vendor-493c2bec.js";import"./vendor-sortablejs-0b339223.js";const _={name:"DeviceSolarLogCounter",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(n,o=void 0){this.$emit("update:configuration",{value:n,object:o})}}},h={class:"device-solar_log-counter"},m={class:"small"},g=t("span",{class:"text-danger"},[e(" Solar-Log Zähler geben keine Ströme aus, sodass nur ein Lastmanagement anhand der Gesamtleistung, aber nicht phasenbasiert möglich ist."),t("br")],-1),f=t("a",{href:"https://github.com/openWB/core/wiki/Hausverbrauchs-Z%C3%A4hler",target:"_blank",rel:"noopener noreferrer"}," Wiki für Hausverbrauchs-Zähler ",-1);function b(n,o,v,k,w,Z){const i=r("openwb-base-heading"),l=r("openwb-base-alert");return c(),d("div",h,[s(i,null,{default:a(()=>[e(" Einstellungen für Solar-Log Zähler "),t("span",m,"(Modul: "+p(n.$options.name)+")",1)]),_:1}),s(l,{subtype:"info"},{default:a(()=>[g,e(" Solar-Log Zähler sind Hausverbrauchs-Zähler. Um die Werte am EVU-Punkt zu ermitteln, muss ein virtueller Zähler konfiguriert werden. Eine Beispiel-Konfiguration mit Solar-Log Zähler findest Du im "),f,e(". ")]),_:1})])}const x=u(_,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/solar_log/counter.vue"]]);export{x as default}; diff --git a/web/settings/assets/counter-e85519a0.js b/web/settings/assets/counter-6bdbec27.js similarity index 86% rename from web/settings/assets/counter-e85519a0.js rename to web/settings/assets/counter-6bdbec27.js index 1fc3179136..d6eb30e708 100644 --- a/web/settings/assets/counter-e85519a0.js +++ b/web/settings/assets/counter-6bdbec27.js @@ -1 +1 @@ -import{_ as c,q as t,k as u,l as d,B as n,M as s,x as a,u as p,y as l}from"./vendor-f0f38b48.js";import"./vendor-sortablejs-cbf37f8f.js";const _={name:"DeviceSofarCounter",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(e,o=void 0){this.$emit("update:configuration",{value:e,object:o})}}},f={class:"device-azzurro_sofar-counter"},m={class:"small"};function b(e,o,g,h,v,w){const r=t("openwb-base-heading"),i=t("openwb-base-alert");return u(),d("div",f,[n(r,null,{default:s(()=>[a(" Einstellungen für Sofar ESS Zähler "),p("span",m,"(Modul: "+l(e.$options.name)+")",1)]),_:1}),n(i,{subtype:"info"},{default:s(()=>[a(" Diese Komponente benötigt keine Einstellungen. ")]),_:1})])}const B=c(_,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/azzurro_sofar/counter.vue"]]);export{B as default}; +import{_ as c,q as t,k as u,l as d,B as n,M as s,x as a,u as p,y as l}from"./vendor-493c2bec.js";import"./vendor-sortablejs-0b339223.js";const _={name:"DeviceSofarCounter",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(e,o=void 0){this.$emit("update:configuration",{value:e,object:o})}}},f={class:"device-azzurro_sofar-counter"},m={class:"small"};function b(e,o,g,h,v,w){const r=t("openwb-base-heading"),i=t("openwb-base-alert");return u(),d("div",f,[n(r,null,{default:s(()=>[a(" Einstellungen für Sofar ESS Zähler "),p("span",m,"(Modul: "+l(e.$options.name)+")",1)]),_:1}),n(i,{subtype:"info"},{default:s(()=>[a(" Diese Komponente benötigt keine Einstellungen. ")]),_:1})])}const B=c(_,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/azzurro_sofar/counter.vue"]]);export{B as default}; diff --git a/web/settings/assets/counter-9400433d.js b/web/settings/assets/counter-6d445299.js similarity index 86% rename from web/settings/assets/counter-9400433d.js rename to web/settings/assets/counter-6d445299.js index d91122e34d..4929694749 100644 --- a/web/settings/assets/counter-9400433d.js +++ b/web/settings/assets/counter-6d445299.js @@ -1 +1 @@ -import{_ as c,q as o,k as u,l as d,B as t,M as s,x as a,u as p,y as l}from"./vendor-f0f38b48.js";import"./vendor-sortablejs-cbf37f8f.js";const _={name:"DeviceSungrowCounter",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(e,n=void 0){this.$emit("update:configuration",{value:e,object:n})}}},f={class:"device-sungrow-counter"},m={class:"small"};function g(e,n,b,w,h,v){const r=o("openwb-base-heading"),i=o("openwb-base-alert");return u(),d("div",f,[t(r,null,{default:s(()=>[a(" Einstellungen für Sungrow Zähler "),p("span",m,"(Modul: "+l(e.$options.name)+")",1)]),_:1}),t(i,{subtype:"info"},{default:s(()=>[a(" Diese Komponente erfordert keine Einstellungen. ")]),_:1})])}const B=c(_,[["render",g],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/sungrow/counter.vue"]]);export{B as default}; +import{_ as c,q as o,k as u,l as d,B as t,M as s,x as a,u as p,y as l}from"./vendor-493c2bec.js";import"./vendor-sortablejs-0b339223.js";const _={name:"DeviceSungrowCounter",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(e,n=void 0){this.$emit("update:configuration",{value:e,object:n})}}},f={class:"device-sungrow-counter"},m={class:"small"};function g(e,n,b,w,h,v){const r=o("openwb-base-heading"),i=o("openwb-base-alert");return u(),d("div",f,[t(r,null,{default:s(()=>[a(" Einstellungen für Sungrow Zähler "),p("span",m,"(Modul: "+l(e.$options.name)+")",1)]),_:1}),t(i,{subtype:"info"},{default:s(()=>[a(" Diese Komponente erfordert keine Einstellungen. ")]),_:1})])}const B=c(_,[["render",g],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/sungrow/counter.vue"]]);export{B as default}; diff --git a/web/settings/assets/counter-6adeeedb.js b/web/settings/assets/counter-7322eb7a.js similarity index 96% rename from web/settings/assets/counter-6adeeedb.js rename to web/settings/assets/counter-7322eb7a.js index 8805ea4cc5..b679cff1ba 100644 --- a/web/settings/assets/counter-6adeeedb.js +++ b/web/settings/assets/counter-7322eb7a.js @@ -1 +1 @@ -import{_ as d,q as c,k as _,l as m,B as n,M as o,x as t,u as e,y as l}from"./vendor-f0f38b48.js";import"./vendor-sortablejs-cbf37f8f.js";const h={name:"DeviceMqttCounter",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(a,u=void 0){this.$emit("update:configuration",{value:a,object:u})}}},f={class:"device-mqtt-counter"},g={class:"small"},b=e("br",null,null,-1),B=e("br",null,null,-1),k=e("span",{class:"text-info"},"-123.45",-1),x=e("br",null,null,-1),v=e("br",null,null,-1),z=e("span",{class:"text-info"},"123.45",-1),I=e("br",null,null,-1),W=e("br",null,null,-1),N=e("span",{class:"text-info"},"123.45",-1),w=e("br",null,null,-1),y=e("br",null,null,-1),T=e("span",{class:"text-info"},"50.12",-1),q=e("br",null,null,-1),F=e("br",null,null,-1),P=e("span",{class:"text-info"},"[1.2,2.3,-2.1]",-1),E=e("br",null,null,-1),j=e("br",null,null,-1),D=e("span",{class:"text-info"},"[222.2,223.3,222.3]",-1),A=e("br",null,null,-1),Z=e("br",null,null,-1),C=e("span",{class:"text-info"},"[12.3,23.4,-12.3]",-1),M=e("br",null,null,-1),V=e("br",null,null,-1),S=e("span",{class:"text-info"},"[0.95,0.96,-0.95]",-1);function L(a,u,s,H,O,Q){const r=c("openwb-base-heading"),i=c("openwb-base-copy-to-clipboard"),p=c("openwb-base-alert");return _(),m("div",f,[n(r,null,{default:o(()=>[t(" Einstellungen für MQTT Zähler "),e("span",g,"(Modul: "+l(a.$options.name)+")",1)]),_:1}),n(p,{subtype:"info"},{default:o(()=>[e("ul",null,[e("li",null,[n(i,{class:"text-info",tooltip:"Topic kopieren"},{default:o(()=>[t("openWB/set/counter/"+l(s.componentId)+"/get/power",1)]),_:1}),b,t(" Bezugsleistung in Watt, Zahl mit oder ohne Nachkommastellen (Float, Integer) und einem Punkt als Dezimaltrennzeichen, positiv Bezug, negativ Einspeisung"),B,t(" Beispiel: "),k]),e("li",null,[n(i,{class:"text-info",tooltip:"Topic kopieren"},{default:o(()=>[t("openWB/set/counter/"+l(s.componentId)+"/get/imported",1)]),_:1}),x,t(" Bezogene Energie in Wh, Zahl mit oder ohne Nachkommastellen (Float, Integer) und einem Punkt als Dezimaltrennzeichen, nur positiv"),v,t(" Beispiel: "),z]),e("li",null,[n(i,{class:"text-info",tooltip:"Topic kopieren"},{default:o(()=>[t("openWB/set/counter/"+l(s.componentId)+"/get/exported",1)]),_:1}),I,t(" Eingespeiste Energie in Wh, Zahl mit oder ohne Nachkommastellen (Float, Integer) und einem Punkt als Dezimaltrennzeichen, nur positiv"),W,t(" Beispiel: "),N]),e("li",null,[n(i,{class:"text-info",tooltip:"Topic kopieren"},{default:o(()=>[t("openWB/set/counter/"+l(s.componentId)+"/get/frequency",1)]),_:1}),w,t(" Netzfrequenz in Hz, Zahl mit oder ohne Nachkommastellen (Float, Integer) und einem Punkt als Dezimaltrennzeichen"),y,t(" Beispiel: "),T]),e("li",null,[n(i,{class:"text-info",tooltip:"Topic kopieren"},{default:o(()=>[t("openWB/set/counter/"+l(s.componentId)+"/get/currents",1)]),_:1}),q,t(" Array mit den Strömen je Phase in Ampere, mit Nachkommastellen (Float), positiv Bezug, negativ Einspeisung"),F,t(" Beispiel: "),P]),e("li",null,[n(i,{class:"text-info",tooltip:"Topic kopieren"},{default:o(()=>[t("openWB/set/counter/"+l(s.componentId)+"/get/voltages",1)]),_:1}),E,t(" Array mit den Spannungen je Phase in Volt, mit Nachkommastellen (Float)"),j,t(" Beispiel: "),D]),e("li",null,[n(i,{class:"text-info",tooltip:"Topic kopieren"},{default:o(()=>[t("openWB/set/counter/"+l(s.componentId)+"/get/powers",1)]),_:1}),A,t(" Array mit den Leistungen je Phase in Watt, mit Nachkommastellen (Float)"),Z,t(" Beispiel: "),C]),e("li",null,[n(i,{class:"text-info",tooltip:"Topic kopieren"},{default:o(()=>[t("openWB/set/counter/"+l(s.componentId)+"/get/power_factors",1)]),_:1}),M,t(" Array mit den Leistungsfaktoren je Phase, mit Nachkommastellen (Float), Wertebereich -1 bis 1"),V,t(" Beispiel: "),S])])]),_:1})])}const K=d(h,[["render",L],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/mqtt/counter.vue"]]);export{K as default}; +import{_ as d,q as c,k as _,l as m,B as n,M as o,x as t,u as e,y as l}from"./vendor-493c2bec.js";import"./vendor-sortablejs-0b339223.js";const h={name:"DeviceMqttCounter",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(a,u=void 0){this.$emit("update:configuration",{value:a,object:u})}}},f={class:"device-mqtt-counter"},g={class:"small"},b=e("br",null,null,-1),B=e("br",null,null,-1),k=e("span",{class:"text-info"},"-123.45",-1),x=e("br",null,null,-1),v=e("br",null,null,-1),z=e("span",{class:"text-info"},"123.45",-1),I=e("br",null,null,-1),W=e("br",null,null,-1),N=e("span",{class:"text-info"},"123.45",-1),w=e("br",null,null,-1),y=e("br",null,null,-1),T=e("span",{class:"text-info"},"50.12",-1),q=e("br",null,null,-1),F=e("br",null,null,-1),P=e("span",{class:"text-info"},"[1.2,2.3,-2.1]",-1),E=e("br",null,null,-1),j=e("br",null,null,-1),D=e("span",{class:"text-info"},"[222.2,223.3,222.3]",-1),A=e("br",null,null,-1),Z=e("br",null,null,-1),C=e("span",{class:"text-info"},"[12.3,23.4,-12.3]",-1),M=e("br",null,null,-1),V=e("br",null,null,-1),S=e("span",{class:"text-info"},"[0.95,0.96,-0.95]",-1);function L(a,u,s,H,O,Q){const r=c("openwb-base-heading"),i=c("openwb-base-copy-to-clipboard"),p=c("openwb-base-alert");return _(),m("div",f,[n(r,null,{default:o(()=>[t(" Einstellungen für MQTT Zähler "),e("span",g,"(Modul: "+l(a.$options.name)+")",1)]),_:1}),n(p,{subtype:"info"},{default:o(()=>[e("ul",null,[e("li",null,[n(i,{class:"text-info",tooltip:"Topic kopieren"},{default:o(()=>[t("openWB/set/counter/"+l(s.componentId)+"/get/power",1)]),_:1}),b,t(" Bezugsleistung in Watt, Zahl mit oder ohne Nachkommastellen (Float, Integer) und einem Punkt als Dezimaltrennzeichen, positiv Bezug, negativ Einspeisung"),B,t(" Beispiel: "),k]),e("li",null,[n(i,{class:"text-info",tooltip:"Topic kopieren"},{default:o(()=>[t("openWB/set/counter/"+l(s.componentId)+"/get/imported",1)]),_:1}),x,t(" Bezogene Energie in Wh, Zahl mit oder ohne Nachkommastellen (Float, Integer) und einem Punkt als Dezimaltrennzeichen, nur positiv"),v,t(" Beispiel: "),z]),e("li",null,[n(i,{class:"text-info",tooltip:"Topic kopieren"},{default:o(()=>[t("openWB/set/counter/"+l(s.componentId)+"/get/exported",1)]),_:1}),I,t(" Eingespeiste Energie in Wh, Zahl mit oder ohne Nachkommastellen (Float, Integer) und einem Punkt als Dezimaltrennzeichen, nur positiv"),W,t(" Beispiel: "),N]),e("li",null,[n(i,{class:"text-info",tooltip:"Topic kopieren"},{default:o(()=>[t("openWB/set/counter/"+l(s.componentId)+"/get/frequency",1)]),_:1}),w,t(" Netzfrequenz in Hz, Zahl mit oder ohne Nachkommastellen (Float, Integer) und einem Punkt als Dezimaltrennzeichen"),y,t(" Beispiel: "),T]),e("li",null,[n(i,{class:"text-info",tooltip:"Topic kopieren"},{default:o(()=>[t("openWB/set/counter/"+l(s.componentId)+"/get/currents",1)]),_:1}),q,t(" Array mit den Strömen je Phase in Ampere, mit Nachkommastellen (Float), positiv Bezug, negativ Einspeisung"),F,t(" Beispiel: "),P]),e("li",null,[n(i,{class:"text-info",tooltip:"Topic kopieren"},{default:o(()=>[t("openWB/set/counter/"+l(s.componentId)+"/get/voltages",1)]),_:1}),E,t(" Array mit den Spannungen je Phase in Volt, mit Nachkommastellen (Float)"),j,t(" Beispiel: "),D]),e("li",null,[n(i,{class:"text-info",tooltip:"Topic kopieren"},{default:o(()=>[t("openWB/set/counter/"+l(s.componentId)+"/get/powers",1)]),_:1}),A,t(" Array mit den Leistungen je Phase in Watt, mit Nachkommastellen (Float)"),Z,t(" Beispiel: "),C]),e("li",null,[n(i,{class:"text-info",tooltip:"Topic kopieren"},{default:o(()=>[t("openWB/set/counter/"+l(s.componentId)+"/get/power_factors",1)]),_:1}),M,t(" Array mit den Leistungsfaktoren je Phase, mit Nachkommastellen (Float), Wertebereich -1 bis 1"),V,t(" Beispiel: "),S])])]),_:1})])}const K=d(h,[["render",L],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/mqtt/counter.vue"]]);export{K as default}; diff --git a/web/settings/assets/counter-002a725b.js b/web/settings/assets/counter-77245fec.js similarity index 86% rename from web/settings/assets/counter-002a725b.js rename to web/settings/assets/counter-77245fec.js index af2d9eaeb3..f7389a28ae 100644 --- a/web/settings/assets/counter-002a725b.js +++ b/web/settings/assets/counter-77245fec.js @@ -1 +1 @@ -import{_ as c,q as t,k as u,l as d,B as o,M as s,x as a,u as p,y as l}from"./vendor-f0f38b48.js";import"./vendor-sortablejs-cbf37f8f.js";const _={name:"DeviceSiemensSentronCounter",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(e,n=void 0){this.$emit("update:configuration",{value:e,object:n})}}},m={class:"device-siemens-sentron-counter"},f={class:"small"};function b(e,n,g,h,v,w){const i=t("openwb-base-heading"),r=t("openwb-base-alert");return u(),d("div",m,[o(i,null,{default:s(()=>[a(" Einstellungen für Siemens Sentron Zähler "),p("span",f,"(Modul: "+l(e.$options.name)+")",1)]),_:1}),o(r,{subtype:"info"},{default:s(()=>[a(" Diese Komponente benötigt keine Einstellungen. ")]),_:1})])}const B=c(_,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/siemens_sentron/counter.vue"]]);export{B as default}; +import{_ as c,q as t,k as u,l as d,B as o,M as s,x as a,u as p,y as l}from"./vendor-493c2bec.js";import"./vendor-sortablejs-0b339223.js";const _={name:"DeviceSiemensSentronCounter",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(e,n=void 0){this.$emit("update:configuration",{value:e,object:n})}}},m={class:"device-siemens-sentron-counter"},f={class:"small"};function b(e,n,g,h,v,w){const i=t("openwb-base-heading"),r=t("openwb-base-alert");return u(),d("div",m,[o(i,null,{default:s(()=>[a(" Einstellungen für Siemens Sentron Zähler "),p("span",f,"(Modul: "+l(e.$options.name)+")",1)]),_:1}),o(r,{subtype:"info"},{default:s(()=>[a(" Diese Komponente benötigt keine Einstellungen. ")]),_:1})])}const B=c(_,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/siemens_sentron/counter.vue"]]);export{B as default}; diff --git a/web/settings/assets/counter-7c07de2b.js b/web/settings/assets/counter-77e56512.js similarity index 87% rename from web/settings/assets/counter-7c07de2b.js rename to web/settings/assets/counter-77e56512.js index 3f6f2862c3..3c8a94c6c2 100644 --- a/web/settings/assets/counter-7c07de2b.js +++ b/web/settings/assets/counter-77e56512.js @@ -1 +1 @@ -import{_ as c,q as t,k as d,l as u,B as o,M as s,x as a,u as p,y as l}from"./vendor-f0f38b48.js";import"./vendor-sortablejs-cbf37f8f.js";const _={name:"DeviceSonnenbatterieCounter",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(e,n=void 0){this.$emit("update:configuration",{value:e,object:n})}}},m={class:"device-sonnenbatterie-counter"},f={class:"small"};function b(e,n,g,h,v,w){const i=t("openwb-base-heading"),r=t("openwb-base-alert");return d(),u("div",m,[o(i,null,{default:s(()=>[a(" Einstellungen für SonnenBatterie Zähler "),p("span",f,"(Modul: "+l(e.$options.name)+")",1)]),_:1}),o(r,{subtype:"info"},{default:s(()=>[a(" Mit diesem Modul ist kein Lastmanagement möglich, da keine Ströme der einzelnen Phasen gemessen werden. ")]),_:1})])}const k=c(_,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/sonnenbatterie/counter.vue"]]);export{k as default}; +import{_ as c,q as t,k as d,l as u,B as o,M as s,x as a,u as p,y as l}from"./vendor-493c2bec.js";import"./vendor-sortablejs-0b339223.js";const _={name:"DeviceSonnenbatterieCounter",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(e,n=void 0){this.$emit("update:configuration",{value:e,object:n})}}},m={class:"device-sonnenbatterie-counter"},f={class:"small"};function b(e,n,g,h,v,w){const i=t("openwb-base-heading"),r=t("openwb-base-alert");return d(),u("div",m,[o(i,null,{default:s(()=>[a(" Einstellungen für SonnenBatterie Zähler "),p("span",f,"(Modul: "+l(e.$options.name)+")",1)]),_:1}),o(r,{subtype:"info"},{default:s(()=>[a(" Mit diesem Modul ist kein Lastmanagement möglich, da keine Ströme der einzelnen Phasen gemessen werden. ")]),_:1})])}const k=c(_,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/sonnenbatterie/counter.vue"]]);export{k as default}; diff --git a/web/settings/assets/counter-71272ccc.js b/web/settings/assets/counter-9932cae5.js similarity index 94% rename from web/settings/assets/counter-71272ccc.js rename to web/settings/assets/counter-9932cae5.js index b53e10fc22..4accf65956 100644 --- a/web/settings/assets/counter-71272ccc.js +++ b/web/settings/assets/counter-9932cae5.js @@ -1 +1 @@ -import{_ as d,q as t,k as c,l,B as n,M as p,x as m,u as _,y as g}from"./vendor-f0f38b48.js";import"./vendor-sortablejs-cbf37f8f.js";const f={name:"DeviceHuaweiSmartLoggerCounter",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(o,e=void 0){this.$emit("update:configuration",{value:o,object:e})}}},b={class:"device-huawei-smart-logger-counter"},v={class:"small"};function w(o,e,a,h,x,i){const s=t("openwb-base-heading"),r=t("openwb-base-number-input");return c(),l("div",b,[n(s,null,{default:p(()=>[m(" Einstellungen für Huawei SmartLogger Zähler "),_("span",v,"(Modul: "+g(o.$options.name)+")",1)]),_:1}),n(r,{title:"Modbus ID",required:"","model-value":a.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[0]||(e[0]=u=>i.updateConfiguration(u,"configuration.modbus_id"))},null,8,["model-value"])])}const q=d(f,[["render",w],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/huawei_smartlogger/counter.vue"]]);export{q as default}; +import{_ as d,q as t,k as c,l,B as n,M as p,x as m,u as _,y as g}from"./vendor-493c2bec.js";import"./vendor-sortablejs-0b339223.js";const f={name:"DeviceHuaweiSmartLoggerCounter",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(o,e=void 0){this.$emit("update:configuration",{value:o,object:e})}}},b={class:"device-huawei-smart-logger-counter"},v={class:"small"};function w(o,e,a,h,x,i){const s=t("openwb-base-heading"),r=t("openwb-base-number-input");return c(),l("div",b,[n(s,null,{default:p(()=>[m(" Einstellungen für Huawei SmartLogger Zähler "),_("span",v,"(Modul: "+g(o.$options.name)+")",1)]),_:1}),n(r,{title:"Modbus ID",required:"","model-value":a.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[0]||(e[0]=u=>i.updateConfiguration(u,"configuration.modbus_id"))},null,8,["model-value"])])}const q=d(f,[["render",w],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/huawei_smartlogger/counter.vue"]]);export{q as default}; diff --git a/web/settings/assets/counter-0b44e253.js b/web/settings/assets/counter-a9ebdb41.js similarity index 89% rename from web/settings/assets/counter-0b44e253.js rename to web/settings/assets/counter-a9ebdb41.js index 3b74384784..e4dacac970 100644 --- a/web/settings/assets/counter-0b44e253.js +++ b/web/settings/assets/counter-a9ebdb41.js @@ -1 +1 @@ -import{_ as u,q as n,k as l,l as d,B as r,M as s,x as t,u as a,y as p}from"./vendor-f0f38b48.js";import"./vendor-sortablejs-cbf37f8f.js";const _={name:"DeviceKostalPlenticoreCounter",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(e,o=void 0){this.$emit("update:configuration",{value:e,object:o})}}},f={class:"device-kostalplenticore-counter"},h={class:"small"},m=a("a",{href:"https://github.com/openWB/core/wiki/Hausverbrauchs-Zähler",target:"_blank",rel:"noopener noreferrer"},"Wiki für Hausverbrauchs-Zähler",-1);function b(e,o,g,v,w,k){const i=n("openwb-base-heading"),c=n("openwb-base-alert");return l(),d("div",f,[r(i,null,{default:s(()=>[t(" Einstellungen für Kostal Plenticore Zähler "),a("span",h,"(Modul: "+p(e.$options.name)+")",1)]),_:1}),r(c,{subtype:"info"},{default:s(()=>[t(" Wenn der Zähler im Hausverbrauchs-Zweig installiert ist, muss die Hierarchie wie im "),m,t(" beschrieben, angeordnet werden. ")]),_:1})])}const x=u(_,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/kostal_plenticore/counter.vue"]]);export{x as default}; +import{_ as u,q as n,k as l,l as d,B as r,M as s,x as t,u as a,y as p}from"./vendor-493c2bec.js";import"./vendor-sortablejs-0b339223.js";const _={name:"DeviceKostalPlenticoreCounter",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(e,o=void 0){this.$emit("update:configuration",{value:e,object:o})}}},f={class:"device-kostalplenticore-counter"},h={class:"small"},m=a("a",{href:"https://github.com/openWB/core/wiki/Hausverbrauchs-Zähler",target:"_blank",rel:"noopener noreferrer"},"Wiki für Hausverbrauchs-Zähler",-1);function b(e,o,g,v,w,k){const i=n("openwb-base-heading"),c=n("openwb-base-alert");return l(),d("div",f,[r(i,null,{default:s(()=>[t(" Einstellungen für Kostal Plenticore Zähler "),a("span",h,"(Modul: "+p(e.$options.name)+")",1)]),_:1}),r(c,{subtype:"info"},{default:s(()=>[t(" Wenn der Zähler im Hausverbrauchs-Zweig installiert ist, muss die Hierarchie wie im "),m,t(" beschrieben, angeordnet werden. ")]),_:1})])}const x=u(_,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/kostal_plenticore/counter.vue"]]);export{x as default}; diff --git a/web/settings/assets/counter-e1c0cfad.js b/web/settings/assets/counter-b2d6e3da.js similarity index 86% rename from web/settings/assets/counter-e1c0cfad.js rename to web/settings/assets/counter-b2d6e3da.js index fcb91aa7a3..426354c488 100644 --- a/web/settings/assets/counter-e1c0cfad.js +++ b/web/settings/assets/counter-b2d6e3da.js @@ -1 +1 @@ -import{_ as c,q as n,k as u,l as d,B as o,M as a,x as s,u as p,y as l}from"./vendor-f0f38b48.js";import"./vendor-sortablejs-cbf37f8f.js";const _={name:"DeviceSolarwattCounter",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(e,t=void 0){this.$emit("update:configuration",{value:e,object:t})}}},f={class:"device-solarwatt-counter"},m={class:"small"};function b(e,t,g,v,w,h){const r=n("openwb-base-heading"),i=n("openwb-base-alert");return u(),d("div",f,[o(r,null,{default:a(()=>[s(" Einstellungen für Solarwatt/My Reserve Zähler "),p("span",m,"(Modul: "+l(e.$options.name)+")",1)]),_:1}),o(i,{subtype:"info"},{default:a(()=>[s(" Diese Komponente benötigt keine Einstellungen. ")]),_:1})])}const y=c(_,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/solar_watt/counter.vue"]]);export{y as default}; +import{_ as c,q as n,k as u,l as d,B as o,M as a,x as s,u as p,y as l}from"./vendor-493c2bec.js";import"./vendor-sortablejs-0b339223.js";const _={name:"DeviceSolarwattCounter",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(e,t=void 0){this.$emit("update:configuration",{value:e,object:t})}}},f={class:"device-solarwatt-counter"},m={class:"small"};function b(e,t,g,v,w,h){const r=n("openwb-base-heading"),i=n("openwb-base-alert");return u(),d("div",f,[o(r,null,{default:a(()=>[s(" Einstellungen für Solarwatt/My Reserve Zähler "),p("span",m,"(Modul: "+l(e.$options.name)+")",1)]),_:1}),o(i,{subtype:"info"},{default:a(()=>[s(" Diese Komponente benötigt keine Einstellungen. ")]),_:1})])}const y=c(_,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/solar_watt/counter.vue"]]);export{y as default}; diff --git a/web/settings/assets/counter-b9fabe58.js b/web/settings/assets/counter-b728a835.js similarity index 86% rename from web/settings/assets/counter-b9fabe58.js rename to web/settings/assets/counter-b728a835.js index 2ac2199d2e..fb1e0ce183 100644 --- a/web/settings/assets/counter-b9fabe58.js +++ b/web/settings/assets/counter-b728a835.js @@ -1 +1 @@ -import{_ as c,q as n,k as u,l as d,B as o,M as s,x as a,u as p,y as l}from"./vendor-f0f38b48.js";import"./vendor-sortablejs-cbf37f8f.js";const _={name:"DeviceSmartfoxCounter",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(e,t=void 0){this.$emit("update:configuration",{value:e,object:t})}}},f={class:"device-smartfox-counter"},m={class:"small"};function b(e,t,g,h,v,x){const i=n("openwb-base-heading"),r=n("openwb-base-alert");return u(),d("div",f,[o(i,null,{default:s(()=>[a(" Einstellungen für Smartfox Zähler "),p("span",m,"(Modul: "+l(e.$options.name)+")",1)]),_:1}),o(r,{subtype:"info"},{default:s(()=>[a(" Diese Komponente benötigt keine Einstellungen. ")]),_:1})])}const B=c(_,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/smartfox/counter.vue"]]);export{B as default}; +import{_ as c,q as n,k as u,l as d,B as o,M as s,x as a,u as p,y as l}from"./vendor-493c2bec.js";import"./vendor-sortablejs-0b339223.js";const _={name:"DeviceSmartfoxCounter",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(e,t=void 0){this.$emit("update:configuration",{value:e,object:t})}}},f={class:"device-smartfox-counter"},m={class:"small"};function b(e,t,g,h,v,x){const i=n("openwb-base-heading"),r=n("openwb-base-alert");return u(),d("div",f,[o(i,null,{default:s(()=>[a(" Einstellungen für Smartfox Zähler "),p("span",m,"(Modul: "+l(e.$options.name)+")",1)]),_:1}),o(r,{subtype:"info"},{default:s(()=>[a(" Diese Komponente benötigt keine Einstellungen. ")]),_:1})])}const B=c(_,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/smartfox/counter.vue"]]);export{B as default}; diff --git a/web/settings/assets/counter-5777261a.js b/web/settings/assets/counter-b78ae2ee.js similarity index 86% rename from web/settings/assets/counter-5777261a.js rename to web/settings/assets/counter-b78ae2ee.js index e9dac614a6..7a10e104bc 100644 --- a/web/settings/assets/counter-5777261a.js +++ b/web/settings/assets/counter-b78ae2ee.js @@ -1 +1 @@ -import{_ as c,q as n,k as p,l as u,B as o,M as s,x as a,u as d,y as l}from"./vendor-f0f38b48.js";import"./vendor-sortablejs-cbf37f8f.js";const _={name:"DeviceAlphaessCounter",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(e,t=void 0){this.$emit("update:configuration",{value:e,object:t})}}},f={class:"device-alphaess-counter"},m={class:"small"};function b(e,t,h,g,v,w){const i=n("openwb-base-heading"),r=n("openwb-base-alert");return p(),u("div",f,[o(i,null,{default:s(()=>[a(" Einstellungen für Alpha ESS Zähler "),d("span",m,"(Modul: "+l(e.$options.name)+")",1)]),_:1}),o(r,{subtype:"info"},{default:s(()=>[a(" Diese Komponente benötigt keine Einstellungen. ")]),_:1})])}const B=c(_,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/alpha_ess/counter.vue"]]);export{B as default}; +import{_ as c,q as n,k as p,l as u,B as o,M as s,x as a,u as d,y as l}from"./vendor-493c2bec.js";import"./vendor-sortablejs-0b339223.js";const _={name:"DeviceAlphaessCounter",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(e,t=void 0){this.$emit("update:configuration",{value:e,object:t})}}},f={class:"device-alphaess-counter"},m={class:"small"};function b(e,t,h,g,v,w){const i=n("openwb-base-heading"),r=n("openwb-base-alert");return p(),u("div",f,[o(i,null,{default:s(()=>[a(" Einstellungen für Alpha ESS Zähler "),d("span",m,"(Modul: "+l(e.$options.name)+")",1)]),_:1}),o(r,{subtype:"info"},{default:s(()=>[a(" Diese Komponente benötigt keine Einstellungen. ")]),_:1})])}const B=c(_,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/alpha_ess/counter.vue"]]);export{B as default}; diff --git a/web/settings/assets/counter-48fdf220.js b/web/settings/assets/counter-c0678047.js similarity index 92% rename from web/settings/assets/counter-48fdf220.js rename to web/settings/assets/counter-c0678047.js index 09bf8242d3..06c6d9d36d 100644 --- a/web/settings/assets/counter-48fdf220.js +++ b/web/settings/assets/counter-c0678047.js @@ -1 +1 @@ -import{_ as l,q as i,k as f,l as _,B as s,M as r,x as n,u as o,y as m}from"./vendor-f0f38b48.js";import"./vendor-sortablejs-cbf37f8f.js";const h={name:"DevicePowerfoxCounter",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(t,e=void 0){this.$emit("update:configuration",{value:t,object:e})}}},g={class:"device-powerfox-counter"},b={class:"small"},w=o("a",{href:"https://backend.powerfox.energy/api/2.0/my/all/devices",target:"_blank",rel:"noopener noreferrer"}," https://backend.powerfox.energy/api/2.0/my/all/devices ",-1),v=o("span",{class:"font-weight-bold text-monospace",style:{display:"contents"}},' "DeviceID" ',-1);function x(t,e,a,D,k,d){const u=i("openwb-base-heading"),c=i("openwb-base-text-input");return f(),_("div",g,[s(u,null,{default:r(()=>[n(" Einstellungen für Powerfox Zähler "),o("span",b,"(Modul: "+m(t.$options.name)+")",1)]),_:1}),s(c,{title:"ID",required:"","model-value":a.configuration.id,"onUpdate:modelValue":e[0]||(e[0]=p=>d.updateConfiguration(p,"configuration.id"))},{help:r(()=>[n(" Um die ID herauszufinden mit dem Browser die Adresse "),w,n(" aufrufen und dort Benutzername und Passwort eingeben. Die DeviceID ist exakt so einzutragen, wie in der Antwort des Servers. Das bedeutet insbesondere auch, die Groß-/Kleinschreibung ist zu beachten! In dem Feld ist nur die Zeichenfolge direkt hinter "),v,n(" ohne den Doppelpunkt und Anführungszeichen einzutragen. ")]),_:1},8,["model-value"])])}const I=l(h,[["render",x],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/powerfox/counter.vue"]]);export{I as default}; +import{_ as l,q as i,k as f,l as _,B as s,M as r,x as n,u as o,y as m}from"./vendor-493c2bec.js";import"./vendor-sortablejs-0b339223.js";const h={name:"DevicePowerfoxCounter",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(t,e=void 0){this.$emit("update:configuration",{value:t,object:e})}}},g={class:"device-powerfox-counter"},b={class:"small"},w=o("a",{href:"https://backend.powerfox.energy/api/2.0/my/all/devices",target:"_blank",rel:"noopener noreferrer"}," https://backend.powerfox.energy/api/2.0/my/all/devices ",-1),v=o("span",{class:"font-weight-bold text-monospace",style:{display:"contents"}},' "DeviceID" ',-1);function x(t,e,a,D,k,d){const u=i("openwb-base-heading"),c=i("openwb-base-text-input");return f(),_("div",g,[s(u,null,{default:r(()=>[n(" Einstellungen für Powerfox Zähler "),o("span",b,"(Modul: "+m(t.$options.name)+")",1)]),_:1}),s(c,{title:"ID",required:"","model-value":a.configuration.id,"onUpdate:modelValue":e[0]||(e[0]=p=>d.updateConfiguration(p,"configuration.id"))},{help:r(()=>[n(" Um die ID herauszufinden mit dem Browser die Adresse "),w,n(" aufrufen und dort Benutzername und Passwort eingeben. Die DeviceID ist exakt so einzutragen, wie in der Antwort des Servers. Das bedeutet insbesondere auch, die Groß-/Kleinschreibung ist zu beachten! In dem Feld ist nur die Zeichenfolge direkt hinter "),v,n(" ohne den Doppelpunkt und Anführungszeichen einzutragen. ")]),_:1},8,["model-value"])])}const I=l(h,[["render",x],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/powerfox/counter.vue"]]);export{I as default}; diff --git a/web/settings/assets/counter-371e2843.js b/web/settings/assets/counter-c0c9e317.js similarity index 85% rename from web/settings/assets/counter-371e2843.js rename to web/settings/assets/counter-c0c9e317.js index 3427c29a5d..71d4cd0719 100644 --- a/web/settings/assets/counter-371e2843.js +++ b/web/settings/assets/counter-c0c9e317.js @@ -1 +1 @@ -import{_ as c,q as n,k as u,l as d,B as o,M as s,x as a,u as p,y as l}from"./vendor-f0f38b48.js";import"./vendor-sortablejs-cbf37f8f.js";const _={name:"DeviceRCTCounter",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(e,t=void 0){this.$emit("update:configuration",{value:e,object:t})}}},f={class:"device-rct-counter"},m={class:"small"};function b(e,t,g,h,v,w){const i=n("openwb-base-heading"),r=n("openwb-base-alert");return u(),d("div",f,[o(i,null,{default:s(()=>[a(" Einstellungen für RCT Zähler "),p("span",m,"(Modul: "+l(e.$options.name)+")",1)]),_:1}),o(r,{subtype:"info"},{default:s(()=>[a(" Diese Komponente benötigt keine Einstellungen. ")]),_:1})])}const x=c(_,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/rct/counter.vue"]]);export{x as default}; +import{_ as c,q as n,k as u,l as d,B as o,M as s,x as a,u as p,y as l}from"./vendor-493c2bec.js";import"./vendor-sortablejs-0b339223.js";const _={name:"DeviceRCTCounter",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(e,t=void 0){this.$emit("update:configuration",{value:e,object:t})}}},f={class:"device-rct-counter"},m={class:"small"};function b(e,t,g,h,v,w){const i=n("openwb-base-heading"),r=n("openwb-base-alert");return u(),d("div",f,[o(i,null,{default:s(()=>[a(" Einstellungen für RCT Zähler "),p("span",m,"(Modul: "+l(e.$options.name)+")",1)]),_:1}),o(r,{subtype:"info"},{default:s(()=>[a(" Diese Komponente benötigt keine Einstellungen. ")]),_:1})])}const x=c(_,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/rct/counter.vue"]]);export{x as default}; diff --git a/web/settings/assets/counter-afb523c3.js b/web/settings/assets/counter-c177f89c.js similarity index 90% rename from web/settings/assets/counter-afb523c3.js rename to web/settings/assets/counter-c177f89c.js index 8a5705d7ca..ea0a614fb0 100644 --- a/web/settings/assets/counter-afb523c3.js +++ b/web/settings/assets/counter-c177f89c.js @@ -1 +1 @@ -import{_ as l,q as t,k as p,l as m,B as o,M as i,x as r,u as _,y as f}from"./vendor-f0f38b48.js";import"./vendor-sortablejs-cbf37f8f.js";const g={name:"DeviceVirtualCounter",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(n,e=void 0){this.$emit("update:configuration",{value:n,object:e})}}},h={class:"device-virtual-counter"},b={class:"small"};function v(n,e,a,w,x,s){const u=t("openwb-base-heading"),d=t("openwb-base-number-input");return p(),m("div",h,[o(u,null,{default:i(()=>[r(" Einstellungen für virtuelle Zähler "),_("span",b,"(Modul: "+f(n.$options.name)+")",1)]),_:1}),o(d,{title:"Zusätzlicher Verbrauch",min:0,step:.05,unit:"kW",required:"","model-value":a.configuration.external_consumption/1e3,"onUpdate:modelValue":e[0]||(e[0]=c=>s.updateConfiguration(c*1e3,"configuration.external_consumption"))},{help:i(()=>[r(" Die hier angegebene Leistung wird pauschal zu dem Leistungen der hinter dem Zähler liegenden Komponenten addiert. Damit lässt sich z. B. eine Reserve für nicht erfasste Verbraucher einstellen. ")]),_:1},8,["model-value"])])}const C=l(g,[["render",v],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/virtual/counter.vue"]]);export{C as default}; +import{_ as l,q as t,k as p,l as m,B as o,M as i,x as r,u as _,y as f}from"./vendor-493c2bec.js";import"./vendor-sortablejs-0b339223.js";const g={name:"DeviceVirtualCounter",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(n,e=void 0){this.$emit("update:configuration",{value:n,object:e})}}},h={class:"device-virtual-counter"},b={class:"small"};function v(n,e,a,w,x,s){const u=t("openwb-base-heading"),d=t("openwb-base-number-input");return p(),m("div",h,[o(u,null,{default:i(()=>[r(" Einstellungen für virtuelle Zähler "),_("span",b,"(Modul: "+f(n.$options.name)+")",1)]),_:1}),o(d,{title:"Zusätzlicher Verbrauch",min:0,step:.05,unit:"kW",required:"","model-value":a.configuration.external_consumption/1e3,"onUpdate:modelValue":e[0]||(e[0]=c=>s.updateConfiguration(c*1e3,"configuration.external_consumption"))},{help:i(()=>[r(" Die hier angegebene Leistung wird pauschal zu dem Leistungen der hinter dem Zähler liegenden Komponenten addiert. Damit lässt sich z. B. eine Reserve für nicht erfasste Verbraucher einstellen. ")]),_:1},8,["model-value"])])}const C=l(g,[["render",v],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/virtual/counter.vue"]]);export{C as default}; diff --git a/web/settings/assets/counter-1f95e587.js b/web/settings/assets/counter-c9516822.js similarity index 86% rename from web/settings/assets/counter-1f95e587.js rename to web/settings/assets/counter-c9516822.js index 2d5bc46ea4..712cf5299d 100644 --- a/web/settings/assets/counter-1f95e587.js +++ b/web/settings/assets/counter-c9516822.js @@ -1 +1 @@ -import{_ as c,q as t,k as d,l as u,B as o,M as s,x as a,u as p,y as l}from"./vendor-f0f38b48.js";import"./vendor-sortablejs-cbf37f8f.js";const _={name:"DeviceSiemensCounter",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(e,n=void 0){this.$emit("update:configuration",{value:e,object:n})}}},m={class:"device-siemens-counter"},f={class:"small"};function b(e,n,g,h,v,w){const i=t("openwb-base-heading"),r=t("openwb-base-alert");return d(),u("div",m,[o(i,null,{default:s(()=>[a(" Einstellungen für Siemens Zähler "),p("span",f,"(Modul: "+l(e.$options.name)+")",1)]),_:1}),o(r,{subtype:"info"},{default:s(()=>[a(" Diese Komponente erfordert keine Einstellungen. ")]),_:1})])}const B=c(_,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/siemens/counter.vue"]]);export{B as default}; +import{_ as c,q as t,k as d,l as u,B as o,M as s,x as a,u as p,y as l}from"./vendor-493c2bec.js";import"./vendor-sortablejs-0b339223.js";const _={name:"DeviceSiemensCounter",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(e,n=void 0){this.$emit("update:configuration",{value:e,object:n})}}},m={class:"device-siemens-counter"},f={class:"small"};function b(e,n,g,h,v,w){const i=t("openwb-base-heading"),r=t("openwb-base-alert");return d(),u("div",m,[o(i,null,{default:s(()=>[a(" Einstellungen für Siemens Zähler "),p("span",f,"(Modul: "+l(e.$options.name)+")",1)]),_:1}),o(r,{subtype:"info"},{default:s(()=>[a(" Diese Komponente erfordert keine Einstellungen. ")]),_:1})])}const B=c(_,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/siemens/counter.vue"]]);export{B as default}; diff --git a/web/settings/assets/counter-c530aaa3.js b/web/settings/assets/counter-cce26424.js similarity index 89% rename from web/settings/assets/counter-c530aaa3.js rename to web/settings/assets/counter-cce26424.js index 1d4c4bd07e..aab35e4cfe 100644 --- a/web/settings/assets/counter-c530aaa3.js +++ b/web/settings/assets/counter-cce26424.js @@ -1 +1 @@ -import{_ as m,q as o,k as p,l as _,B as a,M as i,x as t,u as r,y as f}from"./vendor-f0f38b48.js";import"./vendor-sortablejs-cbf37f8f.js";const b={name:"DeviceSmahmCounter",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(n,e=void 0){this.$emit("update:configuration",{value:n,object:e})}}},g={class:"device-smahm-counter"},h={class:"small"},v=r("br",null,null,-1);function M(n,e,s,w,B,u){const d=o("openwb-base-heading"),c=o("openwb-base-number-input");return p(),_("div",g,[a(d,null,{default:i(()=>[t(" Einstellungen für SMA-HM/EM Zähler "),r("span",h,"(Modul: "+f(n.$options.name)+")",1)]),_:1}),a(c,{title:"Seriennummer","model-value":s.configuration.serials,"onUpdate:modelValue":e[0]||(e[0]=l=>u.updateConfiguration(l,"configuration.serials"))},{help:i(()=>[t(" Eine Seriennummer ist nur erforderlich, wenn mehrere SMA HomeManager in Betrieb sind."),v,t(" Funktioniert auch mit Energy Meter statt Home Manager. ")]),_:1},8,["model-value"])])}const C=m(b,[["render",M],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/sma_shm/counter.vue"]]);export{C as default}; +import{_ as m,q as o,k as p,l as _,B as a,M as i,x as t,u as r,y as f}from"./vendor-493c2bec.js";import"./vendor-sortablejs-0b339223.js";const b={name:"DeviceSmahmCounter",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(n,e=void 0){this.$emit("update:configuration",{value:n,object:e})}}},g={class:"device-smahm-counter"},h={class:"small"},v=r("br",null,null,-1);function M(n,e,s,w,B,u){const d=o("openwb-base-heading"),c=o("openwb-base-number-input");return p(),_("div",g,[a(d,null,{default:i(()=>[t(" Einstellungen für SMA-HM/EM Zähler "),r("span",h,"(Modul: "+f(n.$options.name)+")",1)]),_:1}),a(c,{title:"Seriennummer","model-value":s.configuration.serials,"onUpdate:modelValue":e[0]||(e[0]=l=>u.updateConfiguration(l,"configuration.serials"))},{help:i(()=>[t(" Eine Seriennummer ist nur erforderlich, wenn mehrere SMA HomeManager in Betrieb sind."),v,t(" Funktioniert auch mit Energy Meter statt Home Manager. ")]),_:1},8,["model-value"])])}const C=m(b,[["render",M],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/sma_shm/counter.vue"]]);export{C as default}; diff --git a/web/settings/assets/counter-0310470c.js b/web/settings/assets/counter-cec2a2a0.js similarity index 85% rename from web/settings/assets/counter-0310470c.js rename to web/settings/assets/counter-cec2a2a0.js index 26ab3dffc5..cbccd9d4a1 100644 --- a/web/settings/assets/counter-0310470c.js +++ b/web/settings/assets/counter-cec2a2a0.js @@ -1 +1 @@ -import{_ as c,q as t,k as u,l as p,B as n,M as s,x as a,u as d,y as l}from"./vendor-f0f38b48.js";import"./vendor-sortablejs-cbf37f8f.js";const _={name:"DeviceKostalPikoCounter",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(e,o=void 0){this.$emit("update:configuration",{value:e,object:o})}}},f={class:"device-kostalpiko-counter"},m={class:"small"};function b(e,o,h,v,g,k){const i=t("openwb-base-heading"),r=t("openwb-base-alert");return u(),p("div",f,[n(i,null,{default:s(()=>[a(" Einstellungen für Kostal Piko Zähler "),d("span",m,"(Modul: "+l(e.$options.name)+")",1)]),_:1}),n(r,{subtype:"info"},{default:s(()=>[a(" Hausverbrauchszähler ")]),_:1})])}const x=c(_,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/kostal_piko/counter.vue"]]);export{x as default}; +import{_ as c,q as t,k as u,l as p,B as n,M as s,x as a,u as d,y as l}from"./vendor-493c2bec.js";import"./vendor-sortablejs-0b339223.js";const _={name:"DeviceKostalPikoCounter",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(e,o=void 0){this.$emit("update:configuration",{value:e,object:o})}}},f={class:"device-kostalpiko-counter"},m={class:"small"};function b(e,o,h,v,g,k){const i=t("openwb-base-heading"),r=t("openwb-base-alert");return u(),p("div",f,[n(i,null,{default:s(()=>[a(" Einstellungen für Kostal Piko Zähler "),d("span",m,"(Modul: "+l(e.$options.name)+")",1)]),_:1}),n(r,{subtype:"info"},{default:s(()=>[a(" Hausverbrauchszähler ")]),_:1})])}const x=c(_,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/kostal_piko/counter.vue"]]);export{x as default}; diff --git a/web/settings/assets/counter-a53703ba.js b/web/settings/assets/counter-d066b086.js similarity index 90% rename from web/settings/assets/counter-a53703ba.js rename to web/settings/assets/counter-d066b086.js index 825e58e873..8f1b6697be 100644 --- a/web/settings/assets/counter-a53703ba.js +++ b/web/settings/assets/counter-d066b086.js @@ -1 +1 @@ -import{_ as l,q as o,k as c,l as p,B as u,M as m,x as _,u as b,y as f}from"./vendor-f0f38b48.js";import"./vendor-sortablejs-cbf37f8f.js";const g={name:"DeviceVictronCounter",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(t,e=void 0){this.$emit("update:configuration",{value:t,object:e})}}},v={class:"device-victron-counter"},V={class:"small"};function w(t,e,i,x,C,a){const r=o("openwb-base-heading"),s=o("openwb-base-number-input"),d=o("openwb-base-button-group-input");return c(),p("div",v,[u(r,null,{default:m(()=>[_(" Einstellungen für Victron Zähler "),b("span",V,"(Modul: "+f(t.$options.name)+")",1)]),_:1}),u(s,{title:"Modbus ID",required:"","model-value":i.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[0]||(e[0]=n=>a.updateConfiguration(n,"configuration.modbus_id"))},null,8,["model-value"]),u(d,{title:"Messgerät",buttons:[{buttonValue:!1,text:"AC-In Victron GX"},{buttonValue:!0,text:"Energy Meter"}],"model-value":i.configuration.energy_meter,"onUpdate:modelValue":e[1]||(e[1]=n=>a.updateConfiguration(n,"configuration.energy_meter"))},null,8,["model-value"])])}const B=l(g,[["render",w],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/victron/counter.vue"]]);export{B as default}; +import{_ as l,q as o,k as c,l as p,B as u,M as m,x as _,u as b,y as f}from"./vendor-493c2bec.js";import"./vendor-sortablejs-0b339223.js";const g={name:"DeviceVictronCounter",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(t,e=void 0){this.$emit("update:configuration",{value:t,object:e})}}},v={class:"device-victron-counter"},V={class:"small"};function w(t,e,i,x,C,a){const r=o("openwb-base-heading"),s=o("openwb-base-number-input"),d=o("openwb-base-button-group-input");return c(),p("div",v,[u(r,null,{default:m(()=>[_(" Einstellungen für Victron Zähler "),b("span",V,"(Modul: "+f(t.$options.name)+")",1)]),_:1}),u(s,{title:"Modbus ID",required:"","model-value":i.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[0]||(e[0]=n=>a.updateConfiguration(n,"configuration.modbus_id"))},null,8,["model-value"]),u(d,{title:"Messgerät",buttons:[{buttonValue:!1,text:"AC-In Victron GX"},{buttonValue:!0,text:"Energy Meter"}],"model-value":i.configuration.energy_meter,"onUpdate:modelValue":e[1]||(e[1]=n=>a.updateConfiguration(n,"configuration.energy_meter"))},null,8,["model-value"])])}const B=l(g,[["render",w],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/victron/counter.vue"]]);export{B as default}; diff --git a/web/settings/assets/counter-3d38653d.js b/web/settings/assets/counter-d2851623.js similarity index 86% rename from web/settings/assets/counter-3d38653d.js rename to web/settings/assets/counter-d2851623.js index 308c07760b..91c7f3b7b8 100644 --- a/web/settings/assets/counter-3d38653d.js +++ b/web/settings/assets/counter-d2851623.js @@ -1 +1 @@ -import{_ as c,q as t,k as u,l as d,B as n,M as a,x as s,u as p,y as l}from"./vendor-f0f38b48.js";import"./vendor-sortablejs-cbf37f8f.js";const _={name:"DeviceCarloGavazziCounter",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(e,o=void 0){this.$emit("update:configuration",{value:e,object:o})}}},f={class:"device-carlogavazzi-counter"},m={class:"small"};function v(e,o,b,g,h,z){const i=t("openwb-base-heading"),r=t("openwb-base-alert");return u(),d("div",f,[n(i,null,{default:a(()=>[s(" Einstellungen für Carlo Gavazzi EM24 LAN "),p("span",m,"(Modul: "+l(e.$options.name)+")",1)]),_:1}),n(r,{subtype:"info"},{default:a(()=>[s(" ModbusTCP muss aktiviert sein. Ausgelesen wird ID 1 auf Port 502. ")]),_:1})])}const $=c(_,[["render",v],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/carlo_gavazzi/counter.vue"]]);export{$ as default}; +import{_ as c,q as t,k as u,l as d,B as n,M as a,x as s,u as p,y as l}from"./vendor-493c2bec.js";import"./vendor-sortablejs-0b339223.js";const _={name:"DeviceCarloGavazziCounter",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(e,o=void 0){this.$emit("update:configuration",{value:e,object:o})}}},f={class:"device-carlogavazzi-counter"},m={class:"small"};function v(e,o,b,g,h,z){const i=t("openwb-base-heading"),r=t("openwb-base-alert");return u(),d("div",f,[n(i,null,{default:a(()=>[s(" Einstellungen für Carlo Gavazzi EM24 LAN "),p("span",m,"(Modul: "+l(e.$options.name)+")",1)]),_:1}),n(r,{subtype:"info"},{default:a(()=>[s(" ModbusTCP muss aktiviert sein. Ausgelesen wird ID 1 auf Port 502. ")]),_:1})])}const $=c(_,[["render",v],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/carlo_gavazzi/counter.vue"]]);export{$ as default}; diff --git a/web/settings/assets/counter-e7b0c237.js b/web/settings/assets/counter-dcef76ed.js similarity index 92% rename from web/settings/assets/counter-e7b0c237.js rename to web/settings/assets/counter-dcef76ed.js index 0bbc82b2a7..e96ec62945 100644 --- a/web/settings/assets/counter-e7b0c237.js +++ b/web/settings/assets/counter-dcef76ed.js @@ -1 +1 @@ -import{_ as c,q as r,k as m,l as g,B as t,M as u,x as d,u as f,y as _}from"./vendor-f0f38b48.js";import"./vendor-sortablejs-cbf37f8f.js";const b={name:"DeviceVZLoggerCounter",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(o,e=void 0){this.$emit("update:configuration",{value:o,object:e})}}},v={class:"device-vzlogger-counter"},w={class:"small"};function h(o,e,i,Z,V,a){const s=r("openwb-base-heading"),p=r("openwb-base-alert"),l=r("openwb-base-number-input");return m(),g("div",v,[t(s,null,{default:u(()=>[d(" Einstellungen für VZLogger Zähler "),f("span",w,"(Modul: "+_(o.$options.name)+")",1)]),_:1}),t(p,{subtype:"info"},{default:u(()=>[d(' Bitte auf der Shell ausführen: "curl -s IPdesVZLogger:Port | jq .|cat -n" Zählen, in welcher Zeile der gesuchte Wert steht. Bei der ersten Zeile mit 1 anfangen zu zählen. ')]),_:1}),t(l,{title:"Zeile der Leistung",required:"",min:0,"model-value":i.configuration.line_power,"onUpdate:modelValue":e[0]||(e[0]=n=>a.updateConfiguration(n,"configuration.line_power"))},null,8,["model-value"]),t(l,{title:"Zeile der Einspeisung",min:0,"model-value":i.configuration.line_exported,"onUpdate:modelValue":e[1]||(e[1]=n=>a.updateConfiguration(n,"configuration.line_exported"))},null,8,["model-value"]),t(l,{title:"Zeile des Bezugs",min:0,"model-value":i.configuration.line_imported,"onUpdate:modelValue":e[2]||(e[2]=n=>a.updateConfiguration(n,"configuration.line_imported"))},null,8,["model-value"])])}const C=c(b,[["render",h],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/vzlogger/counter.vue"]]);export{C as default}; +import{_ as c,q as r,k as m,l as g,B as t,M as u,x as d,u as f,y as _}from"./vendor-493c2bec.js";import"./vendor-sortablejs-0b339223.js";const b={name:"DeviceVZLoggerCounter",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(o,e=void 0){this.$emit("update:configuration",{value:o,object:e})}}},v={class:"device-vzlogger-counter"},w={class:"small"};function h(o,e,i,Z,V,a){const s=r("openwb-base-heading"),p=r("openwb-base-alert"),l=r("openwb-base-number-input");return m(),g("div",v,[t(s,null,{default:u(()=>[d(" Einstellungen für VZLogger Zähler "),f("span",w,"(Modul: "+_(o.$options.name)+")",1)]),_:1}),t(p,{subtype:"info"},{default:u(()=>[d(' Bitte auf der Shell ausführen: "curl -s IPdesVZLogger:Port | jq .|cat -n" Zählen, in welcher Zeile der gesuchte Wert steht. Bei der ersten Zeile mit 1 anfangen zu zählen. ')]),_:1}),t(l,{title:"Zeile der Leistung",required:"",min:0,"model-value":i.configuration.line_power,"onUpdate:modelValue":e[0]||(e[0]=n=>a.updateConfiguration(n,"configuration.line_power"))},null,8,["model-value"]),t(l,{title:"Zeile der Einspeisung",min:0,"model-value":i.configuration.line_exported,"onUpdate:modelValue":e[1]||(e[1]=n=>a.updateConfiguration(n,"configuration.line_exported"))},null,8,["model-value"]),t(l,{title:"Zeile des Bezugs",min:0,"model-value":i.configuration.line_imported,"onUpdate:modelValue":e[2]||(e[2]=n=>a.updateConfiguration(n,"configuration.line_imported"))},null,8,["model-value"])])}const C=c(b,[["render",h],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/vzlogger/counter.vue"]]);export{C as default}; diff --git a/web/settings/assets/counter-9e849157.js b/web/settings/assets/counter-e15058f6.js similarity index 86% rename from web/settings/assets/counter-9e849157.js rename to web/settings/assets/counter-e15058f6.js index cb45e7f28e..40f92fb6f0 100644 --- a/web/settings/assets/counter-9e849157.js +++ b/web/settings/assets/counter-e15058f6.js @@ -1 +1 @@ -import{_ as c,q as t,k as d,l as u,B as n,M as s,x as a,u as p,y as l}from"./vendor-f0f38b48.js";import"./vendor-sortablejs-cbf37f8f.js";const _={name:"DeviceSolaxCounter",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(e,o=void 0){this.$emit("update:configuration",{value:e,object:o})}}},f={class:"device-solax-counter"},m={class:"small"};function b(e,o,g,h,v,x){const i=t("openwb-base-heading"),r=t("openwb-base-alert");return d(),u("div",f,[n(i,null,{default:s(()=>[a(" Einstellungen für Solax Zähler "),p("span",m,"(Modul: "+l(e.$options.name)+")",1)]),_:1}),n(r,{subtype:"info"},{default:s(()=>[a(" Diese Komponente erfordert keine Einstellungen. ")]),_:1})])}const B=c(_,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/solax/counter.vue"]]);export{B as default}; +import{_ as c,q as t,k as d,l as u,B as n,M as s,x as a,u as p,y as l}from"./vendor-493c2bec.js";import"./vendor-sortablejs-0b339223.js";const _={name:"DeviceSolaxCounter",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(e,o=void 0){this.$emit("update:configuration",{value:e,object:o})}}},f={class:"device-solax-counter"},m={class:"small"};function b(e,o,g,h,v,x){const i=t("openwb-base-heading"),r=t("openwb-base-alert");return d(),u("div",f,[n(i,null,{default:s(()=>[a(" Einstellungen für Solax Zähler "),p("span",m,"(Modul: "+l(e.$options.name)+")",1)]),_:1}),n(r,{subtype:"info"},{default:s(()=>[a(" Diese Komponente erfordert keine Einstellungen. ")]),_:1})])}const B=c(_,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/solax/counter.vue"]]);export{B as default}; diff --git a/web/settings/assets/counter-d45f5fed.js b/web/settings/assets/counter-e480f768.js similarity index 86% rename from web/settings/assets/counter-d45f5fed.js rename to web/settings/assets/counter-e480f768.js index 264e914133..8835ac0b8f 100644 --- a/web/settings/assets/counter-d45f5fed.js +++ b/web/settings/assets/counter-e480f768.js @@ -1 +1 @@ -import{_ as c,q as n,k as u,l as d,B as o,M as s,x as a,u as p,y as l}from"./vendor-f0f38b48.js";import"./vendor-sortablejs-cbf37f8f.js";const _={name:"DeviceSolarViewCounter",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(e,t=void 0){this.$emit("update:configuration",{value:e,object:t})}}},f={class:"device-solar-view-counter"},m={class:"small"};function b(e,t,g,v,w,h){const i=n("openwb-base-heading"),r=n("openwb-base-alert");return u(),d("div",f,[o(i,null,{default:s(()=>[a(" Einstellungen für SolarView Zähler "),p("span",m,"(Modul: "+l(e.$options.name)+")",1)]),_:1}),o(r,{subtype:"info"},{default:s(()=>[a(" Diese Komponente benötigt keine Einstellungen. ")]),_:1})])}const B=c(_,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/solar_view/counter.vue"]]);export{B as default}; +import{_ as c,q as n,k as u,l as d,B as o,M as s,x as a,u as p,y as l}from"./vendor-493c2bec.js";import"./vendor-sortablejs-0b339223.js";const _={name:"DeviceSolarViewCounter",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(e,t=void 0){this.$emit("update:configuration",{value:e,object:t})}}},f={class:"device-solar-view-counter"},m={class:"small"};function b(e,t,g,v,w,h){const i=n("openwb-base-heading"),r=n("openwb-base-alert");return u(),d("div",f,[o(i,null,{default:s(()=>[a(" Einstellungen für SolarView Zähler "),p("span",m,"(Modul: "+l(e.$options.name)+")",1)]),_:1}),o(r,{subtype:"info"},{default:s(()=>[a(" Diese Komponente benötigt keine Einstellungen. ")]),_:1})])}const B=c(_,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/solar_view/counter.vue"]]);export{B as default}; diff --git a/web/settings/assets/counter-6242b0ba.js b/web/settings/assets/counter-e6bca6ca.js similarity index 91% rename from web/settings/assets/counter-6242b0ba.js rename to web/settings/assets/counter-e6bca6ca.js index 5c7a4ee5ad..151b7efbf5 100644 --- a/web/settings/assets/counter-6242b0ba.js +++ b/web/settings/assets/counter-e6bca6ca.js @@ -1 +1 @@ -import{_ as m,q as a,k as p,l as _,B as n,M as u,x as d,u as f,y as b}from"./vendor-f0f38b48.js";import"./vendor-sortablejs-cbf37f8f.js";const g={name:"DeviceSolarEdgeCounter",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(o,e=void 0){this.$emit("update:configuration",{value:o,object:e})}}},v={class:"device-solaredge-counter"},h={class:"small"};function w(o,e,i,x,C,r){const l=a("openwb-base-heading"),c=a("openwb-base-alert"),s=a("openwb-base-number-input");return p(),_("div",v,[n(l,null,{default:u(()=>[d(" Einstellungen für SolarEdge Zähler "),f("span",h,"(Modul: "+b(o.$options.name)+")",1)]),_:1}),n(c,{subtype:"info"},{default:u(()=>[d(" Hierfür muss ein EVU-Zähler am SolarEdge Wechselrichter per Modbus angebunden sein. Der Zähler muss an erster Position im Wechselrichter konfiguriert sein. ")]),_:1}),n(s,{title:"Modbus ID",required:"","model-value":i.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[0]||(e[0]=t=>r.updateConfiguration(t,"configuration.modbus_id"))},null,8,["model-value"]),n(s,{title:"Meter ID","model-value":i.configuration.meter_id,min:"1",max:"255","onUpdate:modelValue":e[1]||(e[1]=t=>r.updateConfiguration(t,"configuration.meter_id"))},null,8,["model-value"])])}const B=m(g,[["render",w],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/solaredge/counter.vue"]]);export{B as default}; +import{_ as m,q as a,k as p,l as _,B as n,M as u,x as d,u as f,y as b}from"./vendor-493c2bec.js";import"./vendor-sortablejs-0b339223.js";const g={name:"DeviceSolarEdgeCounter",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(o,e=void 0){this.$emit("update:configuration",{value:o,object:e})}}},v={class:"device-solaredge-counter"},h={class:"small"};function w(o,e,i,x,C,r){const l=a("openwb-base-heading"),c=a("openwb-base-alert"),s=a("openwb-base-number-input");return p(),_("div",v,[n(l,null,{default:u(()=>[d(" Einstellungen für SolarEdge Zähler "),f("span",h,"(Modul: "+b(o.$options.name)+")",1)]),_:1}),n(c,{subtype:"info"},{default:u(()=>[d(" Hierfür muss ein EVU-Zähler am SolarEdge Wechselrichter per Modbus angebunden sein. Der Zähler muss an erster Position im Wechselrichter konfiguriert sein. ")]),_:1}),n(s,{title:"Modbus ID",required:"","model-value":i.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[0]||(e[0]=t=>r.updateConfiguration(t,"configuration.modbus_id"))},null,8,["model-value"]),n(s,{title:"Meter ID","model-value":i.configuration.meter_id,min:"1",max:"255","onUpdate:modelValue":e[1]||(e[1]=t=>r.updateConfiguration(t,"configuration.meter_id"))},null,8,["model-value"])])}const B=m(g,[["render",w],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/solaredge/counter.vue"]]);export{B as default}; diff --git a/web/settings/assets/counter-3e31db9a.js b/web/settings/assets/counter-ead472d2.js similarity index 86% rename from web/settings/assets/counter-3e31db9a.js rename to web/settings/assets/counter-ead472d2.js index 6f736baa59..3bb240dc2b 100644 --- a/web/settings/assets/counter-3e31db9a.js +++ b/web/settings/assets/counter-ead472d2.js @@ -1 +1 @@ -import{_ as r,q as t,k as p,l as u,B as o,M as s,x as a,u as d,y as l}from"./vendor-f0f38b48.js";import"./vendor-sortablejs-cbf37f8f.js";const _={name:"DeviceFemsCounter",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(e,n=void 0){this.$emit("update:configuration",{value:e,object:n})}}},f={class:"device-fems-counter"},m={class:"small"};function b(e,n,g,h,v,w){const i=t("openwb-base-heading"),c=t("openwb-base-alert");return p(),u("div",f,[o(i,null,{default:s(()=>[a(" Einstellungen für openEMS, Fenecon FEMS, CENTURIO 10, Kaco Hy-Control Zähler "),d("span",m,"(Modul: "+l(e.$options.name)+")",1)]),_:1}),o(c,{subtype:"info"},{default:s(()=>[a(" Diese Komponente benötigt keine Einstellungen. ")]),_:1})])}const $=r(_,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/fems/counter.vue"]]);export{$ as default}; +import{_ as r,q as t,k as p,l as u,B as o,M as s,x as a,u as d,y as l}from"./vendor-493c2bec.js";import"./vendor-sortablejs-0b339223.js";const _={name:"DeviceFemsCounter",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(e,n=void 0){this.$emit("update:configuration",{value:e,object:n})}}},f={class:"device-fems-counter"},m={class:"small"};function b(e,n,g,h,v,w){const i=t("openwb-base-heading"),c=t("openwb-base-alert");return p(),u("div",f,[o(i,null,{default:s(()=>[a(" Einstellungen für openEMS, Fenecon FEMS, CENTURIO 10, Kaco Hy-Control Zähler "),d("span",m,"(Modul: "+l(e.$options.name)+")",1)]),_:1}),o(c,{subtype:"info"},{default:s(()=>[a(" Diese Komponente benötigt keine Einstellungen. ")]),_:1})])}const $=r(_,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/fems/counter.vue"]]);export{$ as default}; diff --git a/web/settings/assets/counter-deeb6d82.js b/web/settings/assets/counter-f942950e.js similarity index 86% rename from web/settings/assets/counter-deeb6d82.js rename to web/settings/assets/counter-f942950e.js index 4cf637970d..4aab10963b 100644 --- a/web/settings/assets/counter-deeb6d82.js +++ b/web/settings/assets/counter-f942950e.js @@ -1 +1 @@ -import{_ as c,q as n,k as u,l as d,B as o,M as a,x as s,u as p,y as l}from"./vendor-f0f38b48.js";import"./vendor-sortablejs-cbf37f8f.js";const _={name:"DeviceVartaCounter",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(e,t=void 0){this.$emit("update:configuration",{value:e,object:t})}}},f={class:"device-varta-counter"},m={class:"small"};function b(e,t,g,v,h,w){const i=n("openwb-base-heading"),r=n("openwb-base-alert");return u(),d("div",f,[o(i,null,{default:a(()=>[s(" Einstellungen für Varta Zähler "),p("span",m,"(Modul: "+l(e.$options.name)+")",1)]),_:1}),o(r,{subtype:"info"},{default:a(()=>[s(" Diese Komponente benötigt keine Einstellungen. ")]),_:1})])}const B=c(_,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/varta/counter.vue"]]);export{B as default}; +import{_ as c,q as n,k as u,l as d,B as o,M as a,x as s,u as p,y as l}from"./vendor-493c2bec.js";import"./vendor-sortablejs-0b339223.js";const _={name:"DeviceVartaCounter",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(e,t=void 0){this.$emit("update:configuration",{value:e,object:t})}}},f={class:"device-varta-counter"},m={class:"small"};function b(e,t,g,v,h,w){const i=n("openwb-base-heading"),r=n("openwb-base-alert");return u(),d("div",f,[o(i,null,{default:a(()=>[s(" Einstellungen für Varta Zähler "),p("span",m,"(Modul: "+l(e.$options.name)+")",1)]),_:1}),o(r,{subtype:"info"},{default:a(()=>[s(" Diese Komponente benötigt keine Einstellungen. ")]),_:1})])}const B=c(_,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/varta/counter.vue"]]);export{B as default}; diff --git a/web/settings/assets/counter-c100fb23.js b/web/settings/assets/counter-f944130f.js similarity index 87% rename from web/settings/assets/counter-c100fb23.js rename to web/settings/assets/counter-f944130f.js index a6767ab014..8bc79e2be5 100644 --- a/web/settings/assets/counter-c100fb23.js +++ b/web/settings/assets/counter-f944130f.js @@ -1 +1 @@ -import{_ as d,q as o,k as c,l as p,B as t,M as l,x as m,u as _,y as f}from"./vendor-f0f38b48.js";import"./vendor-sortablejs-cbf37f8f.js";const b={name:"DeviceSunnyBoyCounter",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(n,e=void 0){this.$emit("update:configuration",{value:n,object:e})}}},g={class:"device-sunnyboy-counter"},v={class:"small"};function y(n,e,s,h,w,a){const i=o("openwb-base-heading"),u=o("openwb-base-number-input");return c(),p("div",g,[t(i,null,{default:l(()=>[m(" Einstellungen für SMA Sunny Boy/Tripower Zähler "),_("span",v,"(Modul: "+f(n.$options.name)+")",1)]),_:1}),t(u,{title:"Modbus ID",required:"","model-value":s.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[0]||(e[0]=r=>a.updateConfiguration(r,"configuration.modbus_id"))},null,8,["model-value"])])}const C=d(b,[["render",y],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/sma_sunny_boy/counter.vue"]]);export{C as default}; +import{_ as d,q as o,k as c,l as p,B as t,M as l,x as m,u as _,y as f}from"./vendor-493c2bec.js";import"./vendor-sortablejs-0b339223.js";const b={name:"DeviceSunnyBoyCounter",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(n,e=void 0){this.$emit("update:configuration",{value:n,object:e})}}},g={class:"device-sunnyboy-counter"},v={class:"small"};function y(n,e,s,h,w,a){const i=o("openwb-base-heading"),u=o("openwb-base-number-input");return c(),p("div",g,[t(i,null,{default:l(()=>[m(" Einstellungen für SMA Sunny Boy/Tripower Zähler "),_("span",v,"(Modul: "+f(n.$options.name)+")",1)]),_:1}),t(u,{title:"Modbus ID",required:"","model-value":s.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[0]||(e[0]=r=>a.updateConfiguration(r,"configuration.modbus_id"))},null,8,["model-value"])])}const C=d(b,[["render",y],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/sma_sunny_boy/counter.vue"]]);export{C as default}; diff --git a/web/settings/assets/counter-23ee69bc.js b/web/settings/assets/counter-fb53b27a.js similarity index 97% rename from web/settings/assets/counter-23ee69bc.js rename to web/settings/assets/counter-fb53b27a.js index 7b93d5172e..5d8d84f129 100644 --- a/web/settings/assets/counter-23ee69bc.js +++ b/web/settings/assets/counter-fb53b27a.js @@ -1 +1 @@ -import{_ as h,q as u,k as c,l as g,B as a,M as l,x as e,u as t,y as p}from"./vendor-f0f38b48.js";import"./vendor-sortablejs-cbf37f8f.js";const _={name:"DeviceHttpCounter",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(s,n=void 0){this.$emit("update:configuration",{value:s,object:n})}}},f={class:"device-http-counter"},b={class:"small"},w=t("br",null,null,-1),v=t("br",null,null,-1),k=t("br",null,null,-1),S=t("br",null,null,-1),P=t("br",null,null,-1),z=t("br",null,null,-1),Z=t("br",null,null,-1),x=t("br",null,null,-1),A=t("br",null,null,-1),D=t("br",null,null,-1),U=t("br",null,null,-1);function F(s,n,i,L,C,d){const m=u("openwb-base-heading"),o=u("openwb-base-text-input");return c(),g("div",f,[a(m,null,{default:l(()=>[e(" Einstellungen für Http Zähler "),t("span",b,"(Modul: "+p(s.$options.name)+")",1)]),_:1}),a(o,{title:"Pfad für Leistung",subtype:"text",required:"",pattern:"^/[-a-zA-Z0-9@:%_\\+.~#?&/=]*","model-value":i.configuration.power_path,"onUpdate:modelValue":n[0]||(n[0]=r=>d.updateConfiguration(r,"configuration.power_path"))},{help:l(()=>[e(' Diese Angabe wird an die Server-URL angehängt und muss mit einem Schrägstrich "/" beginnen.'),w,e(" Es wird vom Server eine Zahl mit oder ohne Nachkommastellen (Float, Integer) und einem Punkt als Dezimaltrennzeichen erwartet, welche die aktuelle Leistung in Watt darstellt. ")]),_:1},8,["model-value"]),a(o,{title:"Pfad für Zählerstand Bezug",subtype:"text",pattern:"^(/[-a-zA-Z0-9@:%_\\+.~#?&/=]*)","model-value":i.configuration.imported_path,"onUpdate:modelValue":n[1]||(n[1]=r=>d.updateConfiguration(r,"configuration.imported_path"))},{help:l(()=>[e(' Diese Angabe wird an die Server-URL angehängt und muss mit einem Schrägstrich "/" beginnen.'),v,e(" Es wird vom Server eine Zahl mit oder ohne Nachkommastellen (Float, Integer) und einem Punkt als Dezimaltrennzeichen erwartet, welche den aktuellen absoluten Zählerstand in Wh darstellt."),k,e(" Wird dieses Feld leer gelassen, wird der Zählerstand intern simuliert. ")]),_:1},8,["model-value"]),a(o,{title:"Pfad für Zählerstand Einspeisung",subtype:"text",pattern:"^(/[-a-zA-Z0-9@:%_\\+.~#?&/=]*)","model-value":i.configuration.exported_path,"onUpdate:modelValue":n[2]||(n[2]=r=>d.updateConfiguration(r,"configuration.exported_path"))},{help:l(()=>[e(' Diese Angabe wird an die Server-URL angehängt und muss mit einem Schrägstrich "/" beginnen.'),S,e(" Es wird vom Server eine Zahl mit oder ohne Nachkommastellen (Float, Integer) und einem Punkt als Dezimaltrennzeichen erwartet, welche den aktuellen absoluten Zählerstand in Wh darstellt."),P,e(" Wird dieses Feld leer gelassen, wird der Zählerstand intern simuliert. ")]),_:1},8,["model-value"]),a(o,{title:"Pfad für Strom Phase 1",subtype:"text",pattern:"^(/[-a-zA-Z0-9@:%_\\+.~#?&/=]*)","model-value":i.configuration.current_l1_path,"onUpdate:modelValue":n[3]||(n[3]=r=>d.updateConfiguration(r,"configuration.current_l1_path"))},{help:l(()=>[e(' Diese Angabe wird an die Server-URL angehängt und muss mit einem Schrägstrich "/" beginnen.'),z,e(" Es wird vom Server eine Zahl mit oder ohne Nachkommastellen (Float, Integer) und einem Punkt als Dezimaltrennzeichen erwartet, welche die aktuelle Stromstärke der 1. Phase in Ampere darstellt."),Z,e(" Wird dieses Feld leer gelassen, werden keine Phasenströme ermittelt und es kann kein Lastmanagement berechnet werden! ")]),_:1},8,["model-value"]),a(o,{title:"Pfad für Strom Phase 2",subtype:"text",pattern:"^(/[-a-zA-Z0-9@:%_\\+.~#?&/=]*)","model-value":i.configuration.current_l2_path,"onUpdate:modelValue":n[4]||(n[4]=r=>d.updateConfiguration(r,"configuration.current_l2_path"))},{help:l(()=>[e(' Diese Angabe wird an die Server-URL angehängt und muss mit einem Schrägstrich "/" beginnen.'),x,e(" Es wird vom Server eine Zahl mit oder ohne Nachkommastellen (Float, Integer) und einem Punkt als Dezimaltrennzeichen erwartet, welche die aktuelle Stromstärke der 2. Phase in Ampere darstellt."),A,e(" Wird dieses Feld leer gelassen, werden keine Phasenströme ermittelt und es kann kein Lastmanagement berechnet werden! ")]),_:1},8,["model-value"]),a(o,{title:"Pfad für Strom Phase 3",subtype:"text",pattern:"^(/[-a-zA-Z0-9@:%_\\+.~#?&/=]*)","model-value":i.configuration.current_l3_path,"onUpdate:modelValue":n[5]||(n[5]=r=>d.updateConfiguration(r,"configuration.current_l3_path"))},{help:l(()=>[e(' Diese Angabe wird an die Server-URL angehängt und muss mit einem Schrägstrich "/" beginnen.'),D,e(" Es wird vom Server eine Zahl mit oder ohne Nachkommastellen (Float, Integer) und einem Punkt als Dezimaltrennzeichen erwartet, welche die aktuelle Stromstärke der 3. Phase in Ampere darstellt."),U,e(" Wird dieses Feld leer gelassen, werden keine Phasenströme ermittelt und es kann kein Lastmanagement berechnet werden! ")]),_:1},8,["model-value"])])}const N=h(_,[["render",F],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/http/counter.vue"]]);export{N as default}; +import{_ as h,q as u,k as c,l as g,B as a,M as l,x as e,u as t,y as p}from"./vendor-493c2bec.js";import"./vendor-sortablejs-0b339223.js";const _={name:"DeviceHttpCounter",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(s,n=void 0){this.$emit("update:configuration",{value:s,object:n})}}},f={class:"device-http-counter"},b={class:"small"},w=t("br",null,null,-1),v=t("br",null,null,-1),k=t("br",null,null,-1),S=t("br",null,null,-1),P=t("br",null,null,-1),z=t("br",null,null,-1),Z=t("br",null,null,-1),x=t("br",null,null,-1),A=t("br",null,null,-1),D=t("br",null,null,-1),U=t("br",null,null,-1);function F(s,n,i,L,C,d){const m=u("openwb-base-heading"),o=u("openwb-base-text-input");return c(),g("div",f,[a(m,null,{default:l(()=>[e(" Einstellungen für Http Zähler "),t("span",b,"(Modul: "+p(s.$options.name)+")",1)]),_:1}),a(o,{title:"Pfad für Leistung",subtype:"text",required:"",pattern:"^/[-a-zA-Z0-9@:%_\\+.~#?&/=]*","model-value":i.configuration.power_path,"onUpdate:modelValue":n[0]||(n[0]=r=>d.updateConfiguration(r,"configuration.power_path"))},{help:l(()=>[e(' Diese Angabe wird an die Server-URL angehängt und muss mit einem Schrägstrich "/" beginnen.'),w,e(" Es wird vom Server eine Zahl mit oder ohne Nachkommastellen (Float, Integer) und einem Punkt als Dezimaltrennzeichen erwartet, welche die aktuelle Leistung in Watt darstellt. ")]),_:1},8,["model-value"]),a(o,{title:"Pfad für Zählerstand Bezug",subtype:"text",pattern:"^(/[-a-zA-Z0-9@:%_\\+.~#?&/=]*)","model-value":i.configuration.imported_path,"onUpdate:modelValue":n[1]||(n[1]=r=>d.updateConfiguration(r,"configuration.imported_path"))},{help:l(()=>[e(' Diese Angabe wird an die Server-URL angehängt und muss mit einem Schrägstrich "/" beginnen.'),v,e(" Es wird vom Server eine Zahl mit oder ohne Nachkommastellen (Float, Integer) und einem Punkt als Dezimaltrennzeichen erwartet, welche den aktuellen absoluten Zählerstand in Wh darstellt."),k,e(" Wird dieses Feld leer gelassen, wird der Zählerstand intern simuliert. ")]),_:1},8,["model-value"]),a(o,{title:"Pfad für Zählerstand Einspeisung",subtype:"text",pattern:"^(/[-a-zA-Z0-9@:%_\\+.~#?&/=]*)","model-value":i.configuration.exported_path,"onUpdate:modelValue":n[2]||(n[2]=r=>d.updateConfiguration(r,"configuration.exported_path"))},{help:l(()=>[e(' Diese Angabe wird an die Server-URL angehängt und muss mit einem Schrägstrich "/" beginnen.'),S,e(" Es wird vom Server eine Zahl mit oder ohne Nachkommastellen (Float, Integer) und einem Punkt als Dezimaltrennzeichen erwartet, welche den aktuellen absoluten Zählerstand in Wh darstellt."),P,e(" Wird dieses Feld leer gelassen, wird der Zählerstand intern simuliert. ")]),_:1},8,["model-value"]),a(o,{title:"Pfad für Strom Phase 1",subtype:"text",pattern:"^(/[-a-zA-Z0-9@:%_\\+.~#?&/=]*)","model-value":i.configuration.current_l1_path,"onUpdate:modelValue":n[3]||(n[3]=r=>d.updateConfiguration(r,"configuration.current_l1_path"))},{help:l(()=>[e(' Diese Angabe wird an die Server-URL angehängt und muss mit einem Schrägstrich "/" beginnen.'),z,e(" Es wird vom Server eine Zahl mit oder ohne Nachkommastellen (Float, Integer) und einem Punkt als Dezimaltrennzeichen erwartet, welche die aktuelle Stromstärke der 1. Phase in Ampere darstellt."),Z,e(" Wird dieses Feld leer gelassen, werden keine Phasenströme ermittelt und es kann kein Lastmanagement berechnet werden! ")]),_:1},8,["model-value"]),a(o,{title:"Pfad für Strom Phase 2",subtype:"text",pattern:"^(/[-a-zA-Z0-9@:%_\\+.~#?&/=]*)","model-value":i.configuration.current_l2_path,"onUpdate:modelValue":n[4]||(n[4]=r=>d.updateConfiguration(r,"configuration.current_l2_path"))},{help:l(()=>[e(' Diese Angabe wird an die Server-URL angehängt und muss mit einem Schrägstrich "/" beginnen.'),x,e(" Es wird vom Server eine Zahl mit oder ohne Nachkommastellen (Float, Integer) und einem Punkt als Dezimaltrennzeichen erwartet, welche die aktuelle Stromstärke der 2. Phase in Ampere darstellt."),A,e(" Wird dieses Feld leer gelassen, werden keine Phasenströme ermittelt und es kann kein Lastmanagement berechnet werden! ")]),_:1},8,["model-value"]),a(o,{title:"Pfad für Strom Phase 3",subtype:"text",pattern:"^(/[-a-zA-Z0-9@:%_\\+.~#?&/=]*)","model-value":i.configuration.current_l3_path,"onUpdate:modelValue":n[5]||(n[5]=r=>d.updateConfiguration(r,"configuration.current_l3_path"))},{help:l(()=>[e(' Diese Angabe wird an die Server-URL angehängt und muss mit einem Schrägstrich "/" beginnen.'),D,e(" Es wird vom Server eine Zahl mit oder ohne Nachkommastellen (Float, Integer) und einem Punkt als Dezimaltrennzeichen erwartet, welche die aktuelle Stromstärke der 3. Phase in Ampere darstellt."),U,e(" Wird dieses Feld leer gelassen, werden keine Phasenströme ermittelt und es kann kein Lastmanagement berechnet werden! ")]),_:1},8,["model-value"])])}const N=h(_,[["render",F],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/http/counter.vue"]]);export{N as default}; diff --git a/web/settings/assets/counter-be5c0579.js b/web/settings/assets/counter-ffdb32b2.js similarity index 86% rename from web/settings/assets/counter-be5c0579.js rename to web/settings/assets/counter-ffdb32b2.js index dd9b58bf53..1d430dbac2 100644 --- a/web/settings/assets/counter-be5c0579.js +++ b/web/settings/assets/counter-ffdb32b2.js @@ -1 +1 @@ -import{_ as c,q as n,k as u,l as d,B as o,M as s,x as a,u as p,y as l}from"./vendor-f0f38b48.js";import"./vendor-sortablejs-cbf37f8f.js";const _={name:"DeviceBatterXCounter",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(e,t=void 0){this.$emit("update:configuration",{value:e,object:t})}}},f={class:"device-batterx-counter"},m={class:"small"};function b(e,t,g,h,v,x){const i=n("openwb-base-heading"),r=n("openwb-base-alert");return u(),d("div",f,[o(i,null,{default:s(()=>[a(" Einstellungen für BatterX Zähler "),p("span",m,"(Modul: "+l(e.$options.name)+")",1)]),_:1}),o(r,{subtype:"info"},{default:s(()=>[a(" Diese Komponente benötigt keine Einstellungen. ")]),_:1})])}const $=c(_,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/batterx/counter.vue"]]);export{$ as default}; +import{_ as c,q as n,k as u,l as d,B as o,M as s,x as a,u as p,y as l}from"./vendor-493c2bec.js";import"./vendor-sortablejs-0b339223.js";const _={name:"DeviceBatterXCounter",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(e,t=void 0){this.$emit("update:configuration",{value:e,object:t})}}},f={class:"device-batterx-counter"},m={class:"small"};function b(e,t,g,h,v,x){const i=n("openwb-base-heading"),r=n("openwb-base-alert");return u(),d("div",f,[o(i,null,{default:s(()=>[a(" Einstellungen für BatterX Zähler "),p("span",m,"(Modul: "+l(e.$options.name)+")",1)]),_:1}),o(r,{subtype:"info"},{default:s(()=>[a(" Diese Komponente benötigt keine Einstellungen. ")]),_:1})])}const $=c(_,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/batterx/counter.vue"]]);export{$ as default}; diff --git a/web/settings/assets/counter_s0-3aa644a5.js b/web/settings/assets/counter_s0-2800db05.js similarity index 86% rename from web/settings/assets/counter_s0-3aa644a5.js rename to web/settings/assets/counter_s0-2800db05.js index 13fdae56d8..fdba094427 100644 --- a/web/settings/assets/counter_s0-3aa644a5.js +++ b/web/settings/assets/counter_s0-2800db05.js @@ -1 +1 @@ -import{_ as c,q as o,k as u,l as d,B as t,M as s,x as a,u as p,y as l}from"./vendor-f0f38b48.js";import"./vendor-sortablejs-cbf37f8f.js";const _={name:"DeviceFroniusCounterS0",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(e,n=void 0){this.$emit("update:configuration",{value:e,object:n})}}},f={class:"device-fronius-counter-s0"},m={class:"small"};function b(e,n,g,h,v,w){const i=o("openwb-base-heading"),r=o("openwb-base-alert");return u(),d("div",f,[t(i,null,{default:s(()=>[a(" Einstellungen für Fronius S0 Zähler "),p("span",m,"(Modul: "+l(e.$options.name)+")",1)]),_:1}),t(r,{subtype:"info"},{default:s(()=>[a(" Diese Komponente erfordert keine Einstellungen. ")]),_:1})])}const B=c(_,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/fronius/counter_s0.vue"]]);export{B as default}; +import{_ as c,q as o,k as u,l as d,B as t,M as s,x as a,u as p,y as l}from"./vendor-493c2bec.js";import"./vendor-sortablejs-0b339223.js";const _={name:"DeviceFroniusCounterS0",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(e,n=void 0){this.$emit("update:configuration",{value:e,object:n})}}},f={class:"device-fronius-counter-s0"},m={class:"small"};function b(e,n,g,h,v,w){const i=o("openwb-base-heading"),r=o("openwb-base-alert");return u(),d("div",f,[t(i,null,{default:s(()=>[a(" Einstellungen für Fronius S0 Zähler "),p("span",m,"(Modul: "+l(e.$options.name)+")",1)]),_:1}),t(r,{subtype:"info"},{default:s(()=>[a(" Diese Komponente erfordert keine Einstellungen. ")]),_:1})])}const B=c(_,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/fronius/counter_s0.vue"]]);export{B as default}; diff --git a/web/settings/assets/counter_sm-9d608119.js b/web/settings/assets/counter_sm-090ceac8.js similarity index 97% rename from web/settings/assets/counter_sm-9d608119.js rename to web/settings/assets/counter_sm-090ceac8.js index 1342ac7355..4e5d3c4131 100644 --- a/web/settings/assets/counter_sm-9d608119.js +++ b/web/settings/assets/counter_sm-090ceac8.js @@ -1 +1 @@ -import{_,q as a,k as f,l as g,B as o,M as s,x as r,u as d,y as u}from"./vendor-f0f38b48.js";import"./vendor-sortablejs-cbf37f8f.js";const h={name:"DeviceFroniusCounterSM",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},computed:{meterRealtimeUrl:{get(){return`http://${this.deviceIpAddress}/solar_api/v1/GetMeterRealtimeData.cgi?Scope=System`}},deviceIpAddress:{get(){var e;return(e=this.$store.state.mqtt[`openWB/system/device/${this.deviceId}/config`])==null?void 0:e.configuration.ip_address}}},methods:{updateConfiguration(e,t=void 0){this.$emit("update:configuration",{value:e,object:t})}}},b={class:"device-fronius-counter-sm"},v={class:"small"},w=["href"],D=d("br",null,null,-1);function M(e,t,l,S,k,n){const m=a("openwb-base-heading"),c=a("openwb-base-select-input"),p=a("openwb-base-number-input");return f(),g("div",b,[o(m,null,{default:s(()=>[r(" Einstellungen für Fronius SmartMeter "),d("span",v,"(Modul: "+u(e.$options.name)+")",1)]),_:1}),o(c,{title:"Kompatibilitätsmodus",notSelected:"Bitte auswählen",options:[{value:0,text:"Aus"},{value:1,text:"Variante 1"},{value:2,text:"Variante 2"}],"model-value":l.configuration.variant,"onUpdate:modelValue":t[0]||(t[0]=i=>n.updateConfiguration(i,"configuration.variant"))},{help:s(()=>[r(" Gegebenenfalls auch für alte Modelle nach einem Softwareupdate erforderlich. Fronius hat derzeit keine Konsistente Schnittstelle. Speziell beim Gen24 kann Variante 1 oder 2 erforderlich sein. Nach speichern sollten nach etwa 10-20 Sekunden Daten angezeigt werden. Ist dies nicht der Fall die andere Variante ausprobieren. ")]),_:1},8,["model-value"]),o(p,{title:"Meter ID",required:"",min:"0",max:"65535","model-value":l.configuration.meter_id,"onUpdate:modelValue":t[1]||(t[1]=i=>n.updateConfiguration(i,"configuration.meter_id"))},{help:s(()=>[r(" Die Meter ID des SmartMeters. Diese ist normalerweise 1. Bei mehreren SmartMetern im System kann es notwendig sein, die Meter ID zu ändern. Zur Ermittlung kann der folgende Link verwendet werden. Die Meter ID kann den zurückgegebenen JSON Daten entnommen werden. "),d("a",{href:n.meterRealtimeUrl,target:"_blank",rel:"noopener noreferrer"},u(n.meterRealtimeUrl),9,w),D,r(' Im Abschnitt "Body" -> "Data" werden die installierten SmartMeter mit aktuellen Messwerten angezeigt. Die Meter ID ist die Zahl vor dem Doppelpunkt und den zugehörigen Messwerten. ')]),_:1},8,["model-value"])])}const B=_(h,[["render",M],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/fronius/counter_sm.vue"]]);export{B as default}; +import{_,q as a,k as f,l as g,B as o,M as s,x as r,u as d,y as u}from"./vendor-493c2bec.js";import"./vendor-sortablejs-0b339223.js";const h={name:"DeviceFroniusCounterSM",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},computed:{meterRealtimeUrl:{get(){return`http://${this.deviceIpAddress}/solar_api/v1/GetMeterRealtimeData.cgi?Scope=System`}},deviceIpAddress:{get(){var e;return(e=this.$store.state.mqtt[`openWB/system/device/${this.deviceId}/config`])==null?void 0:e.configuration.ip_address}}},methods:{updateConfiguration(e,t=void 0){this.$emit("update:configuration",{value:e,object:t})}}},b={class:"device-fronius-counter-sm"},v={class:"small"},w=["href"],D=d("br",null,null,-1);function M(e,t,l,S,k,n){const m=a("openwb-base-heading"),c=a("openwb-base-select-input"),p=a("openwb-base-number-input");return f(),g("div",b,[o(m,null,{default:s(()=>[r(" Einstellungen für Fronius SmartMeter "),d("span",v,"(Modul: "+u(e.$options.name)+")",1)]),_:1}),o(c,{title:"Kompatibilitätsmodus",notSelected:"Bitte auswählen",options:[{value:0,text:"Aus"},{value:1,text:"Variante 1"},{value:2,text:"Variante 2"}],"model-value":l.configuration.variant,"onUpdate:modelValue":t[0]||(t[0]=i=>n.updateConfiguration(i,"configuration.variant"))},{help:s(()=>[r(" Gegebenenfalls auch für alte Modelle nach einem Softwareupdate erforderlich. Fronius hat derzeit keine Konsistente Schnittstelle. Speziell beim Gen24 kann Variante 1 oder 2 erforderlich sein. Nach speichern sollten nach etwa 10-20 Sekunden Daten angezeigt werden. Ist dies nicht der Fall die andere Variante ausprobieren. ")]),_:1},8,["model-value"]),o(p,{title:"Meter ID",required:"",min:"0",max:"65535","model-value":l.configuration.meter_id,"onUpdate:modelValue":t[1]||(t[1]=i=>n.updateConfiguration(i,"configuration.meter_id"))},{help:s(()=>[r(" Die Meter ID des SmartMeters. Diese ist normalerweise 1. Bei mehreren SmartMetern im System kann es notwendig sein, die Meter ID zu ändern. Zur Ermittlung kann der folgende Link verwendet werden. Die Meter ID kann den zurückgegebenen JSON Daten entnommen werden. "),d("a",{href:n.meterRealtimeUrl,target:"_blank",rel:"noopener noreferrer"},u(n.meterRealtimeUrl),9,w),D,r(' Im Abschnitt "Body" -> "Data" werden die installierten SmartMeter mit aktuellen Messwerten angezeigt. Die Meter ID ist die Zahl vor dem Doppelpunkt und den zugehörigen Messwerten. ')]),_:1},8,["model-value"])])}const B=_(h,[["render",M],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/fronius/counter_sm.vue"]]);export{B as default}; diff --git a/web/settings/assets/device-a88cf134.js b/web/settings/assets/device-0238a67e.js similarity index 86% rename from web/settings/assets/device-a88cf134.js rename to web/settings/assets/device-0238a67e.js index 3b3ef7ce05..152946b4c0 100644 --- a/web/settings/assets/device-a88cf134.js +++ b/web/settings/assets/device-0238a67e.js @@ -1 +1 @@ -import{_ as u,q as o,k as c,l as p,B as n,M as l,x as _,u as f,y as m}from"./vendor-f0f38b48.js";import"./vendor-sortablejs-cbf37f8f.js";const v={name:"DeviceRCT",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0}},methods:{updateConfiguration(t,e=void 0){this.$emit("update:configuration",{value:t,object:e})}}},b={class:"device-rct"},g={class:"small"};function h(t,e,s,x,w,a){const i=o("openwb-base-heading"),d=o("openwb-base-text-input");return c(),p("div",b,[n(i,null,{default:l(()=>[_(" Einstellungen für RCT "),f("span",g,"(Modul: "+m(t.$options.name)+")",1)]),_:1}),n(d,{title:"IP oder Hostname",subtype:"host",required:"","model-value":s.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=r=>a.updateConfiguration(r,"configuration.ip_address"))},null,8,["model-value"])])}const y=u(v,[["render",h],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/rct/device.vue"]]);export{y as default}; +import{_ as u,q as o,k as c,l as p,B as n,M as l,x as _,u as f,y as m}from"./vendor-493c2bec.js";import"./vendor-sortablejs-0b339223.js";const v={name:"DeviceRCT",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0}},methods:{updateConfiguration(t,e=void 0){this.$emit("update:configuration",{value:t,object:e})}}},b={class:"device-rct"},g={class:"small"};function h(t,e,s,x,w,a){const i=o("openwb-base-heading"),d=o("openwb-base-text-input");return c(),p("div",b,[n(i,null,{default:l(()=>[_(" Einstellungen für RCT "),f("span",g,"(Modul: "+m(t.$options.name)+")",1)]),_:1}),n(d,{title:"IP oder Hostname",subtype:"host",required:"","model-value":s.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=r=>a.updateConfiguration(r,"configuration.ip_address"))},null,8,["model-value"])])}const y=u(v,[["render",h],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/rct/device.vue"]]);export{y as default}; diff --git a/web/settings/assets/device-eca45af0.js b/web/settings/assets/device-04626438.js similarity index 89% rename from web/settings/assets/device-eca45af0.js rename to web/settings/assets/device-04626438.js index 1d2f14fbb7..d33c488339 100644 --- a/web/settings/assets/device-eca45af0.js +++ b/web/settings/assets/device-04626438.js @@ -1 +1 @@ -import{_ as l,q as n,k as p,l as c,B as a,M as m,x as _,u as f,y as b}from"./vendor-f0f38b48.js";import"./vendor-sortablejs-cbf37f8f.js";const g={name:"DeviceSolarmax",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0}},methods:{updateConfiguration(o,e=void 0){this.$emit("update:configuration",{value:o,object:e})}}},v={class:"device-solarmax"},x={class:"small"};function w(o,e,i,h,B,s){const u=n("openwb-base-heading"),d=n("openwb-base-text-input"),r=n("openwb-base-number-input");return p(),c("div",v,[a(u,null,{default:m(()=>[_(" Einstellungen für Solarmax "),f("span",x,"(Modul: "+b(o.$options.name)+")",1)]),_:1}),a(d,{title:"IP oder Hostname",subtype:"host",required:"","model-value":i.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=t=>s.updateConfiguration(t,"configuration.ip_address"))},null,8,["model-value"]),a(r,{title:"Port",required:"",min:1,max:65535,"model-value":i.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=t=>s.updateConfiguration(t,"configuration.port"))},null,8,["model-value"])])}const q=l(g,[["render",w],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/solarmax/device.vue"]]);export{q as default}; +import{_ as l,q as n,k as p,l as c,B as a,M as m,x as _,u as f,y as b}from"./vendor-493c2bec.js";import"./vendor-sortablejs-0b339223.js";const g={name:"DeviceSolarmax",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0}},methods:{updateConfiguration(o,e=void 0){this.$emit("update:configuration",{value:o,object:e})}}},v={class:"device-solarmax"},x={class:"small"};function w(o,e,i,h,B,s){const u=n("openwb-base-heading"),d=n("openwb-base-text-input"),r=n("openwb-base-number-input");return p(),c("div",v,[a(u,null,{default:m(()=>[_(" Einstellungen für Solarmax "),f("span",x,"(Modul: "+b(o.$options.name)+")",1)]),_:1}),a(d,{title:"IP oder Hostname",subtype:"host",required:"","model-value":i.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=t=>s.updateConfiguration(t,"configuration.ip_address"))},null,8,["model-value"]),a(r,{title:"Port",required:"",min:1,max:65535,"model-value":i.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=t=>s.updateConfiguration(t,"configuration.port"))},null,8,["model-value"])])}const q=l(g,[["render",w],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/solarmax/device.vue"]]);export{q as default}; diff --git a/web/settings/assets/device-a8567774.js b/web/settings/assets/device-073594d6.js similarity index 92% rename from web/settings/assets/device-a8567774.js rename to web/settings/assets/device-073594d6.js index bf30591770..95aaa57430 100644 --- a/web/settings/assets/device-a8567774.js +++ b/web/settings/assets/device-073594d6.js @@ -1 +1 @@ -import{_ as p,q as n,k as r,l as d,B as o,M as s,x as a,u,y as _}from"./vendor-f0f38b48.js";import"./vendor-sortablejs-cbf37f8f.js";const l={name:"DeviceOpenwbEvuKit",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0}},methods:{updateConfiguration(e,t=void 0){this.$emit("update:configuration",{value:e,object:t})}}},f={class:"device-openwb-evukit"},b={class:"small"};function m(e,t,v,g,w,h){const i=n("openwb-base-heading"),c=n("openwb-base-alert");return r(),d("div",f,[o(i,null,{default:s(()=>[a(" Einstellungen für openWB EVU-Kit "),u("span",b,"(Modul: "+_(e.$options.name)+")",1)]),_:1}),o(c,{subtype:"info"},{default:s(()=>[a(" Dieses Gerät erfordert keine Einstellungen. ")]),_:1})])}const $=p(l,[["render",m],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/openwb_evu_kit/device.vue"]]);export{$ as default}; +import{_ as p,q as n,k as r,l as d,B as o,M as s,x as a,u,y as _}from"./vendor-493c2bec.js";import"./vendor-sortablejs-0b339223.js";const l={name:"DeviceOpenwbEvuKit",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0}},methods:{updateConfiguration(e,t=void 0){this.$emit("update:configuration",{value:e,object:t})}}},f={class:"device-openwb-evukit"},b={class:"small"};function m(e,t,v,g,w,h){const i=n("openwb-base-heading"),c=n("openwb-base-alert");return r(),d("div",f,[o(i,null,{default:s(()=>[a(" Einstellungen für openWB EVU-Kit "),u("span",b,"(Modul: "+_(e.$options.name)+")",1)]),_:1}),o(c,{subtype:"info"},{default:s(()=>[a(" Dieses Gerät erfordert keine Einstellungen. ")]),_:1})])}const $=p(l,[["render",m],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/openwb_evu_kit/device.vue"]]);export{$ as default}; diff --git a/web/settings/assets/device-2ff10261.js b/web/settings/assets/device-08e89817.js similarity index 89% rename from web/settings/assets/device-2ff10261.js rename to web/settings/assets/device-08e89817.js index 1cefdda977..8702d24ef8 100644 --- a/web/settings/assets/device-2ff10261.js +++ b/web/settings/assets/device-08e89817.js @@ -1 +1 @@ -import{_ as r,q as d,k as l,l as p,B as n,M as c,x as f,u as m,y as _}from"./vendor-f0f38b48.js";import"./vendor-sortablejs-cbf37f8f.js";const g={name:"DeviceLG",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0}},methods:{updateConfiguration(t,e=void 0){this.$emit("update:configuration",{value:t,object:e})}}},v={class:"device-lg"},b={class:"small"};function w(t,e,a,x,V,s){const u=d("openwb-base-heading"),i=d("openwb-base-text-input");return l(),p("div",v,[n(u,null,{default:c(()=>[f(" Einstellungen für LG ESS V1.0 "),m("span",b,"(Modul: "+_(t.$options.name)+")",1)]),_:1}),n(i,{title:"IP oder Hostname",subtype:"host",required:"","model-value":a.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=o=>s.updateConfiguration(o,"configuration.ip_address"))},null,8,["model-value"]),n(i,{title:"Passwort",subtype:"password",required:"","model-value":a.configuration.password,"onUpdate:modelValue":e[1]||(e[1]=o=>s.updateConfiguration(o,"configuration.password"))},null,8,["model-value"])])}const B=r(g,[["render",w],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/lg/device.vue"]]);export{B as default}; +import{_ as r,q as d,k as l,l as p,B as n,M as c,x as f,u as m,y as _}from"./vendor-493c2bec.js";import"./vendor-sortablejs-0b339223.js";const g={name:"DeviceLG",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0}},methods:{updateConfiguration(t,e=void 0){this.$emit("update:configuration",{value:t,object:e})}}},v={class:"device-lg"},b={class:"small"};function w(t,e,a,x,V,s){const u=d("openwb-base-heading"),i=d("openwb-base-text-input");return l(),p("div",v,[n(u,null,{default:c(()=>[f(" Einstellungen für LG ESS V1.0 "),m("span",b,"(Modul: "+_(t.$options.name)+")",1)]),_:1}),n(i,{title:"IP oder Hostname",subtype:"host",required:"","model-value":a.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=o=>s.updateConfiguration(o,"configuration.ip_address"))},null,8,["model-value"]),n(i,{title:"Passwort",subtype:"password",required:"","model-value":a.configuration.password,"onUpdate:modelValue":e[1]||(e[1]=o=>s.updateConfiguration(o,"configuration.password"))},null,8,["model-value"])])}const B=r(g,[["render",w],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/lg/device.vue"]]);export{B as default}; diff --git a/web/settings/assets/device-422dcf91.js b/web/settings/assets/device-0e3e273b.js similarity index 94% rename from web/settings/assets/device-422dcf91.js rename to web/settings/assets/device-0e3e273b.js index 7264c3746b..41569166dd 100644 --- a/web/settings/assets/device-422dcf91.js +++ b/web/settings/assets/device-0e3e273b.js @@ -1 +1 @@ -import{_ as f,q as a,k as i,l as _,B as l,M as g,x as v,u as b,y as w,z as s,A as d}from"./vendor-f0f38b48.js";import"./vendor-sortablejs-cbf37f8f.js";const x={name:"DeviceAlphaess",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0}},methods:{updateConfiguration(u,e=void 0){this.$emit("update:configuration",{value:u,object:e})}}},V={class:"device-alphaess"},C={class:"small"};function S(u,e,o,y,B,n){const m=a("openwb-base-heading"),r=a("openwb-base-select-input"),p=a("openwb-base-text-input"),c=a("openwb-base-number-input");return i(),_("div",V,[l(m,null,{default:g(()=>[v(" Einstellungen für Alpha ESS "),b("span",C,"(Modul: "+w(u.$options.name)+")",1)]),_:1}),l(r,{title:"Ausleseart",notSelected:"Bitte auswählen",options:[{value:0,text:"Alpha ESS-Kit"},{value:1,text:"Hi 5/10"}],"model-value":o.configuration.source,"onUpdate:modelValue":e[0]||(e[0]=t=>n.updateConfiguration(t,"configuration.source"))},null,8,["model-value"]),o.configuration.source==1?(i(),s(p,{key:0,title:"IP oder Hostname",subtype:"host",required:"","model-value":o.configuration.ip_address,"onUpdate:modelValue":e[1]||(e[1]=t=>n.updateConfiguration(t,"configuration.ip_address"))},null,8,["model-value"])):d("",!0),o.configuration.source==1?(i(),s(c,{key:1,title:"Port",subtype:"host",required:"",min:1,max:65535,"model-value":o.configuration.port,"onUpdate:modelValue":e[2]||(e[2]=t=>n.updateConfiguration(t,"configuration.port"))},null,8,["model-value"])):d("",!0),o.configuration.source==1?(i(),s(c,{key:2,title:"Modbus ID",required:"","model-value":o.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[3]||(e[3]=t=>n.updateConfiguration(t,"configuration.modbus_id"))},null,8,["model-value"])):d("",!0),l(r,{title:"Firmware Version",notSelected:"Bitte auswählen",options:[{value:0,text:"EMS älter als 1.23V"},{value:1,text:"EMS 1.23V oder neuer"}],"model-value":o.configuration.version,"onUpdate:modelValue":e[4]||(e[4]=t=>n.updateConfiguration(t,"configuration.version"))},null,8,["model-value"])])}const E=f(x,[["render",S],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/alpha_ess/device.vue"]]);export{E as default}; +import{_ as f,q as a,k as i,l as _,B as l,M as g,x as v,u as b,y as w,z as s,A as d}from"./vendor-493c2bec.js";import"./vendor-sortablejs-0b339223.js";const x={name:"DeviceAlphaess",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0}},methods:{updateConfiguration(u,e=void 0){this.$emit("update:configuration",{value:u,object:e})}}},V={class:"device-alphaess"},C={class:"small"};function S(u,e,o,y,B,n){const m=a("openwb-base-heading"),r=a("openwb-base-select-input"),p=a("openwb-base-text-input"),c=a("openwb-base-number-input");return i(),_("div",V,[l(m,null,{default:g(()=>[v(" Einstellungen für Alpha ESS "),b("span",C,"(Modul: "+w(u.$options.name)+")",1)]),_:1}),l(r,{title:"Ausleseart",notSelected:"Bitte auswählen",options:[{value:0,text:"Alpha ESS-Kit"},{value:1,text:"Hi 5/10"}],"model-value":o.configuration.source,"onUpdate:modelValue":e[0]||(e[0]=t=>n.updateConfiguration(t,"configuration.source"))},null,8,["model-value"]),o.configuration.source==1?(i(),s(p,{key:0,title:"IP oder Hostname",subtype:"host",required:"","model-value":o.configuration.ip_address,"onUpdate:modelValue":e[1]||(e[1]=t=>n.updateConfiguration(t,"configuration.ip_address"))},null,8,["model-value"])):d("",!0),o.configuration.source==1?(i(),s(c,{key:1,title:"Port",subtype:"host",required:"",min:1,max:65535,"model-value":o.configuration.port,"onUpdate:modelValue":e[2]||(e[2]=t=>n.updateConfiguration(t,"configuration.port"))},null,8,["model-value"])):d("",!0),o.configuration.source==1?(i(),s(c,{key:2,title:"Modbus ID",required:"","model-value":o.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[3]||(e[3]=t=>n.updateConfiguration(t,"configuration.modbus_id"))},null,8,["model-value"])):d("",!0),l(r,{title:"Firmware Version",notSelected:"Bitte auswählen",options:[{value:0,text:"EMS älter als 1.23V"},{value:1,text:"EMS 1.23V oder neuer"}],"model-value":o.configuration.version,"onUpdate:modelValue":e[4]||(e[4]=t=>n.updateConfiguration(t,"configuration.version"))},null,8,["model-value"])])}const E=f(x,[["render",S],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/alpha_ess/device.vue"]]);export{E as default}; diff --git a/web/settings/assets/device-31d96f27.js b/web/settings/assets/device-1e9ff36d.js similarity index 89% rename from web/settings/assets/device-31d96f27.js rename to web/settings/assets/device-1e9ff36d.js index 4b29ac842a..e865896130 100644 --- a/web/settings/assets/device-31d96f27.js +++ b/web/settings/assets/device-1e9ff36d.js @@ -1 +1 @@ -import{_ as p,q as t,k as l,l as c,B as a,M as m,x as _,u as f,y as b}from"./vendor-f0f38b48.js";import"./vendor-sortablejs-cbf37f8f.js";const g={name:"DeviceOpenwbFlex",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},componentId:{required:!0}},methods:{updateConfiguration(n,e=void 0){this.$emit("update:configuration",{value:n,object:e})}}},v={class:"device-openwb-flex"},x={class:"small"};function w(n,e,i,B,h,s){const u=t("openwb-base-heading"),r=t("openwb-base-text-input"),d=t("openwb-base-number-input");return l(),c("div",v,[a(u,null,{default:m(()=>[_(" Einstellungen für openWB-Flex "),f("span",x,"(Modul: "+b(n.$options.name)+")",1)]),_:1}),a(r,{title:"IP oder Hostname",subtype:"host",required:"","model-value":i.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=o=>s.updateConfiguration(o,"configuration.ip_address"))},null,8,["model-value"]),a(d,{title:"Port",required:"",min:1,max:65535,"model-value":i.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=o=>s.updateConfiguration(o,"configuration.port"))},null,8,["model-value"])])}const V=p(g,[["render",w],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/openwb_flex/device.vue"]]);export{V as default}; +import{_ as p,q as t,k as l,l as c,B as a,M as m,x as _,u as f,y as b}from"./vendor-493c2bec.js";import"./vendor-sortablejs-0b339223.js";const g={name:"DeviceOpenwbFlex",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},componentId:{required:!0}},methods:{updateConfiguration(n,e=void 0){this.$emit("update:configuration",{value:n,object:e})}}},v={class:"device-openwb-flex"},x={class:"small"};function w(n,e,i,B,h,s){const u=t("openwb-base-heading"),r=t("openwb-base-text-input"),d=t("openwb-base-number-input");return l(),c("div",v,[a(u,null,{default:m(()=>[_(" Einstellungen für openWB-Flex "),f("span",x,"(Modul: "+b(n.$options.name)+")",1)]),_:1}),a(r,{title:"IP oder Hostname",subtype:"host",required:"","model-value":i.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=o=>s.updateConfiguration(o,"configuration.ip_address"))},null,8,["model-value"]),a(d,{title:"Port",required:"",min:1,max:65535,"model-value":i.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=o=>s.updateConfiguration(o,"configuration.port"))},null,8,["model-value"])])}const V=p(g,[["render",w],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/openwb_flex/device.vue"]]);export{V as default}; diff --git a/web/settings/assets/device-fa4ff080.js b/web/settings/assets/device-247ea21b.js similarity index 96% rename from web/settings/assets/device-fa4ff080.js rename to web/settings/assets/device-247ea21b.js index 0cc3c0ac4b..51f7d25c03 100644 --- a/web/settings/assets/device-fa4ff080.js +++ b/web/settings/assets/device-247ea21b.js @@ -1 +1 @@ -import{_ as v,q as m,k as r,l as b,B as p,M as u,x as i,u as c,y as w,z as s,A as l}from"./vendor-f0f38b48.js";import"./vendor-sortablejs-cbf37f8f.js";const _={name:"DeviceEnphase",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},componentId:{required:!0}},methods:{updateConfiguration(d,e=void 0){this.$emit("update:configuration",{value:d,object:e})}}},h={class:"device-enphase"},y={class:"small"},k=c("br",null,null,-1),V=c("a",{href:"https://developer.enphase.com/docs/quickstart.html",target:"_blank",rel:"noopener"},"Enphase-Webseite",-1);function E(d,e,t,B,C,o){const f=m("openwb-base-heading"),a=m("openwb-base-text-input"),g=m("openwb-base-select-input");return r(),b("div",h,[p(f,null,{default:u(()=>[i(" Einstellungen für Enphase Envoy / IQ Gateway "),c("span",y,"(Modul: "+w(d.$options.name)+")",1)]),_:1}),p(a,{title:"IP oder Hostname",subtype:"host",required:"","model-value":t.configuration.hostname,"onUpdate:modelValue":e[0]||(e[0]=n=>o.updateConfiguration(n,"configuration.hostname"))},{help:u(()=>[i(' Bitte geben Sie die IP-Adresse oder den Hostnamen des Enphase Envoy oder IQ Gateway an. Die Info finden Sie in Ihrem Router. Ab Werk ist der Hostname "envoy" oder "envoy.local". ')]),_:1},8,["model-value"]),p(g,{title:"Version",required:"",options:[{value:1,text:"Firmware < 7.0"},{value:2,text:"Firmware ab 7.0"}],"model-value":t.configuration.version,"onUpdate:modelValue":e[1]||(e[1]=n=>o.updateConfiguration(n,"configuration.version"))},{help:u(()=>[i(" Bitte wählen Sie die Version des Enphase Envoy oder IQ Gateway aus. Die Version 1 ist für Geräte mit einer Firmware-Version unter 7.0, die Version 2 für Geräte mit einer Firmware-Version ab 7.0. Ein angebundener Speicher wird nur bei Version 2 unterstützt. ")]),_:1},8,["model-value"]),t.configuration.version>1?(r(),s(a,{key:0,title:"Benutzer",subtype:"user","model-value":t.configuration.user,"onUpdate:modelValue":e[2]||(e[2]=n=>o.updateConfiguration(n,"configuration.user"))},null,8,["model-value"])):l("",!0),t.configuration.version>1?(r(),s(a,{key:1,title:"Kennwort",subtype:"password","model-value":t.configuration.password,"onUpdate:modelValue":e[3]||(e[3]=n=>o.updateConfiguration(n,"configuration.password"))},null,8,["model-value"])):l("",!0),t.configuration.version>1?(r(),s(a,{key:2,title:"Envoy Seriennummer","model-value":t.configuration.serial,"onUpdate:modelValue":e[4]||(e[4]=n=>o.updateConfiguration(n,"configuration.serial"))},null,8,["model-value"])):l("",!0),t.configuration.version>1?(r(),s(a,{key:3,title:"Token",subtype:"password","model-value":t.configuration.token,"onUpdate:modelValue":e[5]||(e[5]=n=>o.updateConfiguration(n,"configuration.token"))},{help:u(()=>[i(" Wenn Benutzer, Kennwort und Seriennummer des Envoys angegeben werden, wird das Token automatisch beim Speichern abgerufen. Ebenfalls wird ein abgelaufenes Token (derzeit nach einem Jahr) automatisch erneuert."),k,i(" Wenn Sie ein Token manuell erstellen möchten, können Sie dies auf der "),V,i(" erledigen. ")]),_:1},8,["model-value"])):l("",!0)])}const I=v(_,[["render",E],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/enphase/device.vue"]]);export{I as default}; +import{_ as v,q as m,k as r,l as b,B as p,M as u,x as i,u as c,y as w,z as s,A as l}from"./vendor-493c2bec.js";import"./vendor-sortablejs-0b339223.js";const _={name:"DeviceEnphase",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},componentId:{required:!0}},methods:{updateConfiguration(d,e=void 0){this.$emit("update:configuration",{value:d,object:e})}}},h={class:"device-enphase"},y={class:"small"},k=c("br",null,null,-1),V=c("a",{href:"https://developer.enphase.com/docs/quickstart.html",target:"_blank",rel:"noopener"},"Enphase-Webseite",-1);function E(d,e,t,B,C,o){const f=m("openwb-base-heading"),a=m("openwb-base-text-input"),g=m("openwb-base-select-input");return r(),b("div",h,[p(f,null,{default:u(()=>[i(" Einstellungen für Enphase Envoy / IQ Gateway "),c("span",y,"(Modul: "+w(d.$options.name)+")",1)]),_:1}),p(a,{title:"IP oder Hostname",subtype:"host",required:"","model-value":t.configuration.hostname,"onUpdate:modelValue":e[0]||(e[0]=n=>o.updateConfiguration(n,"configuration.hostname"))},{help:u(()=>[i(' Bitte geben Sie die IP-Adresse oder den Hostnamen des Enphase Envoy oder IQ Gateway an. Die Info finden Sie in Ihrem Router. Ab Werk ist der Hostname "envoy" oder "envoy.local". ')]),_:1},8,["model-value"]),p(g,{title:"Version",required:"",options:[{value:1,text:"Firmware < 7.0"},{value:2,text:"Firmware ab 7.0"}],"model-value":t.configuration.version,"onUpdate:modelValue":e[1]||(e[1]=n=>o.updateConfiguration(n,"configuration.version"))},{help:u(()=>[i(" Bitte wählen Sie die Version des Enphase Envoy oder IQ Gateway aus. Die Version 1 ist für Geräte mit einer Firmware-Version unter 7.0, die Version 2 für Geräte mit einer Firmware-Version ab 7.0. Ein angebundener Speicher wird nur bei Version 2 unterstützt. ")]),_:1},8,["model-value"]),t.configuration.version>1?(r(),s(a,{key:0,title:"Benutzer",subtype:"user","model-value":t.configuration.user,"onUpdate:modelValue":e[2]||(e[2]=n=>o.updateConfiguration(n,"configuration.user"))},null,8,["model-value"])):l("",!0),t.configuration.version>1?(r(),s(a,{key:1,title:"Kennwort",subtype:"password","model-value":t.configuration.password,"onUpdate:modelValue":e[3]||(e[3]=n=>o.updateConfiguration(n,"configuration.password"))},null,8,["model-value"])):l("",!0),t.configuration.version>1?(r(),s(a,{key:2,title:"Envoy Seriennummer","model-value":t.configuration.serial,"onUpdate:modelValue":e[4]||(e[4]=n=>o.updateConfiguration(n,"configuration.serial"))},null,8,["model-value"])):l("",!0),t.configuration.version>1?(r(),s(a,{key:3,title:"Token",subtype:"password","model-value":t.configuration.token,"onUpdate:modelValue":e[5]||(e[5]=n=>o.updateConfiguration(n,"configuration.token"))},{help:u(()=>[i(" Wenn Benutzer, Kennwort und Seriennummer des Envoys angegeben werden, wird das Token automatisch beim Speichern abgerufen. Ebenfalls wird ein abgelaufenes Token (derzeit nach einem Jahr) automatisch erneuert."),k,i(" Wenn Sie ein Token manuell erstellen möchten, können Sie dies auf der "),V,i(" erledigen. ")]),_:1},8,["model-value"])):l("",!0)])}const I=v(_,[["render",E],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/enphase/device.vue"]]);export{I as default}; diff --git a/web/settings/assets/device-a451e048.js b/web/settings/assets/device-25364ec6.js similarity index 90% rename from web/settings/assets/device-a451e048.js rename to web/settings/assets/device-25364ec6.js index 6b6c176366..e68687755e 100644 --- a/web/settings/assets/device-a451e048.js +++ b/web/settings/assets/device-25364ec6.js @@ -1 +1 @@ -import{_ as l,q as u,k as p,l as m,B as t,M as c,x as _,u as f,y as b}from"./vendor-f0f38b48.js";import"./vendor-sortablejs-cbf37f8f.js";const g={name:"DeviceE3dc",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},componentId:{required:!0}},methods:{updateConfiguration(n,e=void 0){this.$emit("update:configuration",{value:n,object:e})}}},v={class:"device-e3dc"},x={class:"small"};function w(n,e,a,C,q,i){const s=u("openwb-base-heading"),r=u("openwb-base-text-input"),d=u("openwb-base-number-input");return p(),m("div",v,[t(s,null,{default:c(()=>[_(" Einstellungen für E3DC "),f("span",x,"(Modul: "+b(n.$options.name)+")",1)]),_:1}),t(r,{title:"IP oder Hostname",subtype:"host",required:"","model-value":a.configuration.address,"onUpdate:modelValue":e[0]||(e[0]=o=>i.updateConfiguration(o,"configuration.address"))},null,8,["model-value"]),t(d,{title:"Port",required:"",min:1,max:65535,"model-value":a.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=o=>i.updateConfiguration(o,"configuration.port"))},null,8,["model-value"]),t(d,{title:"Modbus ID",required:"","model-value":a.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[2]||(e[2]=o=>i.updateConfiguration(o,"configuration.modbus_id"))},null,8,["model-value"])])}const y=l(g,[["render",w],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/e3dc/device.vue"]]);export{y as default}; +import{_ as l,q as u,k as p,l as m,B as t,M as c,x as _,u as f,y as b}from"./vendor-493c2bec.js";import"./vendor-sortablejs-0b339223.js";const g={name:"DeviceE3dc",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},componentId:{required:!0}},methods:{updateConfiguration(n,e=void 0){this.$emit("update:configuration",{value:n,object:e})}}},v={class:"device-e3dc"},x={class:"small"};function w(n,e,a,C,q,i){const s=u("openwb-base-heading"),r=u("openwb-base-text-input"),d=u("openwb-base-number-input");return p(),m("div",v,[t(s,null,{default:c(()=>[_(" Einstellungen für E3DC "),f("span",x,"(Modul: "+b(n.$options.name)+")",1)]),_:1}),t(r,{title:"IP oder Hostname",subtype:"host",required:"","model-value":a.configuration.address,"onUpdate:modelValue":e[0]||(e[0]=o=>i.updateConfiguration(o,"configuration.address"))},null,8,["model-value"]),t(d,{title:"Port",required:"",min:1,max:65535,"model-value":a.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=o=>i.updateConfiguration(o,"configuration.port"))},null,8,["model-value"]),t(d,{title:"Modbus ID",required:"","model-value":a.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[2]||(e[2]=o=>i.updateConfiguration(o,"configuration.modbus_id"))},null,8,["model-value"])])}const y=l(g,[["render",w],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/e3dc/device.vue"]]);export{y as default}; diff --git a/web/settings/assets/device-3a743e8e.js b/web/settings/assets/device-2adf3bb5.js similarity index 95% rename from web/settings/assets/device-3a743e8e.js rename to web/settings/assets/device-2adf3bb5.js index 16179e57d7..cf59c2b614 100644 --- a/web/settings/assets/device-3a743e8e.js +++ b/web/settings/assets/device-2adf3bb5.js @@ -1 +1 @@ -import{_,q as n,k as m,l as b,B as t,M as r,x as u,u as f,y as v}from"./vendor-f0f38b48.js";import"./vendor-sortablejs-cbf37f8f.js";const g={name:"DeviceSunnyBoy",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0}},methods:{updateConfiguration(o,e=void 0){this.$emit("update:configuration",{value:o,object:e})}}},y={class:"device-sunnyboy"},w={class:"small"};function x(o,e,i,h,B,s){const d=n("openwb-base-heading"),p=n("openwb-base-alert"),l=n("openwb-base-text-input"),c=n("openwb-base-number-input");return m(),b("div",y,[t(d,null,{default:r(()=>[u(" Einstellungen für SMA Sunny Boy/Tripower "),f("span",w,"(Modul: "+v(o.$options.name)+")",1)]),_:1}),t(p,{subtype:"info"},{default:r(()=>[u(' ModbusTCP muss entweder direkt am Wechselrichter, per Sunny Portal oder über das Tool "Sunny Explorer" aktiviert werden. Dies ist standardmäßig deaktiviert. ')]),_:1}),t(l,{title:"IP oder Hostname",subtype:"host",required:"","model-value":i.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=a=>s.updateConfiguration(a,"configuration.ip_address"))},null,8,["model-value"]),t(c,{title:"Port",required:"",min:1,max:65535,"model-value":i.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=a=>s.updateConfiguration(a,"configuration.port"))},null,8,["model-value"])])}const S=_(g,[["render",x],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/sma_sunny_boy/device.vue"]]);export{S as default}; +import{_,q as n,k as m,l as b,B as t,M as r,x as u,u as f,y as v}from"./vendor-493c2bec.js";import"./vendor-sortablejs-0b339223.js";const g={name:"DeviceSunnyBoy",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0}},methods:{updateConfiguration(o,e=void 0){this.$emit("update:configuration",{value:o,object:e})}}},y={class:"device-sunnyboy"},w={class:"small"};function x(o,e,i,h,B,s){const d=n("openwb-base-heading"),p=n("openwb-base-alert"),l=n("openwb-base-text-input"),c=n("openwb-base-number-input");return m(),b("div",y,[t(d,null,{default:r(()=>[u(" Einstellungen für SMA Sunny Boy/Tripower "),f("span",w,"(Modul: "+v(o.$options.name)+")",1)]),_:1}),t(p,{subtype:"info"},{default:r(()=>[u(' ModbusTCP muss entweder direkt am Wechselrichter, per Sunny Portal oder über das Tool "Sunny Explorer" aktiviert werden. Dies ist standardmäßig deaktiviert. ')]),_:1}),t(l,{title:"IP oder Hostname",subtype:"host",required:"","model-value":i.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=a=>s.updateConfiguration(a,"configuration.ip_address"))},null,8,["model-value"]),t(c,{title:"Port",required:"",min:1,max:65535,"model-value":i.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=a=>s.updateConfiguration(a,"configuration.port"))},null,8,["model-value"])])}const S=_(g,[["render",x],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/sma_sunny_boy/device.vue"]]);export{S as default}; diff --git a/web/settings/assets/device-f3eb75a3.js b/web/settings/assets/device-2b5701b7.js similarity index 91% rename from web/settings/assets/device-f3eb75a3.js rename to web/settings/assets/device-2b5701b7.js index 46b688bd35..62f8f9dc3d 100644 --- a/web/settings/assets/device-f3eb75a3.js +++ b/web/settings/assets/device-2b5701b7.js @@ -1 +1 @@ -import{_ as l,q as u,k as p,l as m,B as n,M as c,x as _,u as f,y as b}from"./vendor-f0f38b48.js";import"./vendor-sortablejs-cbf37f8f.js";const g={name:"DeviceJanitza",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},componentId:{required:!0}},methods:{updateConfiguration(o,e=void 0){this.$emit("update:configuration",{value:o,object:e})}}},v={class:"device-janitza"},x={class:"small"};function w(o,e,a,q,C,i){const s=u("openwb-base-heading"),r=u("openwb-base-text-input"),d=u("openwb-base-number-input");return p(),m("div",v,[n(s,null,{default:c(()=>[_(" Einstellungen für Janitza "),f("span",x,"(Modul: "+b(o.$options.name)+")",1)]),_:1}),n(r,{title:"IP oder Hostname",subtype:"host",required:"","model-value":a.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=t=>i.updateConfiguration(t,"configuration.ip_address"))},null,8,["model-value"]),n(d,{title:"Port",required:"",min:1,max:65535,"model-value":a.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=t=>i.updateConfiguration(t,"configuration.port"))},null,8,["model-value"]),n(d,{title:"Modbus ID",required:"","model-value":a.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[2]||(e[2]=t=>i.updateConfiguration(t,"configuration.modbus_id"))},null,8,["model-value"])])}const j=l(g,[["render",w],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/janitza/device.vue"]]);export{j as default}; +import{_ as l,q as u,k as p,l as m,B as n,M as c,x as _,u as f,y as b}from"./vendor-493c2bec.js";import"./vendor-sortablejs-0b339223.js";const g={name:"DeviceJanitza",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},componentId:{required:!0}},methods:{updateConfiguration(o,e=void 0){this.$emit("update:configuration",{value:o,object:e})}}},v={class:"device-janitza"},x={class:"small"};function w(o,e,a,q,C,i){const s=u("openwb-base-heading"),r=u("openwb-base-text-input"),d=u("openwb-base-number-input");return p(),m("div",v,[n(s,null,{default:c(()=>[_(" Einstellungen für Janitza "),f("span",x,"(Modul: "+b(o.$options.name)+")",1)]),_:1}),n(r,{title:"IP oder Hostname",subtype:"host",required:"","model-value":a.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=t=>i.updateConfiguration(t,"configuration.ip_address"))},null,8,["model-value"]),n(d,{title:"Port",required:"",min:1,max:65535,"model-value":a.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=t=>i.updateConfiguration(t,"configuration.port"))},null,8,["model-value"]),n(d,{title:"Modbus ID",required:"","model-value":a.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[2]||(e[2]=t=>i.updateConfiguration(t,"configuration.modbus_id"))},null,8,["model-value"])])}const j=l(g,[["render",w],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/janitza/device.vue"]]);export{j as default}; diff --git a/web/settings/assets/device-fc31f82d.js b/web/settings/assets/device-2c8ebfc7.js similarity index 89% rename from web/settings/assets/device-fc31f82d.js rename to web/settings/assets/device-2c8ebfc7.js index 3bb6aa34ba..35a7f0428e 100644 --- a/web/settings/assets/device-fc31f82d.js +++ b/web/settings/assets/device-2c8ebfc7.js @@ -1 +1 @@ -import{_ as p,q as n,k as l,l as c,B as a,M as m,x as _,u as f,y as b}from"./vendor-f0f38b48.js";import"./vendor-sortablejs-cbf37f8f.js";const g={name:"DeviceStuder",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},componentId:{required:!0}},methods:{updateConfiguration(t,e=void 0){this.$emit("update:configuration",{value:t,object:e})}}},v={class:"device-studer"},w={class:"small"};function x(t,e,i,h,q,s){const u=n("openwb-base-heading"),r=n("openwb-base-text-input"),d=n("openwb-base-number-input");return l(),c("div",v,[a(u,null,{default:m(()=>[_(" Einstellungen für Studer "),f("span",w,"(Modul: "+b(t.$options.name)+")",1)]),_:1}),a(r,{title:"IP oder Hostname",subtype:"host",required:"","model-value":i.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=o=>s.updateConfiguration(o,"configuration.ip_address"))},null,8,["model-value"]),a(d,{title:"Port",required:"",min:1,max:65535,"model-value":i.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=o=>s.updateConfiguration(o,"configuration.port"))},null,8,["model-value"])])}const V=p(g,[["render",x],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/studer/device.vue"]]);export{V as default}; +import{_ as p,q as n,k as l,l as c,B as a,M as m,x as _,u as f,y as b}from"./vendor-493c2bec.js";import"./vendor-sortablejs-0b339223.js";const g={name:"DeviceStuder",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},componentId:{required:!0}},methods:{updateConfiguration(t,e=void 0){this.$emit("update:configuration",{value:t,object:e})}}},v={class:"device-studer"},w={class:"small"};function x(t,e,i,h,q,s){const u=n("openwb-base-heading"),r=n("openwb-base-text-input"),d=n("openwb-base-number-input");return l(),c("div",v,[a(u,null,{default:m(()=>[_(" Einstellungen für Studer "),f("span",w,"(Modul: "+b(t.$options.name)+")",1)]),_:1}),a(r,{title:"IP oder Hostname",subtype:"host",required:"","model-value":i.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=o=>s.updateConfiguration(o,"configuration.ip_address"))},null,8,["model-value"]),a(d,{title:"Port",required:"",min:1,max:65535,"model-value":i.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=o=>s.updateConfiguration(o,"configuration.port"))},null,8,["model-value"])])}const V=p(g,[["render",x],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/studer/device.vue"]]);export{V as default}; diff --git a/web/settings/assets/device-68c42e56.js b/web/settings/assets/device-2e823b39.js similarity index 92% rename from web/settings/assets/device-68c42e56.js rename to web/settings/assets/device-2e823b39.js index ef4849b132..a668c926b4 100644 --- a/web/settings/assets/device-68c42e56.js +++ b/web/settings/assets/device-2e823b39.js @@ -1 +1 @@ -import{_ as m,q as s,k as c,l as g,B as n,M as d,x as r,u as _,y as b}from"./vendor-f0f38b48.js";import"./vendor-sortablejs-cbf37f8f.js";const f={name:"DeviceSolax",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},componentId:{required:!0}},methods:{updateConfiguration(o,e=void 0){this.$emit("update:configuration",{value:o,object:e})}}},v={class:"device-solax"},x={class:"small"};function h(o,e,i,w,B,a){const l=s("openwb-base-heading"),p=s("openwb-base-text-input"),u=s("openwb-base-number-input");return c(),g("div",v,[n(l,null,{default:d(()=>[r(" Einstellungen für Solax "),_("span",x,"(Modul: "+b(o.$options.name)+")",1)]),_:1}),n(p,{title:"IP oder Hostname",subtype:"host",required:"","model-value":i.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=t=>a.updateConfiguration(t,"configuration.ip_address"))},null,8,["model-value"]),n(u,{title:"Port",required:"",min:1,max:65535,"model-value":i.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=t=>a.updateConfiguration(t,"configuration.port"))},null,8,["model-value"]),n(u,{title:"Modbus-ID",required:"",min:0,max:255,"model-value":i.configuration.modbus_id,"onUpdate:modelValue":e[2]||(e[2]=t=>a.updateConfiguration(t,"configuration.modbus_id"))},{help:d(()=>[r(" Laut der Schnittstellenbeschreibung ist die ID bei Solax ab Werk auf 1 gesetzt. Entgegen der Beschreibung ist meist für Gen4 eine ID größer als 2 eingestellt. Bei Gen3 sogar (gegen jeglicher Modbus Standards) eine 0. ")]),_:1},8,["model-value"])])}const S=m(f,[["render",h],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/solax/device.vue"]]);export{S as default}; +import{_ as m,q as s,k as c,l as g,B as n,M as d,x as r,u as _,y as b}from"./vendor-493c2bec.js";import"./vendor-sortablejs-0b339223.js";const f={name:"DeviceSolax",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},componentId:{required:!0}},methods:{updateConfiguration(o,e=void 0){this.$emit("update:configuration",{value:o,object:e})}}},v={class:"device-solax"},x={class:"small"};function h(o,e,i,w,B,a){const l=s("openwb-base-heading"),p=s("openwb-base-text-input"),u=s("openwb-base-number-input");return c(),g("div",v,[n(l,null,{default:d(()=>[r(" Einstellungen für Solax "),_("span",x,"(Modul: "+b(o.$options.name)+")",1)]),_:1}),n(p,{title:"IP oder Hostname",subtype:"host",required:"","model-value":i.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=t=>a.updateConfiguration(t,"configuration.ip_address"))},null,8,["model-value"]),n(u,{title:"Port",required:"",min:1,max:65535,"model-value":i.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=t=>a.updateConfiguration(t,"configuration.port"))},null,8,["model-value"]),n(u,{title:"Modbus-ID",required:"",min:0,max:255,"model-value":i.configuration.modbus_id,"onUpdate:modelValue":e[2]||(e[2]=t=>a.updateConfiguration(t,"configuration.modbus_id"))},{help:d(()=>[r(" Laut der Schnittstellenbeschreibung ist die ID bei Solax ab Werk auf 1 gesetzt. Entgegen der Beschreibung ist meist für Gen4 eine ID größer als 2 eingestellt. Bei Gen3 sogar (gegen jeglicher Modbus Standards) eine 0. ")]),_:1},8,["model-value"])])}const S=m(f,[["render",h],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/solax/device.vue"]]);export{S as default}; diff --git a/web/settings/assets/device-efd97f38.js b/web/settings/assets/device-32864a60.js similarity index 91% rename from web/settings/assets/device-efd97f38.js rename to web/settings/assets/device-32864a60.js index b8239037a9..07f5d4351e 100644 --- a/web/settings/assets/device-efd97f38.js +++ b/web/settings/assets/device-32864a60.js @@ -1 +1 @@ -import{_ as l,q as u,k as p,l as m,B as t,M as c,x as _,u as f,y as b}from"./vendor-f0f38b48.js";import"./vendor-sortablejs-cbf37f8f.js";const g={name:"DeviceCarloGavazzi",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},componentId:{required:!0}},methods:{updateConfiguration(n,e=void 0){this.$emit("update:configuration",{value:n,object:e})}}},v={class:"device-carlogavazzi"},x={class:"small"};function w(n,e,a,z,C,i){const r=u("openwb-base-heading"),s=u("openwb-base-text-input"),d=u("openwb-base-number-input");return p(),m("div",v,[t(r,null,{default:c(()=>[_(" Einstellungen für Carlo Gavazzi "),f("span",x,"(Modul: "+b(n.$options.name)+")",1)]),_:1}),t(s,{title:"IP oder Hostname",subtype:"host",required:"","model-value":a.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=o=>i.updateConfiguration(o,"configuration.ip_address"))},null,8,["model-value"]),t(d,{title:"Port",required:"",min:1,max:65535,"model-value":a.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=o=>i.updateConfiguration(o,"configuration.port"))},null,8,["model-value"]),t(d,{title:"Modbus ID",required:"","model-value":a.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[2]||(e[2]=o=>i.updateConfiguration(o,"configuration.modbus_id"))},null,8,["model-value"])])}const B=l(g,[["render",w],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/carlo_gavazzi/device.vue"]]);export{B as default}; +import{_ as l,q as u,k as p,l as m,B as t,M as c,x as _,u as f,y as b}from"./vendor-493c2bec.js";import"./vendor-sortablejs-0b339223.js";const g={name:"DeviceCarloGavazzi",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},componentId:{required:!0}},methods:{updateConfiguration(n,e=void 0){this.$emit("update:configuration",{value:n,object:e})}}},v={class:"device-carlogavazzi"},x={class:"small"};function w(n,e,a,z,C,i){const r=u("openwb-base-heading"),s=u("openwb-base-text-input"),d=u("openwb-base-number-input");return p(),m("div",v,[t(r,null,{default:c(()=>[_(" Einstellungen für Carlo Gavazzi "),f("span",x,"(Modul: "+b(n.$options.name)+")",1)]),_:1}),t(s,{title:"IP oder Hostname",subtype:"host",required:"","model-value":a.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=o=>i.updateConfiguration(o,"configuration.ip_address"))},null,8,["model-value"]),t(d,{title:"Port",required:"",min:1,max:65535,"model-value":a.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=o=>i.updateConfiguration(o,"configuration.port"))},null,8,["model-value"]),t(d,{title:"Modbus ID",required:"","model-value":a.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[2]||(e[2]=o=>i.updateConfiguration(o,"configuration.modbus_id"))},null,8,["model-value"])])}const B=l(g,[["render",w],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/carlo_gavazzi/device.vue"]]);export{B as default}; diff --git a/web/settings/assets/device-bdb190b0.js b/web/settings/assets/device-33dbd8bf.js similarity index 91% rename from web/settings/assets/device-bdb190b0.js rename to web/settings/assets/device-33dbd8bf.js index fdf45b2faa..7ad48d0dd7 100644 --- a/web/settings/assets/device-bdb190b0.js +++ b/web/settings/assets/device-33dbd8bf.js @@ -1 +1 @@ -import{_ as c,q as o,k as _,l as m,B as a,M as d,x as r,u as f,y as g}from"./vendor-f0f38b48.js";import"./vendor-sortablejs-cbf37f8f.js";const b={name:"DeviceSolarwatt",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0}},methods:{updateConfiguration(t,e=void 0){this.$emit("update:configuration",{value:t,object:e})}}},v={class:"device-solarwatt"},w={class:"small"};function h(t,e,s,x,y,i){const l=o("openwb-base-heading"),u=o("openwb-base-text-input"),p=o("openwb-base-select-input");return _(),m("div",v,[a(l,null,{default:d(()=>[r(" Einstellungen für Solarwatt/My Reserve "),f("span",w,"(Modul: "+g(t.$options.name)+")",1)]),_:1}),a(u,{title:"IP oder Hostname",subtype:"host",required:"","model-value":s.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=n=>i.updateConfiguration(n,"configuration.ip_address"))},null,8,["model-value"]),a(p,{title:"Abrufmethode",notSelected:"Bitte auswählen",options:[{value:0,text:"Gateway"},{value:1,text:"Energy Manager"}],"model-value":s.configuration.energy_manager,"onUpdate:modelValue":e[1]||(e[1]=n=>i.updateConfiguration(n,"configuration.energy_manager"))},{help:d(()=>[r(" Wenn beide Abrufmethoden verwendet werden sollen, muss für jede Methode ein Gerät erstellt werden. ")]),_:1},8,["model-value"])])}const M=c(b,[["render",h],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/solar_watt/device.vue"]]);export{M as default}; +import{_ as c,q as o,k as _,l as m,B as a,M as d,x as r,u as f,y as g}from"./vendor-493c2bec.js";import"./vendor-sortablejs-0b339223.js";const b={name:"DeviceSolarwatt",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0}},methods:{updateConfiguration(t,e=void 0){this.$emit("update:configuration",{value:t,object:e})}}},v={class:"device-solarwatt"},w={class:"small"};function h(t,e,s,x,y,i){const l=o("openwb-base-heading"),u=o("openwb-base-text-input"),p=o("openwb-base-select-input");return _(),m("div",v,[a(l,null,{default:d(()=>[r(" Einstellungen für Solarwatt/My Reserve "),f("span",w,"(Modul: "+g(t.$options.name)+")",1)]),_:1}),a(u,{title:"IP oder Hostname",subtype:"host",required:"","model-value":s.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=n=>i.updateConfiguration(n,"configuration.ip_address"))},null,8,["model-value"]),a(p,{title:"Abrufmethode",notSelected:"Bitte auswählen",options:[{value:0,text:"Gateway"},{value:1,text:"Energy Manager"}],"model-value":s.configuration.energy_manager,"onUpdate:modelValue":e[1]||(e[1]=n=>i.updateConfiguration(n,"configuration.energy_manager"))},{help:d(()=>[r(" Wenn beide Abrufmethoden verwendet werden sollen, muss für jede Methode ein Gerät erstellt werden. ")]),_:1},8,["model-value"])])}const M=c(b,[["render",h],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/solar_watt/device.vue"]]);export{M as default}; diff --git a/web/settings/assets/device-af91cf00.js b/web/settings/assets/device-3f20dcf5.js similarity index 90% rename from web/settings/assets/device-af91cf00.js rename to web/settings/assets/device-3f20dcf5.js index 00406c0f31..1918889ce3 100644 --- a/web/settings/assets/device-af91cf00.js +++ b/web/settings/assets/device-3f20dcf5.js @@ -1 +1 @@ -import{_ as p,q as o,k as r,l as c,B as a,M as _,x as m,u as f,y as g}from"./vendor-f0f38b48.js";import"./vendor-sortablejs-cbf37f8f.js";const v={name:"DeviceShelly",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0}},methods:{updateConfiguration(t,e=void 0){this.$emit("update:configuration",{value:t,object:e})}}},b={class:"device-shelly"},h={class:"small"};function y(t,e,i,w,x,s){const l=o("openwb-base-heading"),u=o("openwb-base-text-input"),d=o("openwb-base-select-input");return r(),c("div",b,[a(l,null,{default:_(()=>[m(" Einstellungen für Shelly "),f("span",h,"(Modul: "+g(t.$options.name)+")",1)]),_:1}),a(u,{title:"IP oder Hostname",subtype:"host",required:"","model-value":i.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=n=>s.updateConfiguration(n,"configuration.ip_address"))},null,8,["model-value"]),a(d,{title:"Generation",notSelected:"Bitte auswählen",options:[{value:1,text:"Shelly 1pm"},{value:2,text:"Shelly 1pm plus/ Shelly Pro3EM"}],"model-value":i.configuration.generation,"onUpdate:modelValue":e[1]||(e[1]=n=>s.updateConfiguration(n,"configuration.generation"))},null,8,["model-value"])])}const C=p(v,[["render",y],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/shelly/device.vue"]]);export{C as default}; +import{_ as p,q as o,k as r,l as c,B as a,M as _,x as m,u as f,y as g}from"./vendor-493c2bec.js";import"./vendor-sortablejs-0b339223.js";const v={name:"DeviceShelly",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0}},methods:{updateConfiguration(t,e=void 0){this.$emit("update:configuration",{value:t,object:e})}}},b={class:"device-shelly"},h={class:"small"};function y(t,e,i,w,x,s){const l=o("openwb-base-heading"),u=o("openwb-base-text-input"),d=o("openwb-base-select-input");return r(),c("div",b,[a(l,null,{default:_(()=>[m(" Einstellungen für Shelly "),f("span",h,"(Modul: "+g(t.$options.name)+")",1)]),_:1}),a(u,{title:"IP oder Hostname",subtype:"host",required:"","model-value":i.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=n=>s.updateConfiguration(n,"configuration.ip_address"))},null,8,["model-value"]),a(d,{title:"Generation",notSelected:"Bitte auswählen",options:[{value:1,text:"Shelly 1pm"},{value:2,text:"Shelly 1pm plus/ Shelly Pro3EM"}],"model-value":i.configuration.generation,"onUpdate:modelValue":e[1]||(e[1]=n=>s.updateConfiguration(n,"configuration.generation"))},null,8,["model-value"])])}const C=p(v,[["render",y],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/shelly/device.vue"]]);export{C as default}; diff --git a/web/settings/assets/device-bb77aac5.js b/web/settings/assets/device-4b160c8c.js similarity index 93% rename from web/settings/assets/device-bb77aac5.js rename to web/settings/assets/device-4b160c8c.js index 0374d83bc0..f9c9d176b0 100644 --- a/web/settings/assets/device-bb77aac5.js +++ b/web/settings/assets/device-4b160c8c.js @@ -1 +1 @@ -import{_ as r,q as t,k as c,l,B as o,M as p,x as _,u as f,y as m}from"./vendor-f0f38b48.js";import"./vendor-sortablejs-cbf37f8f.js";const g={name:"DeviceBenning",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0}},methods:{updateConfiguration(n,e=void 0){this.$emit("update:configuration",{value:n,object:e})}}},b={class:"device-benning"},v={class:"small"};function h(n,e,i,x,B,a){const s=t("openwb-base-heading"),d=t("openwb-base-text-input");return c(),l("div",b,[o(s,null,{default:p(()=>[_(" Einstellungen für Benning "),f("span",v,"(Modul: "+m(n.$options.name)+")",1)]),_:1}),o(d,{title:"IP oder Hostname",subtype:"host",required:"","model-value":i.configuration.url,"onUpdate:modelValue":e[0]||(e[0]=u=>a.updateConfiguration(u,"configuration.url"))},null,8,["model-value"])])}const C=r(g,[["render",h],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/benning/device.vue"]]);export{C as default}; +import{_ as r,q as t,k as c,l,B as o,M as p,x as _,u as f,y as m}from"./vendor-493c2bec.js";import"./vendor-sortablejs-0b339223.js";const g={name:"DeviceBenning",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0}},methods:{updateConfiguration(n,e=void 0){this.$emit("update:configuration",{value:n,object:e})}}},b={class:"device-benning"},v={class:"small"};function h(n,e,i,x,B,a){const s=t("openwb-base-heading"),d=t("openwb-base-text-input");return c(),l("div",b,[o(s,null,{default:p(()=>[_(" Einstellungen für Benning "),f("span",v,"(Modul: "+m(n.$options.name)+")",1)]),_:1}),o(d,{title:"IP oder Hostname",subtype:"host",required:"","model-value":i.configuration.url,"onUpdate:modelValue":e[0]||(e[0]=u=>a.updateConfiguration(u,"configuration.url"))},null,8,["model-value"])])}const C=r(g,[["render",h],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/benning/device.vue"]]);export{C as default}; diff --git a/web/settings/assets/device-103ad9f6.js b/web/settings/assets/device-4ce5ac09.js similarity index 90% rename from web/settings/assets/device-103ad9f6.js rename to web/settings/assets/device-4ce5ac09.js index e1ea63863d..98a8fe5608 100644 --- a/web/settings/assets/device-103ad9f6.js +++ b/web/settings/assets/device-4ce5ac09.js @@ -1 +1 @@ -import{_ as l,q as d,k as r,l as p,B as o,M as c,x as m,u as f,y as _}from"./vendor-f0f38b48.js";import"./vendor-sortablejs-cbf37f8f.js";const g={name:"DeviceTesla",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0}},methods:{updateConfiguration(n,e=void 0){this.$emit("update:configuration",{value:n,object:e})}}},v={class:"device-tesla"},b={class:"small"};function w(n,e,a,x,y,i){const u=d("openwb-base-heading"),s=d("openwb-base-text-input");return r(),p("div",v,[o(u,null,{default:c(()=>[m(" Einstellungen für Tesla "),f("span",b,"(Modul: "+_(n.$options.name)+")",1)]),_:1}),o(s,{title:"IP oder Hostname",subtype:"host",required:"","model-value":a.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=t=>i.updateConfiguration(t,"configuration.ip_address"))},null,8,["model-value"]),o(s,{title:"E-Mail",subtype:"email",required:"","model-value":a.configuration.email,"onUpdate:modelValue":e[1]||(e[1]=t=>i.updateConfiguration(t,"configuration.email"))},null,8,["model-value"]),o(s,{title:"Passwort",subtype:"password",required:"","model-value":a.configuration.password,"onUpdate:modelValue":e[2]||(e[2]=t=>i.updateConfiguration(t,"configuration.password"))},null,8,["model-value"])])}const q=l(g,[["render",w],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/tesla/device.vue"]]);export{q as default}; +import{_ as l,q as d,k as r,l as p,B as o,M as c,x as m,u as f,y as _}from"./vendor-493c2bec.js";import"./vendor-sortablejs-0b339223.js";const g={name:"DeviceTesla",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0}},methods:{updateConfiguration(n,e=void 0){this.$emit("update:configuration",{value:n,object:e})}}},v={class:"device-tesla"},b={class:"small"};function w(n,e,a,x,y,i){const u=d("openwb-base-heading"),s=d("openwb-base-text-input");return r(),p("div",v,[o(u,null,{default:c(()=>[m(" Einstellungen für Tesla "),f("span",b,"(Modul: "+_(n.$options.name)+")",1)]),_:1}),o(s,{title:"IP oder Hostname",subtype:"host",required:"","model-value":a.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=t=>i.updateConfiguration(t,"configuration.ip_address"))},null,8,["model-value"]),o(s,{title:"E-Mail",subtype:"email",required:"","model-value":a.configuration.email,"onUpdate:modelValue":e[1]||(e[1]=t=>i.updateConfiguration(t,"configuration.email"))},null,8,["model-value"]),o(s,{title:"Passwort",subtype:"password",required:"","model-value":a.configuration.password,"onUpdate:modelValue":e[2]||(e[2]=t=>i.updateConfiguration(t,"configuration.password"))},null,8,["model-value"])])}const q=l(g,[["render",w],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/tesla/device.vue"]]);export{q as default}; diff --git a/web/settings/assets/device-4016ebdc.js b/web/settings/assets/device-4df32398.js similarity index 89% rename from web/settings/assets/device-4016ebdc.js rename to web/settings/assets/device-4df32398.js index ca5d2cb1ef..055ffdd8ae 100644 --- a/web/settings/assets/device-4016ebdc.js +++ b/web/settings/assets/device-4df32398.js @@ -1 +1 @@ -import{_ as d,q as u,k as l,l as p,B as n,M as c,x as m,u as f,y as _}from"./vendor-f0f38b48.js";import"./vendor-sortablejs-cbf37f8f.js";const g={name:"DeviceSmartMe",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0}},methods:{updateConfiguration(t,e=void 0){this.$emit("update:configuration",{value:t,object:e})}}},v={class:"device-smart-me"},b={class:"small"};function w(t,e,a,x,B,s){const r=u("openwb-base-heading"),i=u("openwb-base-text-input");return l(),p("div",v,[n(r,null,{default:c(()=>[m(" Einstellungen für smart-me "),f("span",b,"(Modul: "+_(t.$options.name)+")",1)]),_:1}),n(i,{title:"Benutzername",subtype:"user",required:"","model-value":a.configuration.user,"onUpdate:modelValue":e[0]||(e[0]=o=>s.updateConfiguration(o,"configuration.user"))},null,8,["model-value"]),n(i,{title:"Passwort",subtype:"password",required:"","model-value":a.configuration.password,"onUpdate:modelValue":e[1]||(e[1]=o=>s.updateConfiguration(o,"configuration.password"))},null,8,["model-value"])])}const V=d(g,[["render",w],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/smart_me/device.vue"]]);export{V as default}; +import{_ as d,q as u,k as l,l as p,B as n,M as c,x as m,u as f,y as _}from"./vendor-493c2bec.js";import"./vendor-sortablejs-0b339223.js";const g={name:"DeviceSmartMe",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0}},methods:{updateConfiguration(t,e=void 0){this.$emit("update:configuration",{value:t,object:e})}}},v={class:"device-smart-me"},b={class:"small"};function w(t,e,a,x,B,s){const r=u("openwb-base-heading"),i=u("openwb-base-text-input");return l(),p("div",v,[n(r,null,{default:c(()=>[m(" Einstellungen für smart-me "),f("span",b,"(Modul: "+_(t.$options.name)+")",1)]),_:1}),n(i,{title:"Benutzername",subtype:"user",required:"","model-value":a.configuration.user,"onUpdate:modelValue":e[0]||(e[0]=o=>s.updateConfiguration(o,"configuration.user"))},null,8,["model-value"]),n(i,{title:"Passwort",subtype:"password",required:"","model-value":a.configuration.password,"onUpdate:modelValue":e[1]||(e[1]=o=>s.updateConfiguration(o,"configuration.password"))},null,8,["model-value"])])}const V=d(g,[["render",w],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/smart_me/device.vue"]]);export{V as default}; diff --git a/web/settings/assets/device-a98bdda8.js b/web/settings/assets/device-516d9e1d.js similarity index 87% rename from web/settings/assets/device-a98bdda8.js rename to web/settings/assets/device-516d9e1d.js index 695a22c59d..7b25c4e597 100644 --- a/web/settings/assets/device-a98bdda8.js +++ b/web/settings/assets/device-516d9e1d.js @@ -1 +1 @@ -import{_ as u,q as t,k as l,l as c,B as n,M as p,x as _,u as f,y as m}from"./vendor-f0f38b48.js";import"./vendor-sortablejs-cbf37f8f.js";const g={name:"DeviceSolarLog",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0}},methods:{updateConfiguration(o,e=void 0){this.$emit("update:configuration",{value:o,object:e})}}},v={class:"device-solar_log"},b={class:"small"};function h(o,e,a,x,w,s){const i=t("openwb-base-heading"),d=t("openwb-base-text-input");return l(),c("div",v,[n(i,null,{default:p(()=>[_(" Einstellungen für Solar-Log "),f("span",b,"(Modul: "+m(o.$options.name)+")",1)]),_:1}),n(d,{title:"IP oder Hostname",subtype:"host",required:"","model-value":a.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=r=>s.updateConfiguration(r,"configuration.ip_address"))},null,8,["model-value"])])}const C=u(g,[["render",h],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/solar_log/device.vue"]]);export{C as default}; +import{_ as u,q as t,k as l,l as c,B as n,M as p,x as _,u as f,y as m}from"./vendor-493c2bec.js";import"./vendor-sortablejs-0b339223.js";const g={name:"DeviceSolarLog",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0}},methods:{updateConfiguration(o,e=void 0){this.$emit("update:configuration",{value:o,object:e})}}},v={class:"device-solar_log"},b={class:"small"};function h(o,e,a,x,w,s){const i=t("openwb-base-heading"),d=t("openwb-base-text-input");return l(),c("div",v,[n(i,null,{default:p(()=>[_(" Einstellungen für Solar-Log "),f("span",b,"(Modul: "+m(o.$options.name)+")",1)]),_:1}),n(d,{title:"IP oder Hostname",subtype:"host",required:"","model-value":a.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=r=>s.updateConfiguration(r,"configuration.ip_address"))},null,8,["model-value"])])}const C=u(g,[["render",h],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/solar_log/device.vue"]]);export{C as default}; diff --git a/web/settings/assets/device-68558272.js b/web/settings/assets/device-557d9745.js similarity index 89% rename from web/settings/assets/device-68558272.js rename to web/settings/assets/device-557d9745.js index 40473e27c5..b15ea3f4a4 100644 --- a/web/settings/assets/device-68558272.js +++ b/web/settings/assets/device-557d9745.js @@ -1 +1 @@ -import{_ as l,q as o,k as p,l as c,B as a,M as m,x as _,u as f,y as b}from"./vendor-f0f38b48.js";import"./vendor-sortablejs-cbf37f8f.js";const g={name:"DeviceSunnyIsland",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},componentId:{required:!0}},methods:{updateConfiguration(n,e=void 0){this.$emit("update:configuration",{value:n,object:e})}}},v={class:"device-sunnyisland"},w={class:"small"};function x(n,e,s,y,h,i){const u=o("openwb-base-heading"),d=o("openwb-base-text-input"),r=o("openwb-base-number-input");return p(),c("div",v,[a(u,null,{default:m(()=>[_(" Einstellungen für Sunny Island "),f("span",w,"(Modul: "+b(n.$options.name)+")",1)]),_:1}),a(d,{title:"IP oder Hostname",subtype:"host",required:"","model-value":s.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=t=>i.updateConfiguration(t,"configuration.ip_address"))},null,8,["model-value"]),a(r,{title:"Port",required:"",min:1,max:65535,"model-value":s.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=t=>i.updateConfiguration(t,"configuration.port"))},null,8,["model-value"])])}const C=l(g,[["render",x],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/sma_sunny_island/device.vue"]]);export{C as default}; +import{_ as l,q as o,k as p,l as c,B as a,M as m,x as _,u as f,y as b}from"./vendor-493c2bec.js";import"./vendor-sortablejs-0b339223.js";const g={name:"DeviceSunnyIsland",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},componentId:{required:!0}},methods:{updateConfiguration(n,e=void 0){this.$emit("update:configuration",{value:n,object:e})}}},v={class:"device-sunnyisland"},w={class:"small"};function x(n,e,s,y,h,i){const u=o("openwb-base-heading"),d=o("openwb-base-text-input"),r=o("openwb-base-number-input");return p(),c("div",v,[a(u,null,{default:m(()=>[_(" Einstellungen für Sunny Island "),f("span",w,"(Modul: "+b(n.$options.name)+")",1)]),_:1}),a(d,{title:"IP oder Hostname",subtype:"host",required:"","model-value":s.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=t=>i.updateConfiguration(t,"configuration.ip_address"))},null,8,["model-value"]),a(r,{title:"Port",required:"",min:1,max:65535,"model-value":s.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=t=>i.updateConfiguration(t,"configuration.port"))},null,8,["model-value"])])}const C=l(g,[["render",x],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/sma_sunny_island/device.vue"]]);export{C as default}; diff --git a/web/settings/assets/device-eb8d7119.js b/web/settings/assets/device-581affae.js similarity index 90% rename from web/settings/assets/device-eb8d7119.js rename to web/settings/assets/device-581affae.js index 3de0fe195e..d916f50f78 100644 --- a/web/settings/assets/device-eb8d7119.js +++ b/web/settings/assets/device-581affae.js @@ -1 +1 @@ -import{_ as p,q as d,k as c,l as m,B as n,M as r,x as u,u as f,y as _}from"./vendor-f0f38b48.js";import"./vendor-sortablejs-cbf37f8f.js";const g={name:"DeviceFems",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0}},methods:{updateConfiguration(o,e=void 0){this.$emit("update:configuration",{value:o,object:e})}}},v={class:"device-fems"},b={class:"small"};function w(o,e,s,C,x,a){const l=d("openwb-base-heading"),i=d("openwb-base-text-input");return c(),m("div",v,[n(l,null,{default:r(()=>[u(" Einstellungen für openEMS, Fenecon FEMS, CENTURIO 10, Kaco Hy-Control "),f("span",b,"(Modul: "+_(o.$options.name)+")",1)]),_:1}),n(i,{title:"IP oder Hostname",subtype:"host",required:"","model-value":s.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=t=>a.updateConfiguration(t,"configuration.ip_address"))},null,8,["model-value"]),n(i,{title:"Passwort",subtype:"password",required:"","model-value":s.configuration.password,"onUpdate:modelValue":e[1]||(e[1]=t=>a.updateConfiguration(t,"configuration.password"))},{help:r(()=>[u(" Bei Nutzung von Fenecon FEMS ist das Passwort im Normalfall user, bei Kaco mit Hy-Control ist das Passwort meist admin. ")]),_:1},8,["model-value"])])}const B=p(g,[["render",w],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/fems/device.vue"]]);export{B as default}; +import{_ as p,q as d,k as c,l as m,B as n,M as r,x as u,u as f,y as _}from"./vendor-493c2bec.js";import"./vendor-sortablejs-0b339223.js";const g={name:"DeviceFems",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0}},methods:{updateConfiguration(o,e=void 0){this.$emit("update:configuration",{value:o,object:e})}}},v={class:"device-fems"},b={class:"small"};function w(o,e,s,C,x,a){const l=d("openwb-base-heading"),i=d("openwb-base-text-input");return c(),m("div",v,[n(l,null,{default:r(()=>[u(" Einstellungen für openEMS, Fenecon FEMS, CENTURIO 10, Kaco Hy-Control "),f("span",b,"(Modul: "+_(o.$options.name)+")",1)]),_:1}),n(i,{title:"IP oder Hostname",subtype:"host",required:"","model-value":s.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=t=>a.updateConfiguration(t,"configuration.ip_address"))},null,8,["model-value"]),n(i,{title:"Passwort",subtype:"password",required:"","model-value":s.configuration.password,"onUpdate:modelValue":e[1]||(e[1]=t=>a.updateConfiguration(t,"configuration.password"))},{help:r(()=>[u(" Bei Nutzung von Fenecon FEMS ist das Passwort im Normalfall user, bei Kaco mit Hy-Control ist das Passwort meist admin. ")]),_:1},8,["model-value"])])}const B=p(g,[["render",w],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/fems/device.vue"]]);export{B as default}; diff --git a/web/settings/assets/device-e94286a1.js b/web/settings/assets/device-586935d9.js similarity index 91% rename from web/settings/assets/device-e94286a1.js rename to web/settings/assets/device-586935d9.js index 04e3530d75..d02bd6bec3 100644 --- a/web/settings/assets/device-e94286a1.js +++ b/web/settings/assets/device-586935d9.js @@ -1 +1 @@ -import{_ as l,q as u,k as p,l as m,B as n,M as c,x as _,u as f,y as b}from"./vendor-f0f38b48.js";import"./vendor-sortablejs-cbf37f8f.js";const g={name:"DeviceZCS",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0}},methods:{updateConfiguration(t,e=void 0){this.$emit("update:configuration",{value:t,object:e})}}},v={class:"device-azzurro_zcs"},x={class:"small"};function w(t,e,a,z,C,i){const s=u("openwb-base-heading"),r=u("openwb-base-text-input"),d=u("openwb-base-number-input");return p(),m("div",v,[n(s,null,{default:c(()=>[_(" Einstellungen für Azzurro ZCS "),f("span",x,"(Modul: "+b(t.$options.name)+")",1)]),_:1}),n(r,{title:"IP oder Hostname",subtype:"host",required:"","model-value":a.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=o=>i.updateConfiguration(o,"configuration.ip_address"))},null,8,["model-value"]),n(d,{title:"Port",required:"",min:1,max:65535,"model-value":a.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=o=>i.updateConfiguration(o,"configuration.port"))},null,8,["model-value"]),n(d,{title:"Modbus ID",required:"","model-value":a.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[2]||(e[2]=o=>i.updateConfiguration(o,"configuration.modbus_id"))},null,8,["model-value"])])}const B=l(g,[["render",w],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/azzurro_zcs/device.vue"]]);export{B as default}; +import{_ as l,q as u,k as p,l as m,B as n,M as c,x as _,u as f,y as b}from"./vendor-493c2bec.js";import"./vendor-sortablejs-0b339223.js";const g={name:"DeviceZCS",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0}},methods:{updateConfiguration(t,e=void 0){this.$emit("update:configuration",{value:t,object:e})}}},v={class:"device-azzurro_zcs"},x={class:"small"};function w(t,e,a,z,C,i){const s=u("openwb-base-heading"),r=u("openwb-base-text-input"),d=u("openwb-base-number-input");return p(),m("div",v,[n(s,null,{default:c(()=>[_(" Einstellungen für Azzurro ZCS "),f("span",x,"(Modul: "+b(t.$options.name)+")",1)]),_:1}),n(r,{title:"IP oder Hostname",subtype:"host",required:"","model-value":a.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=o=>i.updateConfiguration(o,"configuration.ip_address"))},null,8,["model-value"]),n(d,{title:"Port",required:"",min:1,max:65535,"model-value":a.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=o=>i.updateConfiguration(o,"configuration.port"))},null,8,["model-value"]),n(d,{title:"Modbus ID",required:"","model-value":a.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[2]||(e[2]=o=>i.updateConfiguration(o,"configuration.modbus_id"))},null,8,["model-value"])])}const B=l(g,[["render",w],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/azzurro_zcs/device.vue"]]);export{B as default}; diff --git a/web/settings/assets/device-536464f7.js b/web/settings/assets/device-6ca92a98.js similarity index 94% rename from web/settings/assets/device-536464f7.js rename to web/settings/assets/device-6ca92a98.js index 42e84ea40a..5214f28308 100644 --- a/web/settings/assets/device-536464f7.js +++ b/web/settings/assets/device-6ca92a98.js @@ -1 +1 @@ -import{_ as b,q as o,k as g,l as _,B as t,M as r,x as l,u as f,y as v}from"./vendor-f0f38b48.js";import"./vendor-sortablejs-cbf37f8f.js";const w={name:"DeviceSungrow",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},componentId:{required:!0}},methods:{updateConfiguration(u,e=void 0){this.$emit("update:configuration",{value:u,object:e})}}},S={class:"device-sungrow"},h={class:"small"};function x(u,e,i,D,W,a){const d=o("openwb-base-heading"),p=o("openwb-base-alert"),m=o("openwb-base-text-input"),s=o("openwb-base-number-input"),c=o("openwb-base-select-input");return g(),_("div",S,[t(d,null,{default:r(()=>[l(" Einstellungen für Sungrow "),f("span",h,"(Modul: "+v(u.$options.name)+")",1)]),_:1}),t(p,{subtype:"info"},{default:r(()=>[l(" Bitte zur Fehlervermeidung die Firmware des Sungrow Wechselrichters und WiNet-S Dongles aktuell halten. ")]),_:1}),t(m,{title:"IP oder Hostname",subtype:"host",required:"","model-value":i.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=n=>a.updateConfiguration(n,"configuration.ip_address"))},null,8,["model-value"]),t(s,{title:"Port",required:"",min:1,max:65535,"model-value":i.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=n=>a.updateConfiguration(n,"configuration.port"))},null,8,["model-value"]),t(s,{title:"Modbus ID",required:"","model-value":i.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[2]||(e[2]=n=>a.updateConfiguration(n,"configuration.modbus_id"))},null,8,["model-value"]),t(c,{title:"Version",options:[{value:0,text:"SH (Hybrid)"},{value:3,text:"SH (Hybrid) über WiNet-S Dongle"},{value:1,text:"SG (kein Hybrid)"},{value:2,text:"SG (kein Hybrid) über WiNet-S Dongle"}],"model-value":i.configuration.version,"onUpdate:modelValue":e[3]||(e[3]=n=>a.updateConfiguration(n,"configuration.version"))},{help:r(()=>[l(" Die Variante SH sollte möglichst über den internen LAN-Port genutzt werden (befindet sich am Wechselrichter hinter dem WiNet-S Dongle), da nur hier alle Werte vollständig ausgelesen werden können. Den WiNet-S Dongle zusätzlich ins Heimnetz (per Lan oder Wlan) einbinden, um iSolarCloud nutzen zu können. ")]),_:1},8,["options","model-value"])])}const N=b(w,[["render",x],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/sungrow/device.vue"]]);export{N as default}; +import{_ as b,q as o,k as g,l as _,B as t,M as r,x as l,u as f,y as v}from"./vendor-493c2bec.js";import"./vendor-sortablejs-0b339223.js";const w={name:"DeviceSungrow",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},componentId:{required:!0}},methods:{updateConfiguration(u,e=void 0){this.$emit("update:configuration",{value:u,object:e})}}},S={class:"device-sungrow"},h={class:"small"};function x(u,e,i,D,W,a){const d=o("openwb-base-heading"),p=o("openwb-base-alert"),m=o("openwb-base-text-input"),s=o("openwb-base-number-input"),c=o("openwb-base-select-input");return g(),_("div",S,[t(d,null,{default:r(()=>[l(" Einstellungen für Sungrow "),f("span",h,"(Modul: "+v(u.$options.name)+")",1)]),_:1}),t(p,{subtype:"info"},{default:r(()=>[l(" Bitte zur Fehlervermeidung die Firmware des Sungrow Wechselrichters und WiNet-S Dongles aktuell halten. ")]),_:1}),t(m,{title:"IP oder Hostname",subtype:"host",required:"","model-value":i.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=n=>a.updateConfiguration(n,"configuration.ip_address"))},null,8,["model-value"]),t(s,{title:"Port",required:"",min:1,max:65535,"model-value":i.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=n=>a.updateConfiguration(n,"configuration.port"))},null,8,["model-value"]),t(s,{title:"Modbus ID",required:"","model-value":i.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[2]||(e[2]=n=>a.updateConfiguration(n,"configuration.modbus_id"))},null,8,["model-value"]),t(c,{title:"Version",options:[{value:0,text:"SH (Hybrid)"},{value:3,text:"SH (Hybrid) über WiNet-S Dongle"},{value:1,text:"SG (kein Hybrid)"},{value:2,text:"SG (kein Hybrid) über WiNet-S Dongle"}],"model-value":i.configuration.version,"onUpdate:modelValue":e[3]||(e[3]=n=>a.updateConfiguration(n,"configuration.version"))},{help:r(()=>[l(" Die Variante SH sollte möglichst über den internen LAN-Port genutzt werden (befindet sich am Wechselrichter hinter dem WiNet-S Dongle), da nur hier alle Werte vollständig ausgelesen werden können. Den WiNet-S Dongle zusätzlich ins Heimnetz (per Lan oder Wlan) einbinden, um iSolarCloud nutzen zu können. ")]),_:1},8,["options","model-value"])])}const N=b(w,[["render",x],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/sungrow/device.vue"]]);export{N as default}; diff --git a/web/settings/assets/device-d91608b1.js b/web/settings/assets/device-6f1703f6.js similarity index 89% rename from web/settings/assets/device-d91608b1.js rename to web/settings/assets/device-6f1703f6.js index 684b246d17..9a1cbc7e2e 100644 --- a/web/settings/assets/device-d91608b1.js +++ b/web/settings/assets/device-6f1703f6.js @@ -1 +1 @@ -import{_ as r,q as u,k as l,l as c,B as n,M as p,x as f,u as m,y as _}from"./vendor-f0f38b48.js";import"./vendor-sortablejs-cbf37f8f.js";const g={name:"DeviceDiscovergy",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0}},methods:{updateConfiguration(o,e=void 0){this.$emit("update:configuration",{value:o,object:e})}}},v={class:"device-discovergy"},b={class:"small"};function w(o,e,s,y,x,a){const d=u("openwb-base-heading"),i=u("openwb-base-text-input");return l(),c("div",v,[n(d,null,{default:p(()=>[f(" Einstellungen für Discovergy "),m("span",b,"(Modul: "+_(o.$options.name)+")",1)]),_:1}),n(i,{title:"Benutzername",subtype:"user",required:"","model-value":s.configuration.user,"onUpdate:modelValue":e[0]||(e[0]=t=>a.updateConfiguration(t,"configuration.user"))},null,8,["model-value"]),n(i,{title:"Passwort",subtype:"password",required:"","model-value":s.configuration.password,"onUpdate:modelValue":e[1]||(e[1]=t=>a.updateConfiguration(t,"configuration.password"))},null,8,["model-value"])])}const V=r(g,[["render",w],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/discovergy/device.vue"]]);export{V as default}; +import{_ as r,q as u,k as l,l as c,B as n,M as p,x as f,u as m,y as _}from"./vendor-493c2bec.js";import"./vendor-sortablejs-0b339223.js";const g={name:"DeviceDiscovergy",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0}},methods:{updateConfiguration(o,e=void 0){this.$emit("update:configuration",{value:o,object:e})}}},v={class:"device-discovergy"},b={class:"small"};function w(o,e,s,y,x,a){const d=u("openwb-base-heading"),i=u("openwb-base-text-input");return l(),c("div",v,[n(d,null,{default:p(()=>[f(" Einstellungen für Discovergy "),m("span",b,"(Modul: "+_(o.$options.name)+")",1)]),_:1}),n(i,{title:"Benutzername",subtype:"user",required:"","model-value":s.configuration.user,"onUpdate:modelValue":e[0]||(e[0]=t=>a.updateConfiguration(t,"configuration.user"))},null,8,["model-value"]),n(i,{title:"Passwort",subtype:"password",required:"","model-value":s.configuration.password,"onUpdate:modelValue":e[1]||(e[1]=t=>a.updateConfiguration(t,"configuration.password"))},null,8,["model-value"])])}const V=r(g,[["render",w],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/discovergy/device.vue"]]);export{V as default}; diff --git a/web/settings/assets/device-95a82c98.js b/web/settings/assets/device-7090a33b.js similarity index 87% rename from web/settings/assets/device-95a82c98.js rename to web/settings/assets/device-7090a33b.js index 97760502a2..2ceb65743b 100644 --- a/web/settings/assets/device-95a82c98.js +++ b/web/settings/assets/device-7090a33b.js @@ -1 +1 @@ -import{_ as u,q as t,k as p,l as c,B as n,M as l,x as _,u as m,y as b}from"./vendor-f0f38b48.js";import"./vendor-sortablejs-cbf37f8f.js";const f={name:"DeviceSmaWebbox",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},componentId:{required:!0}},methods:{updateConfiguration(o,e=void 0){this.$emit("update:configuration",{value:o,object:e})}}},g={class:"device-sma-webbox"},v={class:"small"};function x(o,e,s,w,h,a){const i=t("openwb-base-heading"),d=t("openwb-base-text-input");return p(),c("div",g,[n(i,null,{default:l(()=>[_(" Einstellungen für SMA Webbox "),m("span",v,"(Modul: "+b(o.$options.name)+")",1)]),_:1}),n(d,{title:"IP oder Hostname",subtype:"host",required:"","model-value":s.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=r=>a.updateConfiguration(r,"configuration.ip_address"))},null,8,["model-value"])])}const y=u(f,[["render",x],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/sma_webbox/device.vue"]]);export{y as default}; +import{_ as u,q as t,k as p,l as c,B as n,M as l,x as _,u as m,y as b}from"./vendor-493c2bec.js";import"./vendor-sortablejs-0b339223.js";const f={name:"DeviceSmaWebbox",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},componentId:{required:!0}},methods:{updateConfiguration(o,e=void 0){this.$emit("update:configuration",{value:o,object:e})}}},g={class:"device-sma-webbox"},v={class:"small"};function x(o,e,s,w,h,a){const i=t("openwb-base-heading"),d=t("openwb-base-text-input");return p(),c("div",g,[n(i,null,{default:l(()=>[_(" Einstellungen für SMA Webbox "),m("span",v,"(Modul: "+b(o.$options.name)+")",1)]),_:1}),n(d,{title:"IP oder Hostname",subtype:"host",required:"","model-value":s.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=r=>a.updateConfiguration(r,"configuration.ip_address"))},null,8,["model-value"])])}const y=u(f,[["render",x],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/sma_webbox/device.vue"]]);export{y as default}; diff --git a/web/settings/assets/device-4c06c2b2.js b/web/settings/assets/device-71c8ac32.js similarity index 90% rename from web/settings/assets/device-4c06c2b2.js rename to web/settings/assets/device-71c8ac32.js index ff0566c81b..cf3bfe4f79 100644 --- a/web/settings/assets/device-4c06c2b2.js +++ b/web/settings/assets/device-71c8ac32.js @@ -1 +1 @@ -import{_ as l,q as d,k as p,l as m,B as n,M as c,x as _,u as f,y as b}from"./vendor-f0f38b48.js";import"./vendor-sortablejs-cbf37f8f.js";const g={name:"DeviceGoodWe",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0}},methods:{updateConfiguration(t,e=void 0){this.$emit("update:configuration",{value:t,object:e})}}},v={class:"device-goodwe"},w={class:"small"};function x(t,e,i,C,V,a){const s=d("openwb-base-heading"),r=d("openwb-base-text-input"),u=d("openwb-base-number-input");return p(),m("div",v,[n(s,null,{default:c(()=>[_(" Einstellungen für GoodWe "),f("span",w,"(Modul: "+b(t.$options.name)+")",1)]),_:1}),n(r,{title:"IP oder Hostname",subtype:"host",required:"","model-value":i.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=o=>a.updateConfiguration(o,"configuration.ip_address"))},null,8,["model-value"]),n(u,{title:"Port",required:"",min:1,max:65535,"model-value":i.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=o=>a.updateConfiguration(o,"configuration.port"))},null,8,["model-value"]),n(u,{title:"Modbus ID",required:"","model-value":i.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[2]||(e[2]=o=>a.updateConfiguration(o,"configuration.modbus_id"))},null,8,["model-value"])])}const y=l(g,[["render",x],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/good_we/device.vue"]]);export{y as default}; +import{_ as l,q as d,k as p,l as m,B as n,M as c,x as _,u as f,y as b}from"./vendor-493c2bec.js";import"./vendor-sortablejs-0b339223.js";const g={name:"DeviceGoodWe",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0}},methods:{updateConfiguration(t,e=void 0){this.$emit("update:configuration",{value:t,object:e})}}},v={class:"device-goodwe"},w={class:"small"};function x(t,e,i,C,V,a){const s=d("openwb-base-heading"),r=d("openwb-base-text-input"),u=d("openwb-base-number-input");return p(),m("div",v,[n(s,null,{default:c(()=>[_(" Einstellungen für GoodWe "),f("span",w,"(Modul: "+b(t.$options.name)+")",1)]),_:1}),n(r,{title:"IP oder Hostname",subtype:"host",required:"","model-value":i.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=o=>a.updateConfiguration(o,"configuration.ip_address"))},null,8,["model-value"]),n(u,{title:"Port",required:"",min:1,max:65535,"model-value":i.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=o=>a.updateConfiguration(o,"configuration.port"))},null,8,["model-value"]),n(u,{title:"Modbus ID",required:"","model-value":i.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[2]||(e[2]=o=>a.updateConfiguration(o,"configuration.modbus_id"))},null,8,["model-value"])])}const y=l(g,[["render",x],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/good_we/device.vue"]]);export{y as default}; diff --git a/web/settings/assets/device-b31c67e4.js b/web/settings/assets/device-74e23b8b.js similarity index 91% rename from web/settings/assets/device-b31c67e4.js rename to web/settings/assets/device-74e23b8b.js index 590caf6879..d41f1aae45 100644 --- a/web/settings/assets/device-b31c67e4.js +++ b/web/settings/assets/device-74e23b8b.js @@ -1 +1 @@ -import{_ as p,q as r,k as c,l as m,B as o,M as u,x as l,u as f,y as _}from"./vendor-f0f38b48.js";import"./vendor-sortablejs-cbf37f8f.js";const g={name:"DeviceKostalPikoOld",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0}},methods:{updateConfiguration(n,e=void 0){this.$emit("update:configuration",{value:n,object:e})}}},v={class:"device-kostal-piko-old"},b={class:"small"};function w(n,e,a,k,h,i){const d=r("openwb-base-heading"),s=r("openwb-base-text-input");return c(),m("div",v,[o(d,null,{default:u(()=>[l(" Einstellungen für Kostal Piko (alte Generation) "),f("span",b,"(Modul: "+_(n.$options.name)+")",1)]),_:1}),o(s,{title:"URL",subtype:"url",required:"","model-value":a.configuration.url,"onUpdate:modelValue":e[0]||(e[0]=t=>i.updateConfiguration(t,"configuration.url"))},{help:u(()=>[l(' Es wird eine komplette URL inklusive Protokoll erwartet. Normalerweise ist der Wechselrichter über "http://IP" zu erreichen. ')]),_:1},8,["model-value"]),o(s,{title:"Benutzername",subtype:"user",required:"","model-value":a.configuration.user,"onUpdate:modelValue":e[1]||(e[1]=t=>i.updateConfiguration(t,"configuration.user"))},null,8,["model-value"]),o(s,{title:"Passwort",subtype:"password",required:"","model-value":a.configuration.password,"onUpdate:modelValue":e[2]||(e[2]=t=>i.updateConfiguration(t,"configuration.password"))},null,8,["model-value"])])}const B=p(g,[["render",w],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/kostal_piko_old/device.vue"]]);export{B as default}; +import{_ as p,q as r,k as c,l as m,B as o,M as u,x as l,u as f,y as _}from"./vendor-493c2bec.js";import"./vendor-sortablejs-0b339223.js";const g={name:"DeviceKostalPikoOld",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0}},methods:{updateConfiguration(n,e=void 0){this.$emit("update:configuration",{value:n,object:e})}}},v={class:"device-kostal-piko-old"},b={class:"small"};function w(n,e,a,k,h,i){const d=r("openwb-base-heading"),s=r("openwb-base-text-input");return c(),m("div",v,[o(d,null,{default:u(()=>[l(" Einstellungen für Kostal Piko (alte Generation) "),f("span",b,"(Modul: "+_(n.$options.name)+")",1)]),_:1}),o(s,{title:"URL",subtype:"url",required:"","model-value":a.configuration.url,"onUpdate:modelValue":e[0]||(e[0]=t=>i.updateConfiguration(t,"configuration.url"))},{help:u(()=>[l(' Es wird eine komplette URL inklusive Protokoll erwartet. Normalerweise ist der Wechselrichter über "http://IP" zu erreichen. ')]),_:1},8,["model-value"]),o(s,{title:"Benutzername",subtype:"user",required:"","model-value":a.configuration.user,"onUpdate:modelValue":e[1]||(e[1]=t=>i.updateConfiguration(t,"configuration.user"))},null,8,["model-value"]),o(s,{title:"Passwort",subtype:"password",required:"","model-value":a.configuration.password,"onUpdate:modelValue":e[2]||(e[2]=t=>i.updateConfiguration(t,"configuration.password"))},null,8,["model-value"])])}const B=p(g,[["render",w],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/kostal_piko_old/device.vue"]]);export{B as default}; diff --git a/web/settings/assets/device-3f06f01a.js b/web/settings/assets/device-76b388bf.js similarity index 89% rename from web/settings/assets/device-3f06f01a.js rename to web/settings/assets/device-76b388bf.js index 0e1fb97bdb..a5c12ef2d8 100644 --- a/web/settings/assets/device-3f06f01a.js +++ b/web/settings/assets/device-76b388bf.js @@ -1 +1 @@ -import{_ as c,q as o,k as m,l as _,B as s,M as i,x as n,u as a,y as f}from"./vendor-f0f38b48.js";import"./vendor-sortablejs-cbf37f8f.js";const b={name:"DeviceJson",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},componentId:{required:!0}},methods:{updateConfiguration(t,e=void 0){this.$emit("update:configuration",{value:t,object:e})}}},g={class:"device-json"},v={class:"small"},h=a("br",null,null,-1);function w(t,e,r,j,x,u){const d=o("openwb-base-heading"),l=o("openwb-base-text-input");return m(),_("div",g,[s(d,null,{default:i(()=>[n(" Einstellungen für JSON "),a("span",v,"(Modul: "+f(t.$options.name)+")",1)]),_:1}),s(l,{title:"URL",subtype:"url",required:"","model-value":r.configuration.url,"onUpdate:modelValue":e[0]||(e[0]=p=>u.updateConfiguration(p,"configuration.url"))},{help:i(()=>[n(" Es wird eine komplette URL erwartet mit Angaben zum Protokoll, IP oder Hostnamen, optional einem Port und einem Pfad. Die Antwort muss ein json-Objekt sein."),h,n(" Beispiel: http://192.168.1.1:8080/json?data=1 ")]),_:1},8,["model-value"])])}const q=c(b,[["render",w],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/json/device.vue"]]);export{q as default}; +import{_ as c,q as o,k as m,l as _,B as s,M as i,x as n,u as a,y as f}from"./vendor-493c2bec.js";import"./vendor-sortablejs-0b339223.js";const b={name:"DeviceJson",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},componentId:{required:!0}},methods:{updateConfiguration(t,e=void 0){this.$emit("update:configuration",{value:t,object:e})}}},g={class:"device-json"},v={class:"small"},h=a("br",null,null,-1);function w(t,e,r,j,x,u){const d=o("openwb-base-heading"),l=o("openwb-base-text-input");return m(),_("div",g,[s(d,null,{default:i(()=>[n(" Einstellungen für JSON "),a("span",v,"(Modul: "+f(t.$options.name)+")",1)]),_:1}),s(l,{title:"URL",subtype:"url",required:"","model-value":r.configuration.url,"onUpdate:modelValue":e[0]||(e[0]=p=>u.updateConfiguration(p,"configuration.url"))},{help:i(()=>[n(" Es wird eine komplette URL erwartet mit Angaben zum Protokoll, IP oder Hostnamen, optional einem Port und einem Pfad. Die Antwort muss ein json-Objekt sein."),h,n(" Beispiel: http://192.168.1.1:8080/json?data=1 ")]),_:1},8,["model-value"])])}const q=c(b,[["render",w],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/json/device.vue"]]);export{q as default}; diff --git a/web/settings/assets/device-7f54ce45.js b/web/settings/assets/device-7a27214b.js similarity index 90% rename from web/settings/assets/device-7f54ce45.js rename to web/settings/assets/device-7a27214b.js index 10f33d94d7..24cc90ae77 100644 --- a/web/settings/assets/device-7f54ce45.js +++ b/web/settings/assets/device-7a27214b.js @@ -1 +1 @@ -import{_ as l,q as u,k as p,l as m,B as o,M as c,x as _,u as f,y as b}from"./vendor-f0f38b48.js";import"./vendor-sortablejs-cbf37f8f.js";const v={name:"DeviceVarta",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0}},methods:{updateConfiguration(n,e=void 0){this.$emit("update:configuration",{value:n,object:e})}}},g={class:"device-varta"},x={class:"small"};function w(n,e,a,V,C,i){const s=u("openwb-base-heading"),r=u("openwb-base-text-input"),d=u("openwb-base-number-input");return p(),m("div",g,[o(s,null,{default:c(()=>[_(" Einstellungen für Varta "),f("span",x,"(Modul: "+b(n.$options.name)+")",1)]),_:1}),o(r,{title:"IP oder Hostname",subtype:"host",required:"","model-value":a.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=t=>i.updateConfiguration(t,"configuration.ip_address"))},null,8,["model-value"]),o(d,{title:"Port",required:"",min:1,max:65535,"model-value":a.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=t=>i.updateConfiguration(t,"configuration.port"))},null,8,["model-value"]),o(d,{title:"Modbus ID",required:"","model-value":a.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[2]||(e[2]=t=>i.updateConfiguration(t,"configuration.modbus_id"))},null,8,["model-value"])])}const y=l(v,[["render",w],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/varta/device.vue"]]);export{y as default}; +import{_ as l,q as u,k as p,l as m,B as o,M as c,x as _,u as f,y as b}from"./vendor-493c2bec.js";import"./vendor-sortablejs-0b339223.js";const v={name:"DeviceVarta",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0}},methods:{updateConfiguration(n,e=void 0){this.$emit("update:configuration",{value:n,object:e})}}},g={class:"device-varta"},x={class:"small"};function w(n,e,a,V,C,i){const s=u("openwb-base-heading"),r=u("openwb-base-text-input"),d=u("openwb-base-number-input");return p(),m("div",g,[o(s,null,{default:c(()=>[_(" Einstellungen für Varta "),f("span",x,"(Modul: "+b(n.$options.name)+")",1)]),_:1}),o(r,{title:"IP oder Hostname",subtype:"host",required:"","model-value":a.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=t=>i.updateConfiguration(t,"configuration.ip_address"))},null,8,["model-value"]),o(d,{title:"Port",required:"",min:1,max:65535,"model-value":a.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=t=>i.updateConfiguration(t,"configuration.port"))},null,8,["model-value"]),o(d,{title:"Modbus ID",required:"","model-value":a.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[2]||(e[2]=t=>i.updateConfiguration(t,"configuration.modbus_id"))},null,8,["model-value"])])}const y=l(v,[["render",w],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/varta/device.vue"]]);export{y as default}; diff --git a/web/settings/assets/device-66142994.js b/web/settings/assets/device-7afcc425.js similarity index 90% rename from web/settings/assets/device-66142994.js rename to web/settings/assets/device-7afcc425.js index 470349995a..f4a5d578cf 100644 --- a/web/settings/assets/device-66142994.js +++ b/web/settings/assets/device-7afcc425.js @@ -1 +1 @@ -import{_ as l,q as u,k as p,l as m,B as t,M as c,x as _,u as f,y as v}from"./vendor-f0f38b48.js";import"./vendor-sortablejs-cbf37f8f.js";const b={name:"DeviceSolarView",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0}},methods:{updateConfiguration(n,e=void 0){this.$emit("update:configuration",{value:n,object:e})}}},g={class:"device-solar-view"},w={class:"small"};function x(n,e,i,V,C,a){const s=u("openwb-base-heading"),r=u("openwb-base-text-input"),d=u("openwb-base-number-input");return p(),m("div",g,[t(s,null,{default:c(()=>[_(" Einstellungen für SolarView "),f("span",w,"(Modul: "+v(n.$options.name)+")",1)]),_:1}),t(r,{title:"IP oder Hostname",subtype:"host",required:"","model-value":i.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=o=>a.updateConfiguration(o,"configuration.ip_address"))},null,8,["model-value"]),t(d,{title:"Port",required:"",min:1,max:65535,"model-value":i.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=o=>a.updateConfiguration(o,"configuration.port"))},null,8,["model-value"]),t(d,{title:"Timeout",required:"","model-value":i.configuration.timeout,"onUpdate:modelValue":e[2]||(e[2]=o=>a.updateConfiguration(o,"configuration.timeout"))},null,8,["model-value"])])}const y=l(b,[["render",x],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/solar_view/device.vue"]]);export{y as default}; +import{_ as l,q as u,k as p,l as m,B as t,M as c,x as _,u as f,y as v}from"./vendor-493c2bec.js";import"./vendor-sortablejs-0b339223.js";const b={name:"DeviceSolarView",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0}},methods:{updateConfiguration(n,e=void 0){this.$emit("update:configuration",{value:n,object:e})}}},g={class:"device-solar-view"},w={class:"small"};function x(n,e,i,V,C,a){const s=u("openwb-base-heading"),r=u("openwb-base-text-input"),d=u("openwb-base-number-input");return p(),m("div",g,[t(s,null,{default:c(()=>[_(" Einstellungen für SolarView "),f("span",w,"(Modul: "+v(n.$options.name)+")",1)]),_:1}),t(r,{title:"IP oder Hostname",subtype:"host",required:"","model-value":i.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=o=>a.updateConfiguration(o,"configuration.ip_address"))},null,8,["model-value"]),t(d,{title:"Port",required:"",min:1,max:65535,"model-value":i.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=o=>a.updateConfiguration(o,"configuration.port"))},null,8,["model-value"]),t(d,{title:"Timeout",required:"","model-value":i.configuration.timeout,"onUpdate:modelValue":e[2]||(e[2]=o=>a.updateConfiguration(o,"configuration.timeout"))},null,8,["model-value"])])}const y=l(b,[["render",x],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/solar_view/device.vue"]]);export{y as default}; diff --git a/web/settings/assets/device-77a56e1d.js b/web/settings/assets/device-7b85776b.js similarity index 92% rename from web/settings/assets/device-77a56e1d.js rename to web/settings/assets/device-7b85776b.js index 13291386b4..96a88a92d4 100644 --- a/web/settings/assets/device-77a56e1d.js +++ b/web/settings/assets/device-7b85776b.js @@ -1 +1 @@ -import{_ as m,q as o,k as _,l as f,B as t,M as r,x as u,u as b,y as g}from"./vendor-f0f38b48.js";import"./vendor-sortablejs-cbf37f8f.js";const v={name:"DeviceKostalPlenticore",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0}},methods:{updateConfiguration(a,e=void 0){this.$emit("update:configuration",{value:a,object:e})}}},w={class:"device-kostalplenticore"},h={class:"small"};function x(a,e,i,y,C,s){const d=o("openwb-base-heading"),p=o("openwb-base-alert"),c=o("openwb-base-text-input"),l=o("openwb-base-number-input");return _(),f("div",w,[t(d,null,{default:r(()=>[u(" Einstellungen für Kostal Plenticore "),b("span",h,"(Modul: "+g(a.$options.name)+")",1)]),_:1}),t(p,{subtype:"info"},{default:r(()=>[u(" Wenn am Kostal Plenticore-Wechselrichter ein EM300 oder Kostal Energy Smart Meter (KSEM) angeschlossen ist, muss eine Zähler-und eine Wechselrichter-Komponente angelegt werden. ")]),_:1}),t(c,{title:"IP oder Hostname",subtype:"host",required:"","model-value":i.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=n=>s.updateConfiguration(n,"configuration.ip_address"))},null,8,["model-value"]),t(l,{title:"Port",required:"",min:1,max:65535,"model-value":i.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=n=>s.updateConfiguration(n,"configuration.port"))},null,8,["model-value"]),t(l,{title:"Modbus ID",required:"","model-value":i.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[2]||(e[2]=n=>s.updateConfiguration(n,"configuration.modbus_id"))},null,8,["model-value"])])}const V=m(v,[["render",x],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/kostal_plenticore/device.vue"]]);export{V as default}; +import{_ as m,q as o,k as _,l as f,B as t,M as r,x as u,u as b,y as g}from"./vendor-493c2bec.js";import"./vendor-sortablejs-0b339223.js";const v={name:"DeviceKostalPlenticore",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0}},methods:{updateConfiguration(a,e=void 0){this.$emit("update:configuration",{value:a,object:e})}}},w={class:"device-kostalplenticore"},h={class:"small"};function x(a,e,i,y,C,s){const d=o("openwb-base-heading"),p=o("openwb-base-alert"),c=o("openwb-base-text-input"),l=o("openwb-base-number-input");return _(),f("div",w,[t(d,null,{default:r(()=>[u(" Einstellungen für Kostal Plenticore "),b("span",h,"(Modul: "+g(a.$options.name)+")",1)]),_:1}),t(p,{subtype:"info"},{default:r(()=>[u(" Wenn am Kostal Plenticore-Wechselrichter ein EM300 oder Kostal Energy Smart Meter (KSEM) angeschlossen ist, muss eine Zähler-und eine Wechselrichter-Komponente angelegt werden. ")]),_:1}),t(c,{title:"IP oder Hostname",subtype:"host",required:"","model-value":i.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=n=>s.updateConfiguration(n,"configuration.ip_address"))},null,8,["model-value"]),t(l,{title:"Port",required:"",min:1,max:65535,"model-value":i.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=n=>s.updateConfiguration(n,"configuration.port"))},null,8,["model-value"]),t(l,{title:"Modbus ID",required:"","model-value":i.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[2]||(e[2]=n=>s.updateConfiguration(n,"configuration.modbus_id"))},null,8,["model-value"])])}const V=m(v,[["render",x],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/kostal_plenticore/device.vue"]]);export{V as default}; diff --git a/web/settings/assets/device-83d0d1d2.js b/web/settings/assets/device-83f5a3c0.js similarity index 90% rename from web/settings/assets/device-83d0d1d2.js rename to web/settings/assets/device-83f5a3c0.js index fe5b7b5fea..21d2acfb93 100644 --- a/web/settings/assets/device-83d0d1d2.js +++ b/web/settings/assets/device-83f5a3c0.js @@ -1 +1 @@ -import{_ as r,q as u,k as l,l as p,B as o,M as c,x as m,u as f,y as _}from"./vendor-f0f38b48.js";import"./vendor-sortablejs-cbf37f8f.js";const g={name:"DeviceBYD",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0}},methods:{updateConfiguration(n,e=void 0){this.$emit("update:configuration",{value:n,object:e})}}},v={class:"device-byd"},b={class:"small"};function w(n,e,a,y,B,i){const d=u("openwb-base-heading"),s=u("openwb-base-text-input");return l(),p("div",v,[o(d,null,{default:c(()=>[m(" Einstellungen für BYD "),f("span",b,"(Modul: "+_(n.$options.name)+")",1)]),_:1}),o(s,{title:"IP oder Hostname",subtype:"host",required:"","model-value":a.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=t=>i.updateConfiguration(t,"configuration.ip_address"))},null,8,["model-value"]),o(s,{title:"Benutzername",subtype:"user",required:"","model-value":a.configuration.user,"onUpdate:modelValue":e[1]||(e[1]=t=>i.updateConfiguration(t,"configuration.user"))},null,8,["model-value"]),o(s,{title:"Passwort",subtype:"password",required:"","model-value":a.configuration.password,"onUpdate:modelValue":e[2]||(e[2]=t=>i.updateConfiguration(t,"configuration.password"))},null,8,["model-value"])])}const V=r(g,[["render",w],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/byd/device.vue"]]);export{V as default}; +import{_ as r,q as u,k as l,l as p,B as o,M as c,x as m,u as f,y as _}from"./vendor-493c2bec.js";import"./vendor-sortablejs-0b339223.js";const g={name:"DeviceBYD",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0}},methods:{updateConfiguration(n,e=void 0){this.$emit("update:configuration",{value:n,object:e})}}},v={class:"device-byd"},b={class:"small"};function w(n,e,a,y,B,i){const d=u("openwb-base-heading"),s=u("openwb-base-text-input");return l(),p("div",v,[o(d,null,{default:c(()=>[m(" Einstellungen für BYD "),f("span",b,"(Modul: "+_(n.$options.name)+")",1)]),_:1}),o(s,{title:"IP oder Hostname",subtype:"host",required:"","model-value":a.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=t=>i.updateConfiguration(t,"configuration.ip_address"))},null,8,["model-value"]),o(s,{title:"Benutzername",subtype:"user",required:"","model-value":a.configuration.user,"onUpdate:modelValue":e[1]||(e[1]=t=>i.updateConfiguration(t,"configuration.user"))},null,8,["model-value"]),o(s,{title:"Passwort",subtype:"password",required:"","model-value":a.configuration.password,"onUpdate:modelValue":e[2]||(e[2]=t=>i.updateConfiguration(t,"configuration.password"))},null,8,["model-value"])])}const V=r(g,[["render",w],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/byd/device.vue"]]);export{V as default}; diff --git a/web/settings/assets/device-3fca2c08.js b/web/settings/assets/device-870e788e.js similarity index 91% rename from web/settings/assets/device-3fca2c08.js rename to web/settings/assets/device-870e788e.js index 93cbc9787c..b4d69cc46c 100644 --- a/web/settings/assets/device-3fca2c08.js +++ b/web/settings/assets/device-870e788e.js @@ -1 +1 @@ -import{_ as l,q as u,k as p,l as m,B as t,M as c,x as _,u as f,y as b}from"./vendor-f0f38b48.js";import"./vendor-sortablejs-cbf37f8f.js";const g={name:"DeviceSaxpower",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},componentId:{required:!0}},methods:{updateConfiguration(n,e=void 0){this.$emit("update:configuration",{value:n,object:e})}}},v={class:"device-saxpower"},x={class:"small"};function w(n,e,a,q,C,i){const d=u("openwb-base-heading"),r=u("openwb-base-text-input"),s=u("openwb-base-number-input");return p(),m("div",v,[t(d,null,{default:c(()=>[_(" Einstellungen für Saxpower "),f("span",x,"(Modul: "+b(n.$options.name)+")",1)]),_:1}),t(r,{title:"IP oder Hostname",subtype:"host",required:"","model-value":a.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=o=>i.updateConfiguration(o,"configuration.ip_address"))},null,8,["model-value"]),t(s,{title:"Port",required:"",min:1,max:65535,"model-value":a.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=o=>i.updateConfiguration(o,"configuration.port"))},null,8,["model-value"]),t(s,{title:"Modbus ID",required:"","model-value":a.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[2]||(e[2]=o=>i.updateConfiguration(o,"configuration.modbus_id"))},null,8,["model-value"])])}const y=l(g,[["render",w],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/saxpower/device.vue"]]);export{y as default}; +import{_ as l,q as u,k as p,l as m,B as t,M as c,x as _,u as f,y as b}from"./vendor-493c2bec.js";import"./vendor-sortablejs-0b339223.js";const g={name:"DeviceSaxpower",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},componentId:{required:!0}},methods:{updateConfiguration(n,e=void 0){this.$emit("update:configuration",{value:n,object:e})}}},v={class:"device-saxpower"},x={class:"small"};function w(n,e,a,q,C,i){const d=u("openwb-base-heading"),r=u("openwb-base-text-input"),s=u("openwb-base-number-input");return p(),m("div",v,[t(d,null,{default:c(()=>[_(" Einstellungen für Saxpower "),f("span",x,"(Modul: "+b(n.$options.name)+")",1)]),_:1}),t(r,{title:"IP oder Hostname",subtype:"host",required:"","model-value":a.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=o=>i.updateConfiguration(o,"configuration.ip_address"))},null,8,["model-value"]),t(s,{title:"Port",required:"",min:1,max:65535,"model-value":a.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=o=>i.updateConfiguration(o,"configuration.port"))},null,8,["model-value"]),t(s,{title:"Modbus ID",required:"","model-value":a.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[2]||(e[2]=o=>i.updateConfiguration(o,"configuration.modbus_id"))},null,8,["model-value"])])}const y=l(g,[["render",w],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/saxpower/device.vue"]]);export{y as default}; diff --git a/web/settings/assets/device-974644de.js b/web/settings/assets/device-8c555086.js similarity index 89% rename from web/settings/assets/device-974644de.js rename to web/settings/assets/device-8c555086.js index d02ab64b93..f5f0cf11c8 100644 --- a/web/settings/assets/device-974644de.js +++ b/web/settings/assets/device-8c555086.js @@ -1 +1 @@ -import{_ as r,q as u,k as l,l as p,B as n,M as c,x as m,u as _,y as f}from"./vendor-f0f38b48.js";import"./vendor-sortablejs-cbf37f8f.js";const g={name:"DeviceSunways",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},componentId:{required:!0}},methods:{updateConfiguration(t,e=void 0){this.$emit("update:configuration",{value:t,object:e})}}},v={class:"device-sunways"},w={class:"small"};function b(t,e,s,y,x,a){const d=u("openwb-base-heading"),i=u("openwb-base-text-input");return l(),p("div",v,[n(d,null,{default:c(()=>[m(" Einstellungen für Sunways "),_("span",w,"(Modul: "+f(t.$options.name)+")",1)]),_:1}),n(i,{title:"IP oder Hostname",subtype:"host",required:"","model-value":s.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=o=>a.updateConfiguration(o,"configuration.ip_address"))},null,8,["model-value"]),n(i,{title:"Passwort",subtype:"password",required:"","model-value":s.configuration.password,"onUpdate:modelValue":e[1]||(e[1]=o=>a.updateConfiguration(o,"configuration.password"))},null,8,["model-value"])])}const B=r(g,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/sunways/device.vue"]]);export{B as default}; +import{_ as r,q as u,k as l,l as p,B as n,M as c,x as m,u as _,y as f}from"./vendor-493c2bec.js";import"./vendor-sortablejs-0b339223.js";const g={name:"DeviceSunways",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},componentId:{required:!0}},methods:{updateConfiguration(t,e=void 0){this.$emit("update:configuration",{value:t,object:e})}}},v={class:"device-sunways"},w={class:"small"};function b(t,e,s,y,x,a){const d=u("openwb-base-heading"),i=u("openwb-base-text-input");return l(),p("div",v,[n(d,null,{default:c(()=>[m(" Einstellungen für Sunways "),_("span",w,"(Modul: "+f(t.$options.name)+")",1)]),_:1}),n(i,{title:"IP oder Hostname",subtype:"host",required:"","model-value":s.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=o=>a.updateConfiguration(o,"configuration.ip_address"))},null,8,["model-value"]),n(i,{title:"Passwort",subtype:"password",required:"","model-value":s.configuration.password,"onUpdate:modelValue":e[1]||(e[1]=o=>a.updateConfiguration(o,"configuration.password"))},null,8,["model-value"])])}const B=r(g,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/sunways/device.vue"]]);export{B as default}; diff --git a/web/settings/assets/device-05f612f2.js b/web/settings/assets/device-8e686eb4.js similarity index 89% rename from web/settings/assets/device-05f612f2.js rename to web/settings/assets/device-8e686eb4.js index 7cbb68a32b..4a3010acd8 100644 --- a/web/settings/assets/device-05f612f2.js +++ b/web/settings/assets/device-8e686eb4.js @@ -1 +1 @@ -import{_ as p,q as n,k as l,l as c,B as a,M as m,x as _,u as g,y as f}from"./vendor-f0f38b48.js";import"./vendor-sortablejs-cbf37f8f.js";const b={name:"DeviceHuaweiSmartLogger",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},componentId:{required:!0}},methods:{updateConfiguration(t,e=void 0){this.$emit("update:configuration",{value:t,object:e})}}},v={class:"device-huawei-smart-logger"},w={class:"small"};function x(t,e,i,h,q,s){const r=n("openwb-base-heading"),u=n("openwb-base-text-input"),d=n("openwb-base-number-input");return l(),c("div",v,[a(r,null,{default:m(()=>[_(" Einstellungen für Huawei SmartLogger "),g("span",w,"(Modul: "+f(t.$options.name)+")",1)]),_:1}),a(u,{title:"IP oder Hostname",subtype:"host",required:"","model-value":i.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=o=>s.updateConfiguration(o,"configuration.ip_address"))},null,8,["model-value"]),a(d,{title:"Port",required:"",min:1,max:65535,"model-value":i.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=o=>s.updateConfiguration(o,"configuration.port"))},null,8,["model-value"])])}const V=p(b,[["render",x],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/huawei_smartlogger/device.vue"]]);export{V as default}; +import{_ as p,q as n,k as l,l as c,B as a,M as m,x as _,u as g,y as f}from"./vendor-493c2bec.js";import"./vendor-sortablejs-0b339223.js";const b={name:"DeviceHuaweiSmartLogger",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},componentId:{required:!0}},methods:{updateConfiguration(t,e=void 0){this.$emit("update:configuration",{value:t,object:e})}}},v={class:"device-huawei-smart-logger"},w={class:"small"};function x(t,e,i,h,q,s){const r=n("openwb-base-heading"),u=n("openwb-base-text-input"),d=n("openwb-base-number-input");return l(),c("div",v,[a(r,null,{default:m(()=>[_(" Einstellungen für Huawei SmartLogger "),g("span",w,"(Modul: "+f(t.$options.name)+")",1)]),_:1}),a(u,{title:"IP oder Hostname",subtype:"host",required:"","model-value":i.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=o=>s.updateConfiguration(o,"configuration.ip_address"))},null,8,["model-value"]),a(d,{title:"Port",required:"",min:1,max:65535,"model-value":i.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=o=>s.updateConfiguration(o,"configuration.port"))},null,8,["model-value"])])}const V=p(b,[["render",x],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/huawei_smartlogger/device.vue"]]);export{V as default}; diff --git a/web/settings/assets/device-bdcb209b.js b/web/settings/assets/device-9597d6f1.js similarity index 92% rename from web/settings/assets/device-bdcb209b.js rename to web/settings/assets/device-9597d6f1.js index 18f5a55872..1b546dc041 100644 --- a/web/settings/assets/device-bdcb209b.js +++ b/web/settings/assets/device-9597d6f1.js @@ -1 +1 @@ -import{_ as c,q as o,k as _,l as b,B as t,M as r,x as d,u as f,y as g}from"./vendor-f0f38b48.js";import"./vendor-sortablejs-cbf37f8f.js";const v={name:"DeviceSiemensSentron",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},componentId:{required:!0}},methods:{updateConfiguration(i,e=void 0){this.$emit("update:configuration",{value:i,object:e})}}},w={class:"device-siemens-sentron"},x={class:"small"};function C(i,e,a,q,y,s){const l=o("openwb-base-heading"),p=o("openwb-base-alert"),m=o("openwb-base-text-input"),u=o("openwb-base-number-input");return _(),b("div",w,[t(l,null,{default:r(()=>[d(" Einstellungen für Siemens Sentron "),f("span",x,"(Modul: "+g(i.$options.name)+")",1)]),_:1}),t(p,{subtype:"info"},{default:r(()=>[d(' Derzeit werden nur Messgeräte vom Typ "7KM PAC2200" mit Ethernet-Schnittstelle unterstützt. ')]),_:1}),t(m,{title:"IP oder Hostname",subtype:"host",required:"","model-value":a.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=n=>s.updateConfiguration(n,"configuration.ip_address"))},null,8,["model-value"]),t(u,{title:"Port",required:"",min:1,max:65535,"model-value":a.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=n=>s.updateConfiguration(n,"configuration.port"))},null,8,["model-value"]),t(u,{title:"Modbus ID",required:"","model-value":a.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[2]||(e[2]=n=>s.updateConfiguration(n,"configuration.modbus_id"))},null,8,["model-value"])])}const h=c(v,[["render",C],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/siemens_sentron/device.vue"]]);export{h as default}; +import{_ as c,q as o,k as _,l as b,B as t,M as r,x as d,u as f,y as g}from"./vendor-493c2bec.js";import"./vendor-sortablejs-0b339223.js";const v={name:"DeviceSiemensSentron",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},componentId:{required:!0}},methods:{updateConfiguration(i,e=void 0){this.$emit("update:configuration",{value:i,object:e})}}},w={class:"device-siemens-sentron"},x={class:"small"};function C(i,e,a,q,y,s){const l=o("openwb-base-heading"),p=o("openwb-base-alert"),m=o("openwb-base-text-input"),u=o("openwb-base-number-input");return _(),b("div",w,[t(l,null,{default:r(()=>[d(" Einstellungen für Siemens Sentron "),f("span",x,"(Modul: "+g(i.$options.name)+")",1)]),_:1}),t(p,{subtype:"info"},{default:r(()=>[d(' Derzeit werden nur Messgeräte vom Typ "7KM PAC2200" mit Ethernet-Schnittstelle unterstützt. ')]),_:1}),t(m,{title:"IP oder Hostname",subtype:"host",required:"","model-value":a.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=n=>s.updateConfiguration(n,"configuration.ip_address"))},null,8,["model-value"]),t(u,{title:"Port",required:"",min:1,max:65535,"model-value":a.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=n=>s.updateConfiguration(n,"configuration.port"))},null,8,["model-value"]),t(u,{title:"Modbus ID",required:"","model-value":a.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[2]||(e[2]=n=>s.updateConfiguration(n,"configuration.modbus_id"))},null,8,["model-value"])])}const h=c(v,[["render",C],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/siemens_sentron/device.vue"]]);export{h as default}; diff --git a/web/settings/assets/device-1eddf414.js b/web/settings/assets/device-9e87d444.js similarity index 88% rename from web/settings/assets/device-1eddf414.js rename to web/settings/assets/device-9e87d444.js index c984a52e00..7e3d5778a0 100644 --- a/web/settings/assets/device-1eddf414.js +++ b/web/settings/assets/device-9e87d444.js @@ -1 +1 @@ -import{_ as c,q as o,k as l,l as _,B as n,M as s,x as a,u as g,y as m}from"./vendor-f0f38b48.js";import"./vendor-sortablejs-cbf37f8f.js";const f={name:"DeviceVZLogger",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0}},methods:{updateConfiguration(t,e=void 0){this.$emit("update:configuration",{value:t,object:e})}}},v={class:"device-vzlogger"},b={class:"small"};function h(t,e,i,w,x,d){const r=o("openwb-base-heading"),p=o("openwb-base-text-input");return l(),_("div",v,[n(r,null,{default:s(()=>[a(" Einstellungen für VZLogger "),g("span",b,"(Modul: "+m(t.$options.name)+")",1)]),_:1}),n(p,{title:"IP oder Hostname",subtype:"host",required:"","model-value":i.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=u=>d.updateConfiguration(u,"configuration.ip_address"))},{help:s(()=>[a(" Bei Angabe des Ports muss auch das Schema mit angegeben werden: http://ip:port ")]),_:1},8,["model-value"])])}const y=c(f,[["render",h],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/vzlogger/device.vue"]]);export{y as default}; +import{_ as c,q as o,k as l,l as _,B as n,M as s,x as a,u as g,y as m}from"./vendor-493c2bec.js";import"./vendor-sortablejs-0b339223.js";const f={name:"DeviceVZLogger",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0}},methods:{updateConfiguration(t,e=void 0){this.$emit("update:configuration",{value:t,object:e})}}},v={class:"device-vzlogger"},b={class:"small"};function h(t,e,i,w,x,d){const r=o("openwb-base-heading"),p=o("openwb-base-text-input");return l(),_("div",v,[n(r,null,{default:s(()=>[a(" Einstellungen für VZLogger "),g("span",b,"(Modul: "+m(t.$options.name)+")",1)]),_:1}),n(p,{title:"IP oder Hostname",subtype:"host",required:"","model-value":i.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=u=>d.updateConfiguration(u,"configuration.ip_address"))},{help:s(()=>[a(" Bei Angabe des Ports muss auch das Schema mit angegeben werden: http://ip:port ")]),_:1},8,["model-value"])])}const y=c(f,[["render",h],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/vzlogger/device.vue"]]);export{y as default}; diff --git a/web/settings/assets/device-b2ed509d.js b/web/settings/assets/device-a1c7ee46.js similarity index 96% rename from web/settings/assets/device-b2ed509d.js rename to web/settings/assets/device-a1c7ee46.js index 301f3cd5fd..f18a9f6a42 100644 --- a/web/settings/assets/device-b2ed509d.js +++ b/web/settings/assets/device-a1c7ee46.js @@ -1 +1 @@ -import{_,q as n,k as g,l as m,B as i,M as r,x as u,u as b,y as f}from"./vendor-f0f38b48.js";import"./vendor-sortablejs-cbf37f8f.js";const h={name:"DeviceDeye",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0}},methods:{updateConfiguration(o,e=void 0){this.$emit("update:configuration",{value:o,object:e})}}},v={class:"device-batterx"},w={class:"small"};function x(o,e,s,y,V,a){const d=n("openwb-base-heading"),l=n("openwb-base-text-input"),p=n("openwb-base-number-input"),c=n("openwb-base-select-input");return g(),m("div",v,[i(d,null,{default:r(()=>[u(" Einstellungen für Deye "),b("span",w,"(Modul: "+f(o.$options.name)+")",1)]),_:1}),i(l,{title:"IP oder Hostname",subtype:"host",required:"","model-value":s.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=t=>a.updateConfiguration(t,"configuration.ip_address"))},null,8,["model-value"]),i(p,{title:"Port",required:"",min:1,max:65535,"model-value":s.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=t=>a.updateConfiguration(t,"configuration.port"))},null,8,["model-value"]),i(c,{title:"Bauform",notSelected:"Bitte auswählen",options:[{value:"three_phase",text:"dreiphasiger Wechselrichter"},{value:"single_phase_string",text:"einphasiger String-Wechselrichter (ungetestet, Rückmeldung über Support erwünscht)"},{value:"single_phase_hybrid",text:"einphasiger Hybrid-Wechselrichter (ungetestet, Rückmeldung über Support erwünscht)"}],"model-value":s.configuration.device_type,"onUpdate:modelValue":e[2]||(e[2]=t=>a.updateConfiguration(t,"configuration.device_type"))},{help:r(()=>[u(" Zwischen Version 1.7 und 1.10 hat sich das Register für die Speicherleistung geändert. Wenn die Speicherleistung nicht korrekt ausgelesen wird, bitte die andere Version testen. ")]),_:1},8,["options","model-value"])])}const S=_(h,[["render",x],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/deye/device.vue"]]);export{S as default}; +import{_,q as n,k as g,l as m,B as i,M as r,x as u,u as b,y as f}from"./vendor-493c2bec.js";import"./vendor-sortablejs-0b339223.js";const h={name:"DeviceDeye",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0}},methods:{updateConfiguration(o,e=void 0){this.$emit("update:configuration",{value:o,object:e})}}},v={class:"device-batterx"},w={class:"small"};function x(o,e,s,y,V,a){const d=n("openwb-base-heading"),l=n("openwb-base-text-input"),p=n("openwb-base-number-input"),c=n("openwb-base-select-input");return g(),m("div",v,[i(d,null,{default:r(()=>[u(" Einstellungen für Deye "),b("span",w,"(Modul: "+f(o.$options.name)+")",1)]),_:1}),i(l,{title:"IP oder Hostname",subtype:"host",required:"","model-value":s.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=t=>a.updateConfiguration(t,"configuration.ip_address"))},null,8,["model-value"]),i(p,{title:"Port",required:"",min:1,max:65535,"model-value":s.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=t=>a.updateConfiguration(t,"configuration.port"))},null,8,["model-value"]),i(c,{title:"Bauform",notSelected:"Bitte auswählen",options:[{value:"three_phase",text:"dreiphasiger Wechselrichter"},{value:"single_phase_string",text:"einphasiger String-Wechselrichter (ungetestet, Rückmeldung über Support erwünscht)"},{value:"single_phase_hybrid",text:"einphasiger Hybrid-Wechselrichter (ungetestet, Rückmeldung über Support erwünscht)"}],"model-value":s.configuration.device_type,"onUpdate:modelValue":e[2]||(e[2]=t=>a.updateConfiguration(t,"configuration.device_type"))},{help:r(()=>[u(" Zwischen Version 1.7 und 1.10 hat sich das Register für die Speicherleistung geändert. Wenn die Speicherleistung nicht korrekt ausgelesen wird, bitte die andere Version testen. ")]),_:1},8,["options","model-value"])])}const S=_(h,[["render",x],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/deye/device.vue"]]);export{S as default}; diff --git a/web/settings/assets/device-4a2b6383.js b/web/settings/assets/device-a25b4d03.js similarity index 88% rename from web/settings/assets/device-4a2b6383.js rename to web/settings/assets/device-a25b4d03.js index 4e0859fcf2..c54466ae91 100644 --- a/web/settings/assets/device-4a2b6383.js +++ b/web/settings/assets/device-a25b4d03.js @@ -1 +1 @@ -import{_ as l,q as s,k as c,l as p,B as o,M as a,x as n,u as i,y as u}from"./vendor-f0f38b48.js";import"./vendor-sortablejs-cbf37f8f.js";const _={name:"DeviceMqtt",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0}},methods:{updateConfiguration(e,t=void 0){this.$emit("update:configuration",{value:e,object:t})}}},m={class:"device-mqtt"},f={class:"small"},b=i("br",null,null,-1);function g(e,t,v,h,w,k){const r=s("openwb-base-heading"),d=s("openwb-base-alert");return c(),p("div",m,[o(r,null,{default:a(()=>[n(" Einstellungen für MQTT "),i("span",f,"(Modul: "+u(e.$options.name)+")",1)]),_:1}),o(d,{subtype:"info"},{default:a(()=>[n(" Das MQTT Modul stellt keine aktive Verbindung her, sondern erwartet, dass die Daten an spezielle Topics im Broker gesendet werden."),b,n(" Alle Daten sind als gültiges JSON zu senden! Zahlen mit Nachkommastellen (Float) müssen einen Punkt als Dezimaltrenner verwenden (internationales Format). ")]),_:1})])}const M=l(_,[["render",g],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/mqtt/device.vue"]]);export{M as default}; +import{_ as l,q as s,k as c,l as p,B as o,M as a,x as n,u as i,y as u}from"./vendor-493c2bec.js";import"./vendor-sortablejs-0b339223.js";const _={name:"DeviceMqtt",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0}},methods:{updateConfiguration(e,t=void 0){this.$emit("update:configuration",{value:e,object:t})}}},m={class:"device-mqtt"},f={class:"small"},b=i("br",null,null,-1);function g(e,t,v,h,w,k){const r=s("openwb-base-heading"),d=s("openwb-base-alert");return c(),p("div",m,[o(r,null,{default:a(()=>[n(" Einstellungen für MQTT "),i("span",f,"(Modul: "+u(e.$options.name)+")",1)]),_:1}),o(d,{subtype:"info"},{default:a(()=>[n(" Das MQTT Modul stellt keine aktive Verbindung her, sondern erwartet, dass die Daten an spezielle Topics im Broker gesendet werden."),b,n(" Alle Daten sind als gültiges JSON zu senden! Zahlen mit Nachkommastellen (Float) müssen einen Punkt als Dezimaltrenner verwenden (internationales Format). ")]),_:1})])}const M=l(_,[["render",g],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/mqtt/device.vue"]]);export{M as default}; diff --git a/web/settings/assets/device-76988bf6.js b/web/settings/assets/device-a32b33ec.js similarity index 93% rename from web/settings/assets/device-76988bf6.js rename to web/settings/assets/device-a32b33ec.js index f37a2066d8..51ebc8ac5a 100644 --- a/web/settings/assets/device-76988bf6.js +++ b/web/settings/assets/device-a32b33ec.js @@ -1 +1 @@ -import{_ as r,q as o,k as c,l,B as n,M as p,x as _,u as f,y as m}from"./vendor-f0f38b48.js";import"./vendor-sortablejs-cbf37f8f.js";const v={name:"DeviceYouless",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0}},methods:{updateConfiguration(t,e=void 0){this.$emit("update:configuration",{value:t,object:e})}}},b={class:"device-youless"},g={class:"small"};function h(t,e,s,x,w,a){const i=o("openwb-base-heading"),d=o("openwb-base-text-input");return c(),l("div",b,[n(i,null,{default:p(()=>[_(" Einstellungen für Youless "),f("span",g,"(Modul: "+m(t.$options.name)+")",1)]),_:1}),n(d,{title:"IP oder Hostname",subtype:"host",required:"","model-value":s.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=u=>a.updateConfiguration(u,"configuration.ip_address"))},null,8,["model-value"])])}const C=r(v,[["render",h],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/youless/device.vue"]]);export{C as default}; +import{_ as r,q as o,k as c,l,B as n,M as p,x as _,u as f,y as m}from"./vendor-493c2bec.js";import"./vendor-sortablejs-0b339223.js";const v={name:"DeviceYouless",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0}},methods:{updateConfiguration(t,e=void 0){this.$emit("update:configuration",{value:t,object:e})}}},b={class:"device-youless"},g={class:"small"};function h(t,e,s,x,w,a){const i=o("openwb-base-heading"),d=o("openwb-base-text-input");return c(),l("div",b,[n(i,null,{default:p(()=>[_(" Einstellungen für Youless "),f("span",g,"(Modul: "+m(t.$options.name)+")",1)]),_:1}),n(d,{title:"IP oder Hostname",subtype:"host",required:"","model-value":s.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=u=>a.updateConfiguration(u,"configuration.ip_address"))},null,8,["model-value"])])}const C=r(v,[["render",h],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/youless/device.vue"]]);export{C as default}; diff --git a/web/settings/assets/device-f32c8a87.js b/web/settings/assets/device-a8019215.js similarity index 91% rename from web/settings/assets/device-f32c8a87.js rename to web/settings/assets/device-a8019215.js index 76f74f2e44..1377ca3398 100644 --- a/web/settings/assets/device-f32c8a87.js +++ b/web/settings/assets/device-a8019215.js @@ -1 +1 @@ -import{_ as c,q as n,k as _,l as b,B as t,M as d,x as r,u as f,y as g}from"./vendor-f0f38b48.js";import"./vendor-sortablejs-cbf37f8f.js";const v={name:"DevicePowerdog",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},componentId:{required:!0}},methods:{updateConfiguration(a,e=void 0){this.$emit("update:configuration",{value:a,object:e})}}},w={class:"device-powerdog"},x={class:"small"};function C(a,e,i,q,V,u){const l=n("openwb-base-heading"),p=n("openwb-base-alert"),m=n("openwb-base-text-input"),s=n("openwb-base-number-input");return _(),b("div",w,[t(l,null,{default:d(()=>[r(" Einstellungen für Powerdog "),f("span",x,"(Modul: "+g(a.$options.name)+")",1)]),_:1}),t(p,{subtype:"info"},{default:d(()=>[r(" ModbusTCP muss aktiviert sein. ")]),_:1}),t(m,{title:"IP oder Hostname",subtype:"host",required:"","model-value":i.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=o=>u.updateConfiguration(o,"configuration.ip_address"))},null,8,["model-value"]),t(s,{title:"Port",required:"",min:1,max:65535,"model-value":i.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=o=>u.updateConfiguration(o,"configuration.port"))},null,8,["model-value"]),t(s,{title:"Modbus ID",required:"","model-value":i.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[2]||(e[2]=o=>u.updateConfiguration(o,"configuration.modbus_id"))},null,8,["model-value"])])}const P=c(v,[["render",C],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/powerdog/device.vue"]]);export{P as default}; +import{_ as c,q as n,k as _,l as b,B as t,M as d,x as r,u as f,y as g}from"./vendor-493c2bec.js";import"./vendor-sortablejs-0b339223.js";const v={name:"DevicePowerdog",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},componentId:{required:!0}},methods:{updateConfiguration(a,e=void 0){this.$emit("update:configuration",{value:a,object:e})}}},w={class:"device-powerdog"},x={class:"small"};function C(a,e,i,q,V,u){const l=n("openwb-base-heading"),p=n("openwb-base-alert"),m=n("openwb-base-text-input"),s=n("openwb-base-number-input");return _(),b("div",w,[t(l,null,{default:d(()=>[r(" Einstellungen für Powerdog "),f("span",x,"(Modul: "+g(a.$options.name)+")",1)]),_:1}),t(p,{subtype:"info"},{default:d(()=>[r(" ModbusTCP muss aktiviert sein. ")]),_:1}),t(m,{title:"IP oder Hostname",subtype:"host",required:"","model-value":i.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=o=>u.updateConfiguration(o,"configuration.ip_address"))},null,8,["model-value"]),t(s,{title:"Port",required:"",min:1,max:65535,"model-value":i.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=o=>u.updateConfiguration(o,"configuration.port"))},null,8,["model-value"]),t(s,{title:"Modbus ID",required:"","model-value":i.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[2]||(e[2]=o=>u.updateConfiguration(o,"configuration.modbus_id"))},null,8,["model-value"])])}const P=c(v,[["render",C],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/powerdog/device.vue"]]);export{P as default}; diff --git a/web/settings/assets/device-2212b92d.js b/web/settings/assets/device-ab760ea8.js similarity index 96% rename from web/settings/assets/device-2212b92d.js rename to web/settings/assets/device-ab760ea8.js index 596a43f7aa..f8c09337de 100644 --- a/web/settings/assets/device-2212b92d.js +++ b/web/settings/assets/device-ab760ea8.js @@ -1 +1 @@ -import{_,q as n,k as b,l as f,B as t,M as a,x as o,u,y as g}from"./vendor-f0f38b48.js";import"./vendor-sortablejs-cbf37f8f.js";const h={name:"DeviceSolarEdge",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0}},methods:{updateConfiguration(i,e=void 0){this.$emit("update:configuration",{value:i,object:e})}}},v={class:"device-solaredge"},w={class:"small"},B=u("br",null,null,-1);function S(i,e,s,k,x,d){const l=n("openwb-base-heading"),p=n("openwb-base-alert"),c=n("openwb-base-text-input"),m=n("openwb-base-number-input");return b(),f("div",v,[t(l,null,{default:a(()=>[o(" Einstellungen für SolarEdge "),u("span",w,"(Modul: "+g(i.$options.name)+")",1)]),_:1}),t(p,{subtype:"info"},{default:a(()=>[o(" ModbusTCP muss im Wechselrichter aktiviert werden und der Wechselrichter per LAN angebunden sein."),B,o(" SolarEdge lässt nur eine ModbusTCP-Verbindung zu. Wenn Sie mit einem weiteren Smarthome-System, wie z.B. ioBroker oder openHAB, den SolarEdge-Wechselrichter abfragen, kann dies die Abfrage durch die openWB stören oder verhindern. ")]),_:1}),t(c,{title:"IP oder Hostname",subtype:"host",required:"","model-value":s.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=r=>d.updateConfiguration(r,"configuration.ip_address"))},null,8,["model-value"]),t(m,{title:"Port",required:"",min:1,max:65535,"model-value":s.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=r=>d.updateConfiguration(r,"configuration.port"))},{help:a(()=>[o(" Je nach Produktionsdatum und Softwareversion ist 502 oder 1502 ab Werk eingestellt. Bitte im Wechselrichter überprüfen. ")]),_:1},8,["model-value"])])}const y=_(h,[["render",S],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/solaredge/device.vue"]]);export{y as default}; +import{_,q as n,k as b,l as f,B as t,M as a,x as o,u,y as g}from"./vendor-493c2bec.js";import"./vendor-sortablejs-0b339223.js";const h={name:"DeviceSolarEdge",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0}},methods:{updateConfiguration(i,e=void 0){this.$emit("update:configuration",{value:i,object:e})}}},v={class:"device-solaredge"},w={class:"small"},B=u("br",null,null,-1);function S(i,e,s,k,x,d){const l=n("openwb-base-heading"),p=n("openwb-base-alert"),c=n("openwb-base-text-input"),m=n("openwb-base-number-input");return b(),f("div",v,[t(l,null,{default:a(()=>[o(" Einstellungen für SolarEdge "),u("span",w,"(Modul: "+g(i.$options.name)+")",1)]),_:1}),t(p,{subtype:"info"},{default:a(()=>[o(" ModbusTCP muss im Wechselrichter aktiviert werden und der Wechselrichter per LAN angebunden sein."),B,o(" SolarEdge lässt nur eine ModbusTCP-Verbindung zu. Wenn Sie mit einem weiteren Smarthome-System, wie z.B. ioBroker oder openHAB, den SolarEdge-Wechselrichter abfragen, kann dies die Abfrage durch die openWB stören oder verhindern. ")]),_:1}),t(c,{title:"IP oder Hostname",subtype:"host",required:"","model-value":s.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=r=>d.updateConfiguration(r,"configuration.ip_address"))},null,8,["model-value"]),t(m,{title:"Port",required:"",min:1,max:65535,"model-value":s.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=r=>d.updateConfiguration(r,"configuration.port"))},{help:a(()=>[o(" Je nach Produktionsdatum und Softwareversion ist 502 oder 1502 ab Werk eingestellt. Bitte im Wechselrichter überprüfen. ")]),_:1},8,["model-value"])])}const y=_(h,[["render",S],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/solaredge/device.vue"]]);export{y as default}; diff --git a/web/settings/assets/device-3f08eba4.js b/web/settings/assets/device-acff522f.js similarity index 85% rename from web/settings/assets/device-3f08eba4.js rename to web/settings/assets/device-acff522f.js index 8b9138d662..b91db3f7b2 100644 --- a/web/settings/assets/device-3f08eba4.js +++ b/web/settings/assets/device-acff522f.js @@ -1 +1 @@ -import{_ as c,q as n,k as p,l as u,B as o,M as s,x as a,u as d,y as l}from"./vendor-f0f38b48.js";import"./vendor-sortablejs-cbf37f8f.js";const _={name:"DeviceVirtual",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},componentId:{required:!0}},methods:{updateConfiguration(e,t=void 0){this.$emit("update:configuration",{value:e,object:t})}}},f={class:"device-virtual"},m={class:"small"};function v(e,t,b,g,h,w){const i=n("openwb-base-heading"),r=n("openwb-base-alert");return p(),u("div",f,[o(i,null,{default:s(()=>[a(" Einstellungen für virtuelle Geräte "),d("span",m,"(Modul: "+l(e.$options.name)+")",1)]),_:1}),o(r,{subtype:"info"},{default:s(()=>[a(" Dieses Gerät erfordert keine Einstellungen. ")]),_:1})])}const B=c(_,[["render",v],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/virtual/device.vue"]]);export{B as default}; +import{_ as c,q as n,k as p,l as u,B as o,M as s,x as a,u as d,y as l}from"./vendor-493c2bec.js";import"./vendor-sortablejs-0b339223.js";const _={name:"DeviceVirtual",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},componentId:{required:!0}},methods:{updateConfiguration(e,t=void 0){this.$emit("update:configuration",{value:e,object:t})}}},f={class:"device-virtual"},m={class:"small"};function v(e,t,b,g,h,w){const i=n("openwb-base-heading"),r=n("openwb-base-alert");return p(),u("div",f,[o(i,null,{default:s(()=>[a(" Einstellungen für virtuelle Geräte "),d("span",m,"(Modul: "+l(e.$options.name)+")",1)]),_:1}),o(r,{subtype:"info"},{default:s(()=>[a(" Dieses Gerät erfordert keine Einstellungen. ")]),_:1})])}const B=c(_,[["render",v],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/virtual/device.vue"]]);export{B as default}; diff --git a/web/settings/assets/device-b80c9dca.js b/web/settings/assets/device-b944ac41.js similarity index 93% rename from web/settings/assets/device-b80c9dca.js rename to web/settings/assets/device-b944ac41.js index 53b27241df..640fed9511 100644 --- a/web/settings/assets/device-b80c9dca.js +++ b/web/settings/assets/device-b944ac41.js @@ -1 +1 @@ -import{_ as r,q as o,k as u,l,B as n,M as p,x as _,u as f,y as m}from"./vendor-f0f38b48.js";import"./vendor-sortablejs-cbf37f8f.js";const v={name:"DeviceKostalSteca",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0}},methods:{updateConfiguration(t,e=void 0){this.$emit("update:configuration",{value:t,object:e})}}},b={class:"device-kostal-steca"},g={class:"small"};function h(t,e,a,x,k,s){const i=o("openwb-base-heading"),d=o("openwb-base-text-input");return u(),l("div",b,[n(i,null,{default:p(()=>[_(" Einstellungen für Kostal Piko MP oder Steca Grid Coolcept "),f("span",g,"(Modul: "+m(t.$options.name)+")",1)]),_:1}),n(d,{title:"IP oder Hostname",subtype:"host",required:"","model-value":a.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=c=>s.updateConfiguration(c,"configuration.ip_address"))},null,8,["model-value"])])}const C=r(v,[["render",h],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/kostal_steca/device.vue"]]);export{C as default}; +import{_ as r,q as o,k as u,l,B as n,M as p,x as _,u as f,y as m}from"./vendor-493c2bec.js";import"./vendor-sortablejs-0b339223.js";const v={name:"DeviceKostalSteca",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0}},methods:{updateConfiguration(t,e=void 0){this.$emit("update:configuration",{value:t,object:e})}}},b={class:"device-kostal-steca"},g={class:"small"};function h(t,e,a,x,k,s){const i=o("openwb-base-heading"),d=o("openwb-base-text-input");return u(),l("div",b,[n(i,null,{default:p(()=>[_(" Einstellungen für Kostal Piko MP oder Steca Grid Coolcept "),f("span",g,"(Modul: "+m(t.$options.name)+")",1)]),_:1}),n(d,{title:"IP oder Hostname",subtype:"host",required:"","model-value":a.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=c=>s.updateConfiguration(c,"configuration.ip_address"))},null,8,["model-value"])])}const C=r(v,[["render",h],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/kostal_steca/device.vue"]]);export{C as default}; diff --git a/web/settings/assets/device-146e5f9d.js b/web/settings/assets/device-bbc284d1.js similarity index 91% rename from web/settings/assets/device-146e5f9d.js rename to web/settings/assets/device-bbc284d1.js index e0d0fbd164..7b81f47c7a 100644 --- a/web/settings/assets/device-146e5f9d.js +++ b/web/settings/assets/device-bbc284d1.js @@ -1 +1 @@ -import{_ as l,q as s,k as p,l as m,B as t,M as c,x as _,u as f,y as b}from"./vendor-f0f38b48.js";import"./vendor-sortablejs-cbf37f8f.js";const g={name:"DeviceKostalSEM",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0}},methods:{updateConfiguration(n,e=void 0){this.$emit("update:configuration",{value:n,object:e})}}},v={class:"device-kostal-sem"},x={class:"small"};function w(n,e,a,C,M,i){const d=s("openwb-base-heading"),r=s("openwb-base-text-input"),u=s("openwb-base-number-input");return p(),m("div",v,[t(d,null,{default:c(()=>[_(" Einstellungen für Kostal Smart Energy Meter oder TQ EM 410 "),f("span",x,"(Modul: "+b(n.$options.name)+")",1)]),_:1}),t(r,{title:"IP oder Hostname",subtype:"host",required:"","model-value":a.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=o=>i.updateConfiguration(o,"configuration.ip_address"))},null,8,["model-value"]),t(u,{title:"Port",required:"",min:1,max:65535,"model-value":a.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=o=>i.updateConfiguration(o,"configuration.port"))},null,8,["model-value"]),t(u,{title:"Modbus ID",required:"","model-value":a.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[2]||(e[2]=o=>i.updateConfiguration(o,"configuration.modbus_id"))},null,8,["model-value"])])}const q=l(g,[["render",w],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/kostal_sem/device.vue"]]);export{q as default}; +import{_ as l,q as s,k as p,l as m,B as t,M as c,x as _,u as f,y as b}from"./vendor-493c2bec.js";import"./vendor-sortablejs-0b339223.js";const g={name:"DeviceKostalSEM",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0}},methods:{updateConfiguration(n,e=void 0){this.$emit("update:configuration",{value:n,object:e})}}},v={class:"device-kostal-sem"},x={class:"small"};function w(n,e,a,C,M,i){const d=s("openwb-base-heading"),r=s("openwb-base-text-input"),u=s("openwb-base-number-input");return p(),m("div",v,[t(d,null,{default:c(()=>[_(" Einstellungen für Kostal Smart Energy Meter oder TQ EM 410 "),f("span",x,"(Modul: "+b(n.$options.name)+")",1)]),_:1}),t(r,{title:"IP oder Hostname",subtype:"host",required:"","model-value":a.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=o=>i.updateConfiguration(o,"configuration.ip_address"))},null,8,["model-value"]),t(u,{title:"Port",required:"",min:1,max:65535,"model-value":a.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=o=>i.updateConfiguration(o,"configuration.port"))},null,8,["model-value"]),t(u,{title:"Modbus ID",required:"","model-value":a.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[2]||(e[2]=o=>i.updateConfiguration(o,"configuration.modbus_id"))},null,8,["model-value"])])}const q=l(g,[["render",w],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/kostal_sem/device.vue"]]);export{q as default}; diff --git a/web/settings/assets/device-46a3ff2e.js b/web/settings/assets/device-bd5bcc9e.js similarity index 89% rename from web/settings/assets/device-46a3ff2e.js rename to web/settings/assets/device-bd5bcc9e.js index e8e0be0e44..79fe92bfc7 100644 --- a/web/settings/assets/device-46a3ff2e.js +++ b/web/settings/assets/device-bd5bcc9e.js @@ -1 +1 @@ -import{_ as d,q as u,k as l,l as p,B as n,M as c,x as f,u as m,y as _}from"./vendor-f0f38b48.js";import"./vendor-sortablejs-cbf37f8f.js";const g={name:"DevicePowerfox",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0}},methods:{updateConfiguration(o,e=void 0){this.$emit("update:configuration",{value:o,object:e})}}},v={class:"device-powerfox"},w={class:"small"};function b(o,e,a,x,B,s){const r=u("openwb-base-heading"),i=u("openwb-base-text-input");return l(),p("div",v,[n(r,null,{default:c(()=>[f(" Einstellungen für Powerfox "),m("span",w,"(Modul: "+_(o.$options.name)+")",1)]),_:1}),n(i,{title:"Benutzername",subtype:"user",required:"","model-value":a.configuration.user,"onUpdate:modelValue":e[0]||(e[0]=t=>s.updateConfiguration(t,"configuration.user"))},null,8,["model-value"]),n(i,{title:"Passwort",subtype:"password",required:"","model-value":a.configuration.password,"onUpdate:modelValue":e[1]||(e[1]=t=>s.updateConfiguration(t,"configuration.password"))},null,8,["model-value"])])}const V=d(g,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/powerfox/device.vue"]]);export{V as default}; +import{_ as d,q as u,k as l,l as p,B as n,M as c,x as f,u as m,y as _}from"./vendor-493c2bec.js";import"./vendor-sortablejs-0b339223.js";const g={name:"DevicePowerfox",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0}},methods:{updateConfiguration(o,e=void 0){this.$emit("update:configuration",{value:o,object:e})}}},v={class:"device-powerfox"},w={class:"small"};function b(o,e,a,x,B,s){const r=u("openwb-base-heading"),i=u("openwb-base-text-input");return l(),p("div",v,[n(r,null,{default:c(()=>[f(" Einstellungen für Powerfox "),m("span",w,"(Modul: "+_(o.$options.name)+")",1)]),_:1}),n(i,{title:"Benutzername",subtype:"user",required:"","model-value":a.configuration.user,"onUpdate:modelValue":e[0]||(e[0]=t=>s.updateConfiguration(t,"configuration.user"))},null,8,["model-value"]),n(i,{title:"Passwort",subtype:"password",required:"","model-value":a.configuration.password,"onUpdate:modelValue":e[1]||(e[1]=t=>s.updateConfiguration(t,"configuration.password"))},null,8,["model-value"])])}const V=d(g,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/powerfox/device.vue"]]);export{V as default}; diff --git a/web/settings/assets/device-c5f12afe.js b/web/settings/assets/device-bd76247b.js similarity index 87% rename from web/settings/assets/device-c5f12afe.js rename to web/settings/assets/device-bd76247b.js index 55573a3cd8..9f55aebdde 100644 --- a/web/settings/assets/device-c5f12afe.js +++ b/web/settings/assets/device-bd76247b.js @@ -1 +1 @@ -import{_ as u,q as o,k as c,l as p,B as n,M as l,x as _,u as f,y as m}from"./vendor-f0f38b48.js";import"./vendor-sortablejs-cbf37f8f.js";const v={name:"DeviceSmartfox",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0}},methods:{updateConfiguration(t,e=void 0){this.$emit("update:configuration",{value:t,object:e})}}},b={class:"device-smartfox"},g={class:"small"};function x(t,e,a,h,w,s){const i=o("openwb-base-heading"),d=o("openwb-base-text-input");return c(),p("div",b,[n(i,null,{default:l(()=>[_(" Einstellungen für Smartfox "),f("span",g,"(Modul: "+m(t.$options.name)+")",1)]),_:1}),n(d,{title:"IP oder Hostname",subtype:"host",required:"","model-value":a.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=r=>s.updateConfiguration(r,"configuration.ip_address"))},null,8,["model-value"])])}const C=u(v,[["render",x],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/smartfox/device.vue"]]);export{C as default}; +import{_ as u,q as o,k as c,l as p,B as n,M as l,x as _,u as f,y as m}from"./vendor-493c2bec.js";import"./vendor-sortablejs-0b339223.js";const v={name:"DeviceSmartfox",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0}},methods:{updateConfiguration(t,e=void 0){this.$emit("update:configuration",{value:t,object:e})}}},b={class:"device-smartfox"},g={class:"small"};function x(t,e,a,h,w,s){const i=o("openwb-base-heading"),d=o("openwb-base-text-input");return c(),p("div",b,[n(i,null,{default:l(()=>[_(" Einstellungen für Smartfox "),f("span",g,"(Modul: "+m(t.$options.name)+")",1)]),_:1}),n(d,{title:"IP oder Hostname",subtype:"host",required:"","model-value":a.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=r=>s.updateConfiguration(r,"configuration.ip_address"))},null,8,["model-value"])])}const C=u(v,[["render",x],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/smartfox/device.vue"]]);export{C as default}; diff --git a/web/settings/assets/device-ed3f1885.js b/web/settings/assets/device-bde8fd58.js similarity index 89% rename from web/settings/assets/device-ed3f1885.js rename to web/settings/assets/device-bde8fd58.js index c9f795c829..ac22d1317b 100644 --- a/web/settings/assets/device-ed3f1885.js +++ b/web/settings/assets/device-bde8fd58.js @@ -1 +1 @@ -import{_ as p,q as n,k as _,l as f,B as o,M as s,x as a,u as m,y as b}from"./vendor-f0f38b48.js";import"./vendor-sortablejs-cbf37f8f.js";const h={name:"DeviceKostalPiko",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0}},methods:{updateConfiguration(t,e=void 0){this.$emit("update:configuration",{value:t,object:e})}}},g={class:"device-kostalpiko"},v={class:"small"};function k(t,e,i,w,x,r){const d=n("openwb-base-heading"),u=n("openwb-base-alert"),c=n("openwb-base-text-input");return _(),f("div",g,[o(d,null,{default:s(()=>[a(" Einstellungen für Kostal Piko "),m("span",v,"(Modul: "+b(t.$options.name)+")",1)]),_:1}),o(u,{subtype:"info"},{default:s(()=>[a(" Der Wechselrichter liefert Werte nur, solange er auch PV-Leistung liefert. Nachts geht er in den Standby. Die Hausanschlussüberwachung ist nur aktiv, wenn der Wechselrichter auch aktiv ist. ")]),_:1}),o(c,{title:"IP oder Hostname",subtype:"host",required:"","model-value":i.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=l=>r.updateConfiguration(l,"configuration.ip_address"))},null,8,["model-value"])])}const V=p(h,[["render",k],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/kostal_piko/device.vue"]]);export{V as default}; +import{_ as p,q as n,k as _,l as f,B as o,M as s,x as a,u as m,y as b}from"./vendor-493c2bec.js";import"./vendor-sortablejs-0b339223.js";const h={name:"DeviceKostalPiko",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0}},methods:{updateConfiguration(t,e=void 0){this.$emit("update:configuration",{value:t,object:e})}}},g={class:"device-kostalpiko"},v={class:"small"};function k(t,e,i,w,x,r){const d=n("openwb-base-heading"),u=n("openwb-base-alert"),c=n("openwb-base-text-input");return _(),f("div",g,[o(d,null,{default:s(()=>[a(" Einstellungen für Kostal Piko "),m("span",v,"(Modul: "+b(t.$options.name)+")",1)]),_:1}),o(u,{subtype:"info"},{default:s(()=>[a(" Der Wechselrichter liefert Werte nur, solange er auch PV-Leistung liefert. Nachts geht er in den Standby. Die Hausanschlussüberwachung ist nur aktiv, wenn der Wechselrichter auch aktiv ist. ")]),_:1}),o(c,{title:"IP oder Hostname",subtype:"host",required:"","model-value":i.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=l=>r.updateConfiguration(l,"configuration.ip_address"))},null,8,["model-value"])])}const V=p(h,[["render",k],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/kostal_piko/device.vue"]]);export{V as default}; diff --git a/web/settings/assets/device-2ea31ec7.js b/web/settings/assets/device-c7e9106f.js similarity index 92% rename from web/settings/assets/device-2ea31ec7.js rename to web/settings/assets/device-c7e9106f.js index b51e39c1a5..314024f83b 100644 --- a/web/settings/assets/device-2ea31ec7.js +++ b/web/settings/assets/device-c7e9106f.js @@ -1 +1 @@ -import{_ as c,q as u,k as _,l as b,B as t,M as d,x as r,u as l,y as f}from"./vendor-f0f38b48.js";import"./vendor-sortablejs-cbf37f8f.js";const g={name:"DeviceHuawei",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},componentId:{required:!0}},methods:{updateConfiguration(o,e=void 0){this.$emit("update:configuration",{value:o,object:e})}}},v={class:"device-huawei"},w={class:"small"},h=l("br",null,null,-1);function x(o,e,i,D,V,a){const m=u("openwb-base-heading"),p=u("openwb-base-text-input"),s=u("openwb-base-number-input");return _(),b("div",v,[t(m,null,{default:d(()=>[r(" Einstellungen für Huawei "),l("span",w,"(Modul: "+f(o.$options.name)+")",1)]),_:1}),t(p,{title:"IP oder Hostname",subtype:"host",required:"","model-value":i.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=n=>a.updateConfiguration(n,"configuration.ip_address"))},null,8,["model-value"]),t(s,{title:"Port",required:"",min:1,max:65535,"model-value":i.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=n=>a.updateConfiguration(n,"configuration.port"))},null,8,["model-value"]),t(s,{title:"Modbus ID",required:"","model-value":i.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[2]||(e[2]=n=>a.updateConfiguration(n,"configuration.modbus_id"))},{help:d(()=>[r(' Sind mehrere Huawei Wechselrichter als "Schwarm" verbunden, dann besitzt der Master vermutlich die ID "16". Über diese ID werden dann alle Daten in Summe zur Verfügung gestellt.'),h,r(" Die IDs 1 bis 15 sind für einzelne Wechselrichter reserviert. ")]),_:1},8,["model-value"])])}const I=c(g,[["render",x],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/huawei/device.vue"]]);export{I as default}; +import{_ as c,q as u,k as _,l as b,B as t,M as d,x as r,u as l,y as f}from"./vendor-493c2bec.js";import"./vendor-sortablejs-0b339223.js";const g={name:"DeviceHuawei",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},componentId:{required:!0}},methods:{updateConfiguration(o,e=void 0){this.$emit("update:configuration",{value:o,object:e})}}},v={class:"device-huawei"},w={class:"small"},h=l("br",null,null,-1);function x(o,e,i,D,V,a){const m=u("openwb-base-heading"),p=u("openwb-base-text-input"),s=u("openwb-base-number-input");return _(),b("div",v,[t(m,null,{default:d(()=>[r(" Einstellungen für Huawei "),l("span",w,"(Modul: "+f(o.$options.name)+")",1)]),_:1}),t(p,{title:"IP oder Hostname",subtype:"host",required:"","model-value":i.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=n=>a.updateConfiguration(n,"configuration.ip_address"))},null,8,["model-value"]),t(s,{title:"Port",required:"",min:1,max:65535,"model-value":i.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=n=>a.updateConfiguration(n,"configuration.port"))},null,8,["model-value"]),t(s,{title:"Modbus ID",required:"","model-value":i.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[2]||(e[2]=n=>a.updateConfiguration(n,"configuration.modbus_id"))},{help:d(()=>[r(' Sind mehrere Huawei Wechselrichter als "Schwarm" verbunden, dann besitzt der Master vermutlich die ID "16". Über diese ID werden dann alle Daten in Summe zur Verfügung gestellt.'),h,r(" Die IDs 1 bis 15 sind für einzelne Wechselrichter reserviert. ")]),_:1},8,["model-value"])])}const I=c(g,[["render",x],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/huawei/device.vue"]]);export{I as default}; diff --git a/web/settings/assets/device-e48fc6eb.js b/web/settings/assets/device-c84b158a.js similarity index 87% rename from web/settings/assets/device-e48fc6eb.js rename to web/settings/assets/device-c84b158a.js index 3d80f4464b..c9a0d1996a 100644 --- a/web/settings/assets/device-e48fc6eb.js +++ b/web/settings/assets/device-c84b158a.js @@ -1 +1 @@ -import{_ as u,q as o,k as c,l as p,B as n,M as l,x as _,u as f,y as m}from"./vendor-f0f38b48.js";import"./vendor-sortablejs-cbf37f8f.js";const b={name:"DeviceBatterX",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0}},methods:{updateConfiguration(t,e=void 0){this.$emit("update:configuration",{value:t,object:e})}}},v={class:"device-batterx"},g={class:"small"};function x(t,e,a,h,B,s){const i=o("openwb-base-heading"),d=o("openwb-base-text-input");return c(),p("div",v,[n(i,null,{default:l(()=>[_(" Einstellungen für BatterX "),f("span",g,"(Modul: "+m(t.$options.name)+")",1)]),_:1}),n(d,{title:"IP oder Hostname",subtype:"host",required:"","model-value":a.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=r=>s.updateConfiguration(r,"configuration.ip_address"))},null,8,["model-value"])])}const C=u(b,[["render",x],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/batterx/device.vue"]]);export{C as default}; +import{_ as u,q as o,k as c,l as p,B as n,M as l,x as _,u as f,y as m}from"./vendor-493c2bec.js";import"./vendor-sortablejs-0b339223.js";const b={name:"DeviceBatterX",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0}},methods:{updateConfiguration(t,e=void 0){this.$emit("update:configuration",{value:t,object:e})}}},v={class:"device-batterx"},g={class:"small"};function x(t,e,a,h,B,s){const i=o("openwb-base-heading"),d=o("openwb-base-text-input");return c(),p("div",v,[n(i,null,{default:l(()=>[_(" Einstellungen für BatterX "),f("span",g,"(Modul: "+m(t.$options.name)+")",1)]),_:1}),n(d,{title:"IP oder Hostname",subtype:"host",required:"","model-value":a.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=r=>s.updateConfiguration(r,"configuration.ip_address"))},null,8,["model-value"])])}const C=u(b,[["render",x],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/batterx/device.vue"]]);export{C as default}; diff --git a/web/settings/assets/device-94e477af.js b/web/settings/assets/device-c8a7a00c.js similarity index 89% rename from web/settings/assets/device-94e477af.js rename to web/settings/assets/device-c8a7a00c.js index d0537dcf98..0a389afe67 100644 --- a/web/settings/assets/device-94e477af.js +++ b/web/settings/assets/device-c8a7a00c.js @@ -1 +1 @@ -import{_ as c,q as o,k as _,l as m,B as i,M as r,x as n,u as a,y as f}from"./vendor-f0f38b48.js";import"./vendor-sortablejs-cbf37f8f.js";const g={name:"DeviceHttp",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},componentId:{required:!0}},methods:{updateConfiguration(t,e=void 0){this.$emit("update:configuration",{value:t,object:e})}}},b={class:"device-http"},v={class:"small"},h=a("br",null,null,-1);function w(t,e,s,x,B,d){const u=o("openwb-base-heading"),p=o("openwb-base-text-input");return _(),m("div",b,[i(u,null,{default:r(()=>[n(" Einstellungen für Http "),a("span",v,"(Modul: "+f(t.$options.name)+")",1)]),_:1}),i(p,{title:"Server-URL",subtype:"url",required:"","model-value":s.configuration.url,"onUpdate:modelValue":e[0]||(e[0]=l=>d.updateConfiguration(l,"configuration.url"))},{help:r(()=>[n(" Hier sind die Verbindungsangaben für den Http-Server einzutragen. Der Pfad für die einzelnen Daten wird in der Komponente hinterlegt."),h,n(" Beispiel: http://mein.server:8080 ")]),_:1},8,["model-value"])])}const y=c(g,[["render",w],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/http/device.vue"]]);export{y as default}; +import{_ as c,q as o,k as _,l as m,B as i,M as r,x as n,u as a,y as f}from"./vendor-493c2bec.js";import"./vendor-sortablejs-0b339223.js";const g={name:"DeviceHttp",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},componentId:{required:!0}},methods:{updateConfiguration(t,e=void 0){this.$emit("update:configuration",{value:t,object:e})}}},b={class:"device-http"},v={class:"small"},h=a("br",null,null,-1);function w(t,e,s,x,B,d){const u=o("openwb-base-heading"),p=o("openwb-base-text-input");return _(),m("div",b,[i(u,null,{default:r(()=>[n(" Einstellungen für Http "),a("span",v,"(Modul: "+f(t.$options.name)+")",1)]),_:1}),i(p,{title:"Server-URL",subtype:"url",required:"","model-value":s.configuration.url,"onUpdate:modelValue":e[0]||(e[0]=l=>d.updateConfiguration(l,"configuration.url"))},{help:r(()=>[n(" Hier sind die Verbindungsangaben für den Http-Server einzutragen. Der Pfad für die einzelnen Daten wird in der Komponente hinterlegt."),h,n(" Beispiel: http://mein.server:8080 ")]),_:1},8,["model-value"])])}const y=c(g,[["render",w],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/http/device.vue"]]);export{y as default}; diff --git a/web/settings/assets/device-89ec12b4.js b/web/settings/assets/device-cc5d74c4.js similarity index 92% rename from web/settings/assets/device-89ec12b4.js rename to web/settings/assets/device-cc5d74c4.js index 2d9d88a1e3..ea829b1b54 100644 --- a/web/settings/assets/device-89ec12b4.js +++ b/web/settings/assets/device-cc5d74c4.js @@ -1 +1 @@ -import{_ as c,q as n,k as r,l as d,B as o,M as s,x as a,u,y as _}from"./vendor-f0f38b48.js";import"./vendor-sortablejs-cbf37f8f.js";const l={name:"DeviceOpenwbPvKit",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0}},methods:{updateConfiguration(e,t=void 0){this.$emit("update:configuration",{value:e,object:t})}}},f={class:"device-openwb-pvkit"},b={class:"small"};function m(e,t,v,g,w,h){const i=n("openwb-base-heading"),p=n("openwb-base-alert");return r(),d("div",f,[o(i,null,{default:s(()=>[a(" Einstellungen für openWB PV-Kit "),u("span",b,"(Modul: "+_(e.$options.name)+")",1)]),_:1}),o(p,{subtype:"info"},{default:s(()=>[a(" Dieses Gerät erfordert keine Einstellungen. ")]),_:1})])}const $=c(l,[["render",m],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/openwb_pv_kit/device.vue"]]);export{$ as default}; +import{_ as c,q as n,k as r,l as d,B as o,M as s,x as a,u,y as _}from"./vendor-493c2bec.js";import"./vendor-sortablejs-0b339223.js";const l={name:"DeviceOpenwbPvKit",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0}},methods:{updateConfiguration(e,t=void 0){this.$emit("update:configuration",{value:e,object:t})}}},f={class:"device-openwb-pvkit"},b={class:"small"};function m(e,t,v,g,w,h){const i=n("openwb-base-heading"),p=n("openwb-base-alert");return r(),d("div",f,[o(i,null,{default:s(()=>[a(" Einstellungen für openWB PV-Kit "),u("span",b,"(Modul: "+_(e.$options.name)+")",1)]),_:1}),o(p,{subtype:"info"},{default:s(()=>[a(" Dieses Gerät erfordert keine Einstellungen. ")]),_:1})])}const $=c(l,[["render",m],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/openwb_pv_kit/device.vue"]]);export{$ as default}; diff --git a/web/settings/assets/device-d8e5b4d3.js b/web/settings/assets/device-d146daed.js similarity index 91% rename from web/settings/assets/device-d8e5b4d3.js rename to web/settings/assets/device-d146daed.js index 2fecb32758..01ef9d2ad5 100644 --- a/web/settings/assets/device-d8e5b4d3.js +++ b/web/settings/assets/device-d146daed.js @@ -1 +1 @@ -import{_ as l,q as u,k as p,l as m,B as n,M as c,x as f,u as _,y as b}from"./vendor-f0f38b48.js";import"./vendor-sortablejs-cbf37f8f.js";const g={name:"DeviceSofar",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0}},methods:{updateConfiguration(t,e=void 0){this.$emit("update:configuration",{value:t,object:e})}}},v={class:"device-azzurro_sofar"},x={class:"small"};function w(t,e,a,C,V,i){const s=u("openwb-base-heading"),r=u("openwb-base-text-input"),d=u("openwb-base-number-input");return p(),m("div",v,[n(s,null,{default:c(()=>[f(" Einstellungen für Sofar "),_("span",x,"(Modul: "+b(t.$options.name)+")",1)]),_:1}),n(r,{title:"IP oder Hostname",subtype:"host",required:"","model-value":a.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=o=>i.updateConfiguration(o,"configuration.ip_address"))},null,8,["model-value"]),n(d,{title:"Port",required:"",min:1,max:65535,"model-value":a.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=o=>i.updateConfiguration(o,"configuration.port"))},null,8,["model-value"]),n(d,{title:"Modbus ID",required:"","model-value":a.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[2]||(e[2]=o=>i.updateConfiguration(o,"configuration.modbus_id"))},null,8,["model-value"])])}const y=l(g,[["render",w],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/azzurro_sofar/device.vue"]]);export{y as default}; +import{_ as l,q as u,k as p,l as m,B as n,M as c,x as f,u as _,y as b}from"./vendor-493c2bec.js";import"./vendor-sortablejs-0b339223.js";const g={name:"DeviceSofar",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0}},methods:{updateConfiguration(t,e=void 0){this.$emit("update:configuration",{value:t,object:e})}}},v={class:"device-azzurro_sofar"},x={class:"small"};function w(t,e,a,C,V,i){const s=u("openwb-base-heading"),r=u("openwb-base-text-input"),d=u("openwb-base-number-input");return p(),m("div",v,[n(s,null,{default:c(()=>[f(" Einstellungen für Sofar "),_("span",x,"(Modul: "+b(t.$options.name)+")",1)]),_:1}),n(r,{title:"IP oder Hostname",subtype:"host",required:"","model-value":a.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=o=>i.updateConfiguration(o,"configuration.ip_address"))},null,8,["model-value"]),n(d,{title:"Port",required:"",min:1,max:65535,"model-value":a.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=o=>i.updateConfiguration(o,"configuration.port"))},null,8,["model-value"]),n(d,{title:"Modbus ID",required:"","model-value":a.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[2]||(e[2]=o=>i.updateConfiguration(o,"configuration.modbus_id"))},null,8,["model-value"])])}const y=l(g,[["render",w],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/azzurro_sofar/device.vue"]]);export{y as default}; diff --git a/web/settings/assets/device-4ee21df6.js b/web/settings/assets/device-d1ec8285.js similarity index 87% rename from web/settings/assets/device-4ee21df6.js rename to web/settings/assets/device-d1ec8285.js index e52435ec0d..d660445583 100644 --- a/web/settings/assets/device-4ee21df6.js +++ b/web/settings/assets/device-d1ec8285.js @@ -1 +1 @@ -import{_ as l,q as t,k as u,l as c,B as n,M as p,x as _,u as f,y as m}from"./vendor-f0f38b48.js";import"./vendor-sortablejs-cbf37f8f.js";const v={name:"DeviceSolarWorld",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0}},methods:{updateConfiguration(o,e=void 0){this.$emit("update:configuration",{value:o,object:e})}}},b={class:"device-solar_world"},g={class:"small"};function w(o,e,a,h,x,s){const i=t("openwb-base-heading"),d=t("openwb-base-text-input");return u(),c("div",b,[n(i,null,{default:p(()=>[_(" Einstellungen für SolarWorld "),f("span",g,"(Modul: "+m(o.$options.name)+")",1)]),_:1}),n(d,{title:"IP oder Hostname",subtype:"host",required:"","model-value":a.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=r=>s.updateConfiguration(r,"configuration.ip_address"))},null,8,["model-value"])])}const C=l(v,[["render",w],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/solar_world/device.vue"]]);export{C as default}; +import{_ as l,q as t,k as u,l as c,B as n,M as p,x as _,u as f,y as m}from"./vendor-493c2bec.js";import"./vendor-sortablejs-0b339223.js";const v={name:"DeviceSolarWorld",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0}},methods:{updateConfiguration(o,e=void 0){this.$emit("update:configuration",{value:o,object:e})}}},b={class:"device-solar_world"},g={class:"small"};function w(o,e,a,h,x,s){const i=t("openwb-base-heading"),d=t("openwb-base-text-input");return u(),c("div",b,[n(i,null,{default:p(()=>[_(" Einstellungen für SolarWorld "),f("span",g,"(Modul: "+m(o.$options.name)+")",1)]),_:1}),n(d,{title:"IP oder Hostname",subtype:"host",required:"","model-value":a.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=r=>s.updateConfiguration(r,"configuration.ip_address"))},null,8,["model-value"])])}const C=l(v,[["render",w],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/solar_world/device.vue"]]);export{C as default}; diff --git a/web/settings/assets/device-ba3ffbd6.js b/web/settings/assets/device-d7f34f6e.js similarity index 86% rename from web/settings/assets/device-ba3ffbd6.js rename to web/settings/assets/device-d7f34f6e.js index 6f9c173292..b35efd47e3 100644 --- a/web/settings/assets/device-ba3ffbd6.js +++ b/web/settings/assets/device-d7f34f6e.js @@ -1 +1 @@ -import{_ as p,q as n,k as r,l as c,B as o,M as l,x as _,u as f,y as m}from"./vendor-f0f38b48.js";import"./vendor-sortablejs-cbf37f8f.js";const v={name:"DeviceOpenDTU",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0}},methods:{updateConfiguration(t,e=void 0){this.$emit("update:configuration",{value:t,object:e})}}},b={class:"device-opendtu"},g={class:"small"};function h(t,e,a,x,w,s){const i=n("openwb-base-heading"),d=n("openwb-base-text-input");return r(),c("div",b,[o(i,null,{default:l(()=>[_(" Einstellungen für OpenDTU "),f("span",g,"(Modul: "+m(t.$options.name)+")",1)]),_:1}),o(d,{title:"IP oder Hostname",subtype:"host",required:"","model-value":a.configuration.url,"onUpdate:modelValue":e[0]||(e[0]=u=>s.updateConfiguration(u,"configuration.url"))},null,8,["model-value"])])}const C=p(v,[["render",h],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/opendtu/device.vue"]]);export{C as default}; +import{_ as p,q as n,k as r,l as c,B as o,M as l,x as _,u as f,y as m}from"./vendor-493c2bec.js";import"./vendor-sortablejs-0b339223.js";const v={name:"DeviceOpenDTU",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0}},methods:{updateConfiguration(t,e=void 0){this.$emit("update:configuration",{value:t,object:e})}}},b={class:"device-opendtu"},g={class:"small"};function h(t,e,a,x,w,s){const i=n("openwb-base-heading"),d=n("openwb-base-text-input");return r(),c("div",b,[o(i,null,{default:l(()=>[_(" Einstellungen für OpenDTU "),f("span",g,"(Modul: "+m(t.$options.name)+")",1)]),_:1}),o(d,{title:"IP oder Hostname",subtype:"host",required:"","model-value":a.configuration.url,"onUpdate:modelValue":e[0]||(e[0]=u=>s.updateConfiguration(u,"configuration.url"))},null,8,["model-value"])])}const C=p(v,[["render",h],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/opendtu/device.vue"]]);export{C as default}; diff --git a/web/settings/assets/device-a0c2d57b.js b/web/settings/assets/device-e3af0f3b.js similarity index 91% rename from web/settings/assets/device-a0c2d57b.js rename to web/settings/assets/device-e3af0f3b.js index 0885c0d105..faa2757320 100644 --- a/web/settings/assets/device-a0c2d57b.js +++ b/web/settings/assets/device-e3af0f3b.js @@ -1 +1 @@ -import{_ as m,q as t,k as _,l as f,B as o,M as i,x as s,u as r,y as b}from"./vendor-f0f38b48.js";import"./vendor-sortablejs-cbf37f8f.js";const g={name:"DeviceFronius",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},componentId:{required:!0}},methods:{updateConfiguration(n,e=void 0){this.$emit("update:configuration",{value:n,object:e})}}},h={class:"device-fronius"},v={class:"small"},w=r("br",null,null,-1);function y(n,e,a,S,x,d){const u=t("openwb-base-heading"),l=t("openwb-base-alert"),c=t("openwb-base-text-input");return _(),f("div",h,[o(u,null,{default:i(()=>[s(" Einstellungen für Fronius "),r("span",v,"(Modul: "+b(n.$options.name)+")",1)]),_:1}),o(l,{subtype:"info"},{default:i(()=>[s(" Die Fronius API muss aktiviert sein."),w,s(" Sind nur Symos in Nutzung, welche über Fronius Solar Net / DATCOM miteinander verbunden sind, muss nur ein Gerät mit einer Komponente Wechselrichter angelegt werden. Sind aber z.B. Symo und Symo Hybrid im Einsatz, muss für jeden Wechselrichter ein Gerät mit einer Komponente Wechselrichter angelegt werden. Die Zähler-Komponente für das Smart-Meter wird in dem Gerät angelegt, dass den Wechselrichter enthält, an den das SmartMeter angeschlossen ist. ")]),_:1}),o(c,{title:"IP oder Hostname",subtype:"host",required:"","model-value":a.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=p=>d.updateConfiguration(p,"configuration.ip_address"))},null,8,["model-value"])])}const D=m(g,[["render",y],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/fronius/device.vue"]]);export{D as default}; +import{_ as m,q as t,k as _,l as f,B as o,M as i,x as s,u as r,y as b}from"./vendor-493c2bec.js";import"./vendor-sortablejs-0b339223.js";const g={name:"DeviceFronius",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},componentId:{required:!0}},methods:{updateConfiguration(n,e=void 0){this.$emit("update:configuration",{value:n,object:e})}}},h={class:"device-fronius"},v={class:"small"},w=r("br",null,null,-1);function y(n,e,a,S,x,d){const u=t("openwb-base-heading"),l=t("openwb-base-alert"),c=t("openwb-base-text-input");return _(),f("div",h,[o(u,null,{default:i(()=>[s(" Einstellungen für Fronius "),r("span",v,"(Modul: "+b(n.$options.name)+")",1)]),_:1}),o(l,{subtype:"info"},{default:i(()=>[s(" Die Fronius API muss aktiviert sein."),w,s(" Sind nur Symos in Nutzung, welche über Fronius Solar Net / DATCOM miteinander verbunden sind, muss nur ein Gerät mit einer Komponente Wechselrichter angelegt werden. Sind aber z.B. Symo und Symo Hybrid im Einsatz, muss für jeden Wechselrichter ein Gerät mit einer Komponente Wechselrichter angelegt werden. Die Zähler-Komponente für das Smart-Meter wird in dem Gerät angelegt, dass den Wechselrichter enthält, an den das SmartMeter angeschlossen ist. ")]),_:1}),o(c,{title:"IP oder Hostname",subtype:"host",required:"","model-value":a.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=p=>d.updateConfiguration(p,"configuration.ip_address"))},null,8,["model-value"])])}const D=m(g,[["render",y],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/fronius/device.vue"]]);export{D as default}; diff --git a/web/settings/assets/device-9e5b2984.js b/web/settings/assets/device-e4ce2635.js similarity index 95% rename from web/settings/assets/device-9e5b2984.js rename to web/settings/assets/device-e4ce2635.js index 3536a6bd87..9ee3c992eb 100644 --- a/web/settings/assets/device-9e5b2984.js +++ b/web/settings/assets/device-e4ce2635.js @@ -1 +1 @@ -import{_ as b,q as o,k as h,l as g,B as s,M as u,x as t,u as n,y as i}from"./vendor-f0f38b48.js";import"./vendor-sortablejs-cbf37f8f.js";const m={name:"DeviceSonnenbatterie",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},componentId:{required:!0}},computed:{linkRestApi1(){return"http://"+this.configuration.ip_address+":7979/rest/devices/battery"},linkRestApi2(){return"http://"+this.configuration.ip_address+":7979/rest/devices/battery/M05"},linkJsonApi1(){return"http://"+this.configuration.ip_address+"/api/v1/status"},linkJsonApi2(){return"http://"+this.configuration.ip_address+"/api/v2/status"}},methods:{updateConfiguration(a,r=void 0){this.$emit("update:configuration",{value:a,object:r})}}},v={class:"device-sonnenbatterie"},A={class:"small"},k={style:{display:"block"}},w=n("br",null,null,-1),B=["href"],I=n("br",null,null,-1),J=["href"],R=n("br",null,null,-1),x=["href"],P=n("br",null,null,-1),O=["href"];function S(a,r,d,y,C,e){const p=o("openwb-base-heading"),c=o("openwb-base-alert"),_=o("openwb-base-text-input"),f=o("openwb-base-select-input");return h(),g("div",v,[s(p,null,{default:u(()=>[t(" Einstellungen für SonnenBatterie "),n("span",A,"(Modul: "+i(a.$options.name)+")",1)]),_:1}),s(c,{subtype:"info"},{default:u(()=>[t(' Die Leistung steht nur in den Varianten "Rest-API 2" und "JSON-API" zur Verfügung. ')]),_:1}),s(_,{title:"IP oder Hostname",subtype:"host",required:"","model-value":d.configuration.ip_address,"onUpdate:modelValue":r[0]||(r[0]=l=>e.updateConfiguration(l,"configuration.ip_address"))},null,8,["model-value"]),s(f,{title:"Datenverbindung",required:"",notSelected:"Bitte auswählen",options:[{value:0,text:"Rest-API 1 (z.B. ECO 4)"},{value:2,text:"Rest-API 2 (z.B. ECO 6)"},{value:1,text:"JSON-API v1(z.B. ECO 8 oder 10)"},{value:3,text:"JSON-API v2(z.B. ECO 8 oder 10)"}],"model-value":d.configuration.variant,"onUpdate:modelValue":r[1]||(r[1]=l=>e.updateConfiguration(l,"configuration.variant"))},{help:u(()=>[n("span",k,[t(" Je nach Sonnen Batterie muss die richtige Datenverbindung ausgewählt werden. Folgende URLs werden zum Abruf der Daten genutzt und können auch manuell über einen Browser abgefragt werden, um die richtige Einstellung zu finden:"),w,t(" Rest-API 1: "),n("a",{href:e.linkRestApi1,target:"_blank",rel:"noopener noreferrer"},i(e.linkRestApi1),9,B),I,t(" Rest-API 2: "),n("a",{href:e.linkRestApi2,target:"_blank",rel:"noopener noreferrer"},i(e.linkRestApi2),9,J),R,t(" JSON-API v1: "),n("a",{href:e.linkJsonApi1,target:"_blank",rel:"noopener noreferrer"},i(e.linkJsonApi1),9,x),P,t(" JSON-API v2: "),n("a",{href:e.linkJsonApi2,target:"_blank",rel:"noopener noreferrer"},i(e.linkJsonApi2),9,O)])]),_:1},8,["options","model-value"])])}const E=b(m,[["render",S],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/sonnenbatterie/device.vue"]]);export{E as default}; +import{_ as b,q as o,k as h,l as g,B as s,M as u,x as t,u as n,y as i}from"./vendor-493c2bec.js";import"./vendor-sortablejs-0b339223.js";const m={name:"DeviceSonnenbatterie",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},componentId:{required:!0}},computed:{linkRestApi1(){return"http://"+this.configuration.ip_address+":7979/rest/devices/battery"},linkRestApi2(){return"http://"+this.configuration.ip_address+":7979/rest/devices/battery/M05"},linkJsonApi1(){return"http://"+this.configuration.ip_address+"/api/v1/status"},linkJsonApi2(){return"http://"+this.configuration.ip_address+"/api/v2/status"}},methods:{updateConfiguration(a,r=void 0){this.$emit("update:configuration",{value:a,object:r})}}},v={class:"device-sonnenbatterie"},A={class:"small"},k={style:{display:"block"}},w=n("br",null,null,-1),B=["href"],I=n("br",null,null,-1),J=["href"],R=n("br",null,null,-1),x=["href"],P=n("br",null,null,-1),O=["href"];function S(a,r,d,y,C,e){const p=o("openwb-base-heading"),c=o("openwb-base-alert"),_=o("openwb-base-text-input"),f=o("openwb-base-select-input");return h(),g("div",v,[s(p,null,{default:u(()=>[t(" Einstellungen für SonnenBatterie "),n("span",A,"(Modul: "+i(a.$options.name)+")",1)]),_:1}),s(c,{subtype:"info"},{default:u(()=>[t(' Die Leistung steht nur in den Varianten "Rest-API 2" und "JSON-API" zur Verfügung. ')]),_:1}),s(_,{title:"IP oder Hostname",subtype:"host",required:"","model-value":d.configuration.ip_address,"onUpdate:modelValue":r[0]||(r[0]=l=>e.updateConfiguration(l,"configuration.ip_address"))},null,8,["model-value"]),s(f,{title:"Datenverbindung",required:"",notSelected:"Bitte auswählen",options:[{value:0,text:"Rest-API 1 (z.B. ECO 4)"},{value:2,text:"Rest-API 2 (z.B. ECO 6)"},{value:1,text:"JSON-API v1(z.B. ECO 8 oder 10)"},{value:3,text:"JSON-API v2(z.B. ECO 8 oder 10)"}],"model-value":d.configuration.variant,"onUpdate:modelValue":r[1]||(r[1]=l=>e.updateConfiguration(l,"configuration.variant"))},{help:u(()=>[n("span",k,[t(" Je nach Sonnen Batterie muss die richtige Datenverbindung ausgewählt werden. Folgende URLs werden zum Abruf der Daten genutzt und können auch manuell über einen Browser abgefragt werden, um die richtige Einstellung zu finden:"),w,t(" Rest-API 1: "),n("a",{href:e.linkRestApi1,target:"_blank",rel:"noopener noreferrer"},i(e.linkRestApi1),9,B),I,t(" Rest-API 2: "),n("a",{href:e.linkRestApi2,target:"_blank",rel:"noopener noreferrer"},i(e.linkRestApi2),9,J),R,t(" JSON-API v1: "),n("a",{href:e.linkJsonApi1,target:"_blank",rel:"noopener noreferrer"},i(e.linkJsonApi1),9,x),P,t(" JSON-API v2: "),n("a",{href:e.linkJsonApi2,target:"_blank",rel:"noopener noreferrer"},i(e.linkJsonApi2),9,O)])]),_:1},8,["options","model-value"])])}const E=b(m,[["render",S],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/sonnenbatterie/device.vue"]]);export{E as default}; diff --git a/web/settings/assets/device-fbac7aa9.js b/web/settings/assets/device-ea4b41ce.js similarity index 91% rename from web/settings/assets/device-fbac7aa9.js rename to web/settings/assets/device-ea4b41ce.js index dbc7afb19a..7a8fb23cab 100644 --- a/web/settings/assets/device-fbac7aa9.js +++ b/web/settings/assets/device-ea4b41ce.js @@ -1 +1 @@ -import{_ as c,q as o,k as _,l as b,B as t,M as d,x as r,u as f,y as g}from"./vendor-f0f38b48.js";import"./vendor-sortablejs-cbf37f8f.js";const v={name:"DeviceSiemens",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},componentId:{required:!0}},methods:{updateConfiguration(i,e=void 0){this.$emit("update:configuration",{value:i,object:e})}}},w={class:"device-siemens"},x={class:"small"};function h(i,e,a,q,B,s){const l=o("openwb-base-heading"),p=o("openwb-base-alert"),m=o("openwb-base-text-input"),u=o("openwb-base-number-input");return _(),b("div",w,[t(l,null,{default:d(()=>[r(" Einstellungen für Siemens "),f("span",x,"(Modul: "+g(i.$options.name)+")",1)]),_:1}),t(p,{subtype:"info"},{default:d(()=>[r(" Im Siemens-Speicher muss die Schnittstelle openWB gewählt werden. ")]),_:1}),t(m,{title:"IP oder Hostname",subtype:"host",required:"","model-value":a.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=n=>s.updateConfiguration(n,"configuration.ip_address"))},null,8,["model-value"]),t(u,{title:"Port",required:"",min:1,max:65535,"model-value":a.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=n=>s.updateConfiguration(n,"configuration.port"))},null,8,["model-value"]),t(u,{title:"Modbus ID",required:"","model-value":a.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[2]||(e[2]=n=>s.updateConfiguration(n,"configuration.modbus_id"))},null,8,["model-value"])])}const V=c(v,[["render",h],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/siemens/device.vue"]]);export{V as default}; +import{_ as c,q as o,k as _,l as b,B as t,M as d,x as r,u as f,y as g}from"./vendor-493c2bec.js";import"./vendor-sortablejs-0b339223.js";const v={name:"DeviceSiemens",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},componentId:{required:!0}},methods:{updateConfiguration(i,e=void 0){this.$emit("update:configuration",{value:i,object:e})}}},w={class:"device-siemens"},x={class:"small"};function h(i,e,a,q,B,s){const l=o("openwb-base-heading"),p=o("openwb-base-alert"),m=o("openwb-base-text-input"),u=o("openwb-base-number-input");return _(),b("div",w,[t(l,null,{default:d(()=>[r(" Einstellungen für Siemens "),f("span",x,"(Modul: "+g(i.$options.name)+")",1)]),_:1}),t(p,{subtype:"info"},{default:d(()=>[r(" Im Siemens-Speicher muss die Schnittstelle openWB gewählt werden. ")]),_:1}),t(m,{title:"IP oder Hostname",subtype:"host",required:"","model-value":a.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=n=>s.updateConfiguration(n,"configuration.ip_address"))},null,8,["model-value"]),t(u,{title:"Port",required:"",min:1,max:65535,"model-value":a.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=n=>s.updateConfiguration(n,"configuration.port"))},null,8,["model-value"]),t(u,{title:"Modbus ID",required:"","model-value":a.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[2]||(e[2]=n=>s.updateConfiguration(n,"configuration.modbus_id"))},null,8,["model-value"])])}const V=c(v,[["render",h],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/siemens/device.vue"]]);export{V as default}; diff --git a/web/settings/assets/device-e729de90.js b/web/settings/assets/device-f1a1f92f.js similarity index 91% rename from web/settings/assets/device-e729de90.js rename to web/settings/assets/device-f1a1f92f.js index aa199c2408..a369af3663 100644 --- a/web/settings/assets/device-e729de90.js +++ b/web/settings/assets/device-f1a1f92f.js @@ -1 +1 @@ -import{_ as r,q as u,k as p,l as m,B as n,M as c,x as _,u as f,y as b}from"./vendor-f0f38b48.js";import"./vendor-sortablejs-cbf37f8f.js";const g={name:"DeviceQCells",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0}},methods:{updateConfiguration(t,e=void 0){this.$emit("update:configuration",{value:t,object:e})}}},v={class:"device-qcells"},x={class:"small"};function w(t,e,i,C,q,a){const s=u("openwb-base-heading"),l=u("openwb-base-text-input"),d=u("openwb-base-number-input");return p(),m("div",v,[n(s,null,{default:c(()=>[_(" Einstellungen für QCells ESS "),f("span",x,"(Modul: "+b(t.$options.name)+")",1)]),_:1}),n(l,{title:"IP oder Hostname",subtype:"host",required:"","model-value":i.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=o=>a.updateConfiguration(o,"configuration.ip_address"))},null,8,["model-value"]),n(d,{title:"Port",required:"",min:1,max:65535,"model-value":i.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=o=>a.updateConfiguration(o,"configuration.port"))},null,8,["model-value"]),n(d,{title:"Modbus ID",required:"","model-value":i.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[2]||(e[2]=o=>a.updateConfiguration(o,"configuration.modbus_id"))},null,8,["model-value"])])}const y=r(g,[["render",w],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/qcells/device.vue"]]);export{y as default}; +import{_ as r,q as u,k as p,l as m,B as n,M as c,x as _,u as f,y as b}from"./vendor-493c2bec.js";import"./vendor-sortablejs-0b339223.js";const g={name:"DeviceQCells",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0}},methods:{updateConfiguration(t,e=void 0){this.$emit("update:configuration",{value:t,object:e})}}},v={class:"device-qcells"},x={class:"small"};function w(t,e,i,C,q,a){const s=u("openwb-base-heading"),l=u("openwb-base-text-input"),d=u("openwb-base-number-input");return p(),m("div",v,[n(s,null,{default:c(()=>[_(" Einstellungen für QCells ESS "),f("span",x,"(Modul: "+b(t.$options.name)+")",1)]),_:1}),n(l,{title:"IP oder Hostname",subtype:"host",required:"","model-value":i.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=o=>a.updateConfiguration(o,"configuration.ip_address"))},null,8,["model-value"]),n(d,{title:"Port",required:"",min:1,max:65535,"model-value":i.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=o=>a.updateConfiguration(o,"configuration.port"))},null,8,["model-value"]),n(d,{title:"Modbus ID",required:"","model-value":i.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[2]||(e[2]=o=>a.updateConfiguration(o,"configuration.modbus_id"))},null,8,["model-value"])])}const y=r(g,[["render",w],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/qcells/device.vue"]]);export{y as default}; diff --git a/web/settings/assets/device-c032eaff.js b/web/settings/assets/device-f6b1f0b4.js similarity index 92% rename from web/settings/assets/device-c032eaff.js rename to web/settings/assets/device-f6b1f0b4.js index 659a3dad4e..1df05d735c 100644 --- a/web/settings/assets/device-c032eaff.js +++ b/web/settings/assets/device-f6b1f0b4.js @@ -1 +1 @@ -import{_ as r,q as n,k as d,l as p,B as o,M as s,x as a,u,y as l}from"./vendor-f0f38b48.js";import"./vendor-sortablejs-cbf37f8f.js";const _={name:"DeviceSmaHm",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0}},methods:{updateConfiguration(e,t=void 0){this.$emit("update:configuration",{value:e,object:t})}}},m={class:"device-smahm"},f={class:"small"};function b(e,t,g,v,h,w){const i=n("openwb-base-heading"),c=n("openwb-base-alert");return d(),p("div",m,[o(i,null,{default:s(()=>[a(" Einstellungen für SMA Home Manager / Energy Meter "),u("span",f,"(Modul: "+l(e.$options.name)+")",1)]),_:1}),o(c,{subtype:"info"},{default:s(()=>[a(" Dieses Gerät benötigt keine Einstellungen. ")]),_:1})])}const y=r(_,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/sma_shm/device.vue"]]);export{y as default}; +import{_ as r,q as n,k as d,l as p,B as o,M as s,x as a,u,y as l}from"./vendor-493c2bec.js";import"./vendor-sortablejs-0b339223.js";const _={name:"DeviceSmaHm",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0}},methods:{updateConfiguration(e,t=void 0){this.$emit("update:configuration",{value:e,object:t})}}},m={class:"device-smahm"},f={class:"small"};function b(e,t,g,v,h,w){const i=n("openwb-base-heading"),c=n("openwb-base-alert");return d(),p("div",m,[o(i,null,{default:s(()=>[a(" Einstellungen für SMA Home Manager / Energy Meter "),u("span",f,"(Modul: "+l(e.$options.name)+")",1)]),_:1}),o(c,{subtype:"info"},{default:s(()=>[a(" Dieses Gerät benötigt keine Einstellungen. ")]),_:1})])}const y=r(_,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/sma_shm/device.vue"]]);export{y as default}; diff --git a/web/settings/assets/device-0bbdcef0.js b/web/settings/assets/device-f8d9b7eb.js similarity index 92% rename from web/settings/assets/device-0bbdcef0.js rename to web/settings/assets/device-f8d9b7eb.js index 2a0a270b6f..8fa5ec20a8 100644 --- a/web/settings/assets/device-0bbdcef0.js +++ b/web/settings/assets/device-f8d9b7eb.js @@ -1 +1 @@ -import{_ as p,q as n,k as r,l as d,B as o,M as s,x as a,u,y as _}from"./vendor-f0f38b48.js";import"./vendor-sortablejs-cbf37f8f.js";const l={name:"DeviceOpenwbBatKit",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0}},methods:{updateConfiguration(e,t=void 0){this.$emit("update:configuration",{value:e,object:t})}}},f={class:"device-openwb-batkit"},b={class:"small"};function m(e,t,v,g,h,w){const i=n("openwb-base-heading"),c=n("openwb-base-alert");return r(),d("div",f,[o(i,null,{default:s(()=>[a(" Einstellungen für openWB Speicher-Kit "),u("span",b,"(Modul: "+_(e.$options.name)+")",1)]),_:1}),o(c,{subtype:"info"},{default:s(()=>[a(" Dieses Gerät erfordert keine Einstellungen. ")]),_:1})])}const $=p(l,[["render",m],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/openwb_bat_kit/device.vue"]]);export{$ as default}; +import{_ as p,q as n,k as r,l as d,B as o,M as s,x as a,u,y as _}from"./vendor-493c2bec.js";import"./vendor-sortablejs-0b339223.js";const l={name:"DeviceOpenwbBatKit",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0}},methods:{updateConfiguration(e,t=void 0){this.$emit("update:configuration",{value:e,object:t})}}},f={class:"device-openwb-batkit"},b={class:"small"};function m(e,t,v,g,h,w){const i=n("openwb-base-heading"),c=n("openwb-base-alert");return r(),d("div",f,[o(i,null,{default:s(()=>[a(" Einstellungen für openWB Speicher-Kit "),u("span",b,"(Modul: "+_(e.$options.name)+")",1)]),_:1}),o(c,{subtype:"info"},{default:s(()=>[a(" Dieses Gerät erfordert keine Einstellungen. ")]),_:1})])}const $=p(l,[["render",m],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/openwb_bat_kit/device.vue"]]);export{$ as default}; diff --git a/web/settings/assets/device-d2c1b1df.js b/web/settings/assets/device-ffdd2719.js similarity index 94% rename from web/settings/assets/device-d2c1b1df.js rename to web/settings/assets/device-ffdd2719.js index b05b25cd04..c89655a71f 100644 --- a/web/settings/assets/device-d2c1b1df.js +++ b/web/settings/assets/device-ffdd2719.js @@ -1 +1 @@ -import{_ as p,q as n,k as c,l,B as i,M as m,x as _,u as f,y as b}from"./vendor-f0f38b48.js";import"./vendor-sortablejs-cbf37f8f.js";const v={name:"DeviceVictron",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},componentId:{required:!0}},methods:{updateConfiguration(t,e=void 0){this.$emit("update:configuration",{value:t,object:e})}}},g={class:"device-victron"},w={class:"small"};function x(t,e,a,V,h,s){const r=n("openwb-base-heading"),u=n("openwb-base-text-input"),d=n("openwb-base-number-input");return c(),l("div",g,[i(r,null,{default:m(()=>[_(" Einstellungen für Victron "),f("span",w,"(Modul: "+b(t.$options.name)+")",1)]),_:1}),i(u,{title:"IP oder Hostname",subtype:"host",required:"","model-value":a.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=o=>s.updateConfiguration(o,"configuration.ip_address"))},null,8,["model-value"]),i(d,{title:"Port",required:"",min:1,max:65535,"model-value":a.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=o=>s.updateConfiguration(o,"configuration.port"))},null,8,["model-value"])])}const C=p(v,[["render",x],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/victron/device.vue"]]);export{C as default}; +import{_ as p,q as n,k as c,l,B as i,M as m,x as _,u as f,y as b}from"./vendor-493c2bec.js";import"./vendor-sortablejs-0b339223.js";const v={name:"DeviceVictron",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},componentId:{required:!0}},methods:{updateConfiguration(t,e=void 0){this.$emit("update:configuration",{value:t,object:e})}}},g={class:"device-victron"},w={class:"small"};function x(t,e,a,V,h,s){const r=n("openwb-base-heading"),u=n("openwb-base-text-input"),d=n("openwb-base-number-input");return c(),l("div",g,[i(r,null,{default:m(()=>[_(" Einstellungen für Victron "),f("span",w,"(Modul: "+b(t.$options.name)+")",1)]),_:1}),i(u,{title:"IP oder Hostname",subtype:"host",required:"","model-value":a.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=o=>s.updateConfiguration(o,"configuration.ip_address"))},null,8,["model-value"]),i(d,{title:"Port",required:"",min:1,max:65535,"model-value":a.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=o=>s.updateConfiguration(o,"configuration.port"))},null,8,["model-value"])])}const C=p(v,[["render",x],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/victron/device.vue"]]);export{C as default}; diff --git a/web/settings/assets/displayTheme-7a496adb.js b/web/settings/assets/displayTheme-fff53517.js similarity index 97% rename from web/settings/assets/displayTheme-7a496adb.js rename to web/settings/assets/displayTheme-fff53517.js index 143d335fe9..7c713c9f0c 100644 --- a/web/settings/assets/displayTheme-7a496adb.js +++ b/web/settings/assets/displayTheme-fff53517.js @@ -1 +1 @@ -import{_ as g,q as c,k as o,l as f,B as l,M as s,x as i,z as d,A as r}from"./vendor-f0f38b48.js";import"./vendor-sortablejs-cbf37f8f.js";const p={name:"DisplayThemeCards",emits:["update:configuration"],props:{displayTheme:{type:Object,required:!0}},methods:{updateConfiguration(_,e=void 0){this.$emit("update:configuration",{value:_,object:e})}}},h={class:"display-theme-cards"};function v(_,e,a,y,V,n){const b=c("openwb-base-heading"),u=c("openwb-base-button-group-input"),m=c("openwb-base-text-input");return o(),f("div",h,[l(b,null,{default:s(()=>[i("Bediensperre")]),_:1}),l(u,{title:"Bedienung sperren","model-value":a.displayTheme.configuration.lock_changes,"onUpdate:modelValue":e[0]||(e[0]=t=>n.updateConfiguration(t,"configuration.lock_changes")),buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}]},{help:s(()=>[i(' Die Bedienung wird automatisch nach der eingestellten Ausschaltzeit (siehe "Display Standby") wieder gesperrt. ')]),_:1},8,["model-value"]),a.displayTheme.configuration.lock_changes?(o(),d(m,{key:0,title:"PIN zur Freigabe",subtype:"password",required:"",pattern:"[0-9]{4,10}","model-value":a.displayTheme.configuration.lock_changes_code,"onUpdate:modelValue":e[1]||(e[1]=t=>n.updateConfiguration(t,"configuration.lock_changes_code"))},{help:s(()=>[i(" Der PIN muss aus 4 bis 10 Zahlen bestehen. ")]),_:1},8,["model-value"])):r("",!0),l(b,null,{default:s(()=>[i('Ansicht "Übersicht"')]),_:1}),l(u,{title:"Übersicht anzeigen","model-value":a.displayTheme.configuration.enable_dashboard_view,"onUpdate:modelValue":e[2]||(e[2]=t=>n.updateConfiguration(t,"configuration.enable_dashboard_view")),buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}]},null,8,["model-value"]),a.displayTheme.configuration.enable_dashboard_view?(o(),d(u,{key:1,title:"EVU anzeigen","model-value":a.displayTheme.configuration.enable_dashboard_card_grid,"onUpdate:modelValue":e[3]||(e[3]=t=>n.updateConfiguration(t,"configuration.enable_dashboard_card_grid")),buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}]},null,8,["model-value"])):r("",!0),a.displayTheme.configuration.enable_dashboard_view?(o(),d(u,{key:2,title:"Hausverbrauch anzeigen","model-value":a.displayTheme.configuration.enable_dashboard_card_home_consumption,"onUpdate:modelValue":e[4]||(e[4]=t=>n.updateConfiguration(t,"configuration.enable_dashboard_card_home_consumption")),buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}]},null,8,["model-value"])):r("",!0),a.displayTheme.configuration.enable_dashboard_view?(o(),d(u,{key:3,title:"Batteriespeicher anzeigen","model-value":a.displayTheme.configuration.enable_dashboard_card_battery_sum,"onUpdate:modelValue":e[5]||(e[5]=t=>n.updateConfiguration(t,"configuration.enable_dashboard_card_battery_sum")),buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}]},null,8,["model-value"])):r("",!0),a.displayTheme.configuration.enable_dashboard_view?(o(),d(u,{key:4,title:"Ladepunkte anzeigen","model-value":a.displayTheme.configuration.enable_dashboard_card_charge_point_sum,"onUpdate:modelValue":e[6]||(e[6]=t=>n.updateConfiguration(t,"configuration.enable_dashboard_card_charge_point_sum")),buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}]},null,8,["model-value"])):r("",!0),a.displayTheme.configuration.enable_dashboard_view?(o(),d(u,{key:5,title:"PV anzeigen","model-value":a.displayTheme.configuration.enable_dashboard_card_inverter_sum,"onUpdate:modelValue":e[7]||(e[7]=t=>n.updateConfiguration(t,"configuration.enable_dashboard_card_inverter_sum")),buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}]},null,8,["model-value"])):r("",!0),l(b,null,{default:s(()=>[i('Ansicht "Ladepunkte"')]),_:1}),l(u,{title:"Ladepunkte anzeigen","model-value":a.displayTheme.configuration.enable_charge_points_view,"onUpdate:modelValue":e[8]||(e[8]=t=>n.updateConfiguration(t,"configuration.enable_charge_points_view")),buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}]},null,8,["model-value"]),l(b,null,{default:s(()=>[i('Ansicht "Status"')]),_:1}),l(u,{title:"Status anzeigen","model-value":a.displayTheme.configuration.enable_status_view,"onUpdate:modelValue":e[9]||(e[9]=t=>n.updateConfiguration(t,"configuration.enable_status_view")),buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}]},null,8,["model-value"])])}const w=g(p,[["render",v],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/display_themes/cards/displayTheme.vue"]]);export{w as default}; +import{_ as g,q as c,k as o,l as f,B as l,M as s,x as i,z as d,A as r}from"./vendor-493c2bec.js";import"./vendor-sortablejs-0b339223.js";const p={name:"DisplayThemeCards",emits:["update:configuration"],props:{displayTheme:{type:Object,required:!0}},methods:{updateConfiguration(_,e=void 0){this.$emit("update:configuration",{value:_,object:e})}}},h={class:"display-theme-cards"};function v(_,e,a,y,V,n){const b=c("openwb-base-heading"),u=c("openwb-base-button-group-input"),m=c("openwb-base-text-input");return o(),f("div",h,[l(b,null,{default:s(()=>[i("Bediensperre")]),_:1}),l(u,{title:"Bedienung sperren","model-value":a.displayTheme.configuration.lock_changes,"onUpdate:modelValue":e[0]||(e[0]=t=>n.updateConfiguration(t,"configuration.lock_changes")),buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}]},{help:s(()=>[i(' Die Bedienung wird automatisch nach der eingestellten Ausschaltzeit (siehe "Display Standby") wieder gesperrt. ')]),_:1},8,["model-value"]),a.displayTheme.configuration.lock_changes?(o(),d(m,{key:0,title:"PIN zur Freigabe",subtype:"password",required:"",pattern:"[0-9]{4,10}","model-value":a.displayTheme.configuration.lock_changes_code,"onUpdate:modelValue":e[1]||(e[1]=t=>n.updateConfiguration(t,"configuration.lock_changes_code"))},{help:s(()=>[i(" Der PIN muss aus 4 bis 10 Zahlen bestehen. ")]),_:1},8,["model-value"])):r("",!0),l(b,null,{default:s(()=>[i('Ansicht "Übersicht"')]),_:1}),l(u,{title:"Übersicht anzeigen","model-value":a.displayTheme.configuration.enable_dashboard_view,"onUpdate:modelValue":e[2]||(e[2]=t=>n.updateConfiguration(t,"configuration.enable_dashboard_view")),buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}]},null,8,["model-value"]),a.displayTheme.configuration.enable_dashboard_view?(o(),d(u,{key:1,title:"EVU anzeigen","model-value":a.displayTheme.configuration.enable_dashboard_card_grid,"onUpdate:modelValue":e[3]||(e[3]=t=>n.updateConfiguration(t,"configuration.enable_dashboard_card_grid")),buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}]},null,8,["model-value"])):r("",!0),a.displayTheme.configuration.enable_dashboard_view?(o(),d(u,{key:2,title:"Hausverbrauch anzeigen","model-value":a.displayTheme.configuration.enable_dashboard_card_home_consumption,"onUpdate:modelValue":e[4]||(e[4]=t=>n.updateConfiguration(t,"configuration.enable_dashboard_card_home_consumption")),buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}]},null,8,["model-value"])):r("",!0),a.displayTheme.configuration.enable_dashboard_view?(o(),d(u,{key:3,title:"Batteriespeicher anzeigen","model-value":a.displayTheme.configuration.enable_dashboard_card_battery_sum,"onUpdate:modelValue":e[5]||(e[5]=t=>n.updateConfiguration(t,"configuration.enable_dashboard_card_battery_sum")),buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}]},null,8,["model-value"])):r("",!0),a.displayTheme.configuration.enable_dashboard_view?(o(),d(u,{key:4,title:"Ladepunkte anzeigen","model-value":a.displayTheme.configuration.enable_dashboard_card_charge_point_sum,"onUpdate:modelValue":e[6]||(e[6]=t=>n.updateConfiguration(t,"configuration.enable_dashboard_card_charge_point_sum")),buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}]},null,8,["model-value"])):r("",!0),a.displayTheme.configuration.enable_dashboard_view?(o(),d(u,{key:5,title:"PV anzeigen","model-value":a.displayTheme.configuration.enable_dashboard_card_inverter_sum,"onUpdate:modelValue":e[7]||(e[7]=t=>n.updateConfiguration(t,"configuration.enable_dashboard_card_inverter_sum")),buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}]},null,8,["model-value"])):r("",!0),l(b,null,{default:s(()=>[i('Ansicht "Ladepunkte"')]),_:1}),l(u,{title:"Ladepunkte anzeigen","model-value":a.displayTheme.configuration.enable_charge_points_view,"onUpdate:modelValue":e[8]||(e[8]=t=>n.updateConfiguration(t,"configuration.enable_charge_points_view")),buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}]},null,8,["model-value"]),l(b,null,{default:s(()=>[i('Ansicht "Status"')]),_:1}),l(u,{title:"Status anzeigen","model-value":a.displayTheme.configuration.enable_status_view,"onUpdate:modelValue":e[9]||(e[9]=t=>n.updateConfiguration(t,"configuration.enable_status_view")),buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}]},null,8,["model-value"])])}const w=g(p,[["render",v],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/display_themes/cards/displayTheme.vue"]]);export{w as default}; diff --git a/web/settings/assets/electricity_tariff-101d262d.js b/web/settings/assets/electricity_tariff-2cf8bb76.js similarity index 98% rename from web/settings/assets/electricity_tariff-101d262d.js rename to web/settings/assets/electricity_tariff-2cf8bb76.js index 6f6910189d..e9e2affb52 100644 --- a/web/settings/assets/electricity_tariff-101d262d.js +++ b/web/settings/assets/electricity_tariff-2cf8bb76.js @@ -1 +1 @@ -import{_ as m,q as s,k as _,l as g,B as r,M as h,x as u,u as y}from"./vendor-f0f38b48.js";import"./vendor-sortablejs-cbf37f8f.js";const T={name:"ElectricityTariffTibber",emits:["update:configuration"],props:{electricityTariff:{type:Object,required:!0}},data(){return{tibberAPI:"https://api.tibber.com/v1-beta/gql",tibberHomeList:[]}},methods:{updateConfiguration(o,t=void 0){this.$emit("update:configuration",{value:o,object:t})},async getTibberHomeList(){if(this.electricityTariff.configuration.token===null)return;const o='{ "query": "{viewer {homes{id address{address1 address2 address3 postalCode city country}}}}" }';try{const t=await this.axios.post(this.tibberAPI,o,{headers:{Authorization:"Bearer "+this.electricityTariff.configuration.token,"Content-Type":"application/json"}});this.tibberHomeList=t.data.data.viewer.homes.map(e=>{let i=e.address.address1;return e.address.address2&&(i=i+", "+e.address.address2),e.address.address3&&(i=i+", "+e.address.address3),i=i+`, ${e.address.postalCode} ${e.address.city}, ${e.address.country}`,{value:e.id,text:i}}),this.electricityTariff.configuration.home_id||this.updateConfiguration(this.tibberHomeList[0].value,"configuration.home_id"),this.$root.postClientMessage("Home IDs erfolgreich abgerufen.","success")}catch(t){console.error(t),this.$root.postClientMessage("Beim Abfragen der Tibber API ist ein Fehler aufgetreten!
"+t+"
","danger")}}}},k={class:"electricity-tariff-tibber"},v=y("a",{href:"https://developer.tibber.com/explorer",target:"_blank",rel:"noopener noreferrer"}," Tibber-Developer-Seite ",-1);function w(o,t,e,i,c,a){var l;const b=s("openwb-base-alert"),d=s("openwb-base-text-input"),f=s("openwb-base-button-input"),p=s("openwb-base-select-input");return _(),g("div",k,[r(b,{subtype:"info"},{default:h(()=>[u(" Ihren persönlichen Tibber-Token erhalten Sie über die "),v,u(" . Behandeln Sie Ihren Token wie ein Passwort, da sich darüber auch persönliche Daten aus Ihrem Tibber-Account abfragen lassen! Die Home-ID können Sie (wenn bekannt) in das Eingabefeld selbst eintragen oder nach Eingabe Ihres Token durch Klick auf den Button von der openWB ermitteln lassen. Unerlaubte Zeichen werden aus dem Token und der Home-ID automatisch gelöscht. ")]),_:1}),r(d,{title:"Token",required:"",ref:"tokenInput","model-value":e.electricityTariff.configuration.token,"onUpdate:modelValue":t[0]||(t[0]=n=>a.updateConfiguration(n,"configuration.token"))},null,8,["model-value"]),r(f,{title:"Home-IDs abrufen",buttonText:"Jetzt abrufen",subtype:"success",disabled:!((l=e.electricityTariff.configuration.token)!=null&&l.length),onButtonClicked:a.getTibberHomeList},null,8,["disabled","onButtonClicked"]),r(p,{title:"Verfügbare Home-IDs",options:c.tibberHomeList,"model-value":e.electricityTariff.configuration.home_id,"onUpdate:modelValue":t[1]||(t[1]=n=>a.updateConfiguration(n,"configuration.home_id"))},null,8,["options","model-value"]),r(d,{title:"Home-ID",required:"","model-value":e.electricityTariff.configuration.home_id,"onUpdate:modelValue":t[2]||(t[2]=n=>a.updateConfiguration(n,"configuration.home_id"))},null,8,["model-value"])])}const x=m(T,[["render",w],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/electricity_tariffs/tibber/electricity_tariff.vue"]]);export{x as default}; +import{_ as m,q as s,k as _,l as g,B as r,M as h,x as u,u as y}from"./vendor-493c2bec.js";import"./vendor-sortablejs-0b339223.js";const T={name:"ElectricityTariffTibber",emits:["update:configuration"],props:{electricityTariff:{type:Object,required:!0}},data(){return{tibberAPI:"https://api.tibber.com/v1-beta/gql",tibberHomeList:[]}},methods:{updateConfiguration(o,t=void 0){this.$emit("update:configuration",{value:o,object:t})},async getTibberHomeList(){if(this.electricityTariff.configuration.token===null)return;const o='{ "query": "{viewer {homes{id address{address1 address2 address3 postalCode city country}}}}" }';try{const t=await this.axios.post(this.tibberAPI,o,{headers:{Authorization:"Bearer "+this.electricityTariff.configuration.token,"Content-Type":"application/json"}});this.tibberHomeList=t.data.data.viewer.homes.map(e=>{let i=e.address.address1;return e.address.address2&&(i=i+", "+e.address.address2),e.address.address3&&(i=i+", "+e.address.address3),i=i+`, ${e.address.postalCode} ${e.address.city}, ${e.address.country}`,{value:e.id,text:i}}),this.electricityTariff.configuration.home_id||this.updateConfiguration(this.tibberHomeList[0].value,"configuration.home_id"),this.$root.postClientMessage("Home IDs erfolgreich abgerufen.","success")}catch(t){console.error(t),this.$root.postClientMessage("Beim Abfragen der Tibber API ist ein Fehler aufgetreten!
"+t+"
","danger")}}}},k={class:"electricity-tariff-tibber"},v=y("a",{href:"https://developer.tibber.com/explorer",target:"_blank",rel:"noopener noreferrer"}," Tibber-Developer-Seite ",-1);function w(o,t,e,i,c,a){var l;const b=s("openwb-base-alert"),d=s("openwb-base-text-input"),f=s("openwb-base-button-input"),p=s("openwb-base-select-input");return _(),g("div",k,[r(b,{subtype:"info"},{default:h(()=>[u(" Ihren persönlichen Tibber-Token erhalten Sie über die "),v,u(" . Behandeln Sie Ihren Token wie ein Passwort, da sich darüber auch persönliche Daten aus Ihrem Tibber-Account abfragen lassen! Die Home-ID können Sie (wenn bekannt) in das Eingabefeld selbst eintragen oder nach Eingabe Ihres Token durch Klick auf den Button von der openWB ermitteln lassen. Unerlaubte Zeichen werden aus dem Token und der Home-ID automatisch gelöscht. ")]),_:1}),r(d,{title:"Token",required:"",ref:"tokenInput","model-value":e.electricityTariff.configuration.token,"onUpdate:modelValue":t[0]||(t[0]=n=>a.updateConfiguration(n,"configuration.token"))},null,8,["model-value"]),r(f,{title:"Home-IDs abrufen",buttonText:"Jetzt abrufen",subtype:"success",disabled:!((l=e.electricityTariff.configuration.token)!=null&&l.length),onButtonClicked:a.getTibberHomeList},null,8,["disabled","onButtonClicked"]),r(p,{title:"Verfügbare Home-IDs",options:c.tibberHomeList,"model-value":e.electricityTariff.configuration.home_id,"onUpdate:modelValue":t[1]||(t[1]=n=>a.updateConfiguration(n,"configuration.home_id"))},null,8,["options","model-value"]),r(d,{title:"Home-ID",required:"","model-value":e.electricityTariff.configuration.home_id,"onUpdate:modelValue":t[2]||(t[2]=n=>a.updateConfiguration(n,"configuration.home_id"))},null,8,["model-value"])])}const x=m(T,[["render",w],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/electricity_tariffs/tibber/electricity_tariff.vue"]]);export{x as default}; diff --git a/web/settings/assets/electricity_tariff-9689c403.js b/web/settings/assets/electricity_tariff-314675ce.js similarity index 95% rename from web/settings/assets/electricity_tariff-9689c403.js rename to web/settings/assets/electricity_tariff-314675ce.js index 766f794842..43670e670f 100644 --- a/web/settings/assets/electricity_tariff-9689c403.js +++ b/web/settings/assets/electricity_tariff-314675ce.js @@ -1 +1 @@ -import{_ as s,q as l,k as u,l as d,B as i,M as f,x as p}from"./vendor-f0f38b48.js";import"./vendor-sortablejs-cbf37f8f.js";const _={name:"ElectricityTariffVoltego",emits:["update:configuration"],props:{electricityTariff:{type:Object,required:!0}},data(){return{}},methods:{updateConfiguration(n,e=void 0){this.$emit("update:configuration",{value:n,object:e})}}},m={class:"electricity-tariff-voltego"};function g(n,e,o,b,v,a){const c=l("openwb-base-alert"),r=l("openwb-base-text-input");return u(),d("div",m,[i(c,{subtype:"info"},{default:f(()=>[p(" Ihre persönlichen Zugangsdaten (Client-ID und Client-Secret) erhalten Sie direkt von Voltego. Behandeln Sie diese Daten wie ein Passwort, da sich darüber auch persönliche Daten aus Ihrem Voltego-Account abfragen lassen! ")]),_:1}),i(r,{title:"Client-ID",subtype:"user",required:"","model-value":o.electricityTariff.configuration.client_id,"onUpdate:modelValue":e[0]||(e[0]=t=>a.updateConfiguration(t,"configuration.client_id"))},null,8,["model-value"]),i(r,{title:"Client-Secret",subtype:"password",required:"","model-value":o.electricityTariff.configuration.client_secret,"onUpdate:modelValue":e[1]||(e[1]=t=>a.updateConfiguration(t,"configuration.client_secret"))},null,8,["model-value"])])}const w=s(_,[["render",g],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/electricity_tariffs/voltego/electricity_tariff.vue"]]);export{w as default}; +import{_ as s,q as l,k as u,l as d,B as i,M as f,x as p}from"./vendor-493c2bec.js";import"./vendor-sortablejs-0b339223.js";const _={name:"ElectricityTariffVoltego",emits:["update:configuration"],props:{electricityTariff:{type:Object,required:!0}},data(){return{}},methods:{updateConfiguration(n,e=void 0){this.$emit("update:configuration",{value:n,object:e})}}},m={class:"electricity-tariff-voltego"};function g(n,e,o,b,v,a){const c=l("openwb-base-alert"),r=l("openwb-base-text-input");return u(),d("div",m,[i(c,{subtype:"info"},{default:f(()=>[p(" Ihre persönlichen Zugangsdaten (Client-ID und Client-Secret) erhalten Sie direkt von Voltego. Behandeln Sie diese Daten wie ein Passwort, da sich darüber auch persönliche Daten aus Ihrem Voltego-Account abfragen lassen! ")]),_:1}),i(r,{title:"Client-ID",subtype:"user",required:"","model-value":o.electricityTariff.configuration.client_id,"onUpdate:modelValue":e[0]||(e[0]=t=>a.updateConfiguration(t,"configuration.client_id"))},null,8,["model-value"]),i(r,{title:"Client-Secret",subtype:"password",required:"","model-value":o.electricityTariff.configuration.client_secret,"onUpdate:modelValue":e[1]||(e[1]=t=>a.updateConfiguration(t,"configuration.client_secret"))},null,8,["model-value"])])}const w=s(_,[["render",g],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/electricity_tariffs/voltego/electricity_tariff.vue"]]);export{w as default}; diff --git a/web/settings/assets/electricity_tariff-e64977a9.js b/web/settings/assets/electricity_tariff-44aa80d9.js similarity index 94% rename from web/settings/assets/electricity_tariff-e64977a9.js rename to web/settings/assets/electricity_tariff-44aa80d9.js index 18812c8fe4..12752ed673 100644 --- a/web/settings/assets/electricity_tariff-e64977a9.js +++ b/web/settings/assets/electricity_tariff-44aa80d9.js @@ -1 +1 @@ -import{_ as o,q as c,k as s,l,B as u,M as d,x as f}from"./vendor-f0f38b48.js";import"./vendor-sortablejs-cbf37f8f.js";const p={name:"ElectricityTariffAwattar",emits:["update:configuration"],props:{electricityTariff:{type:Object,required:!0}},data(){return{}},methods:{updateConfiguration(t,e=void 0){this.$emit("update:configuration",{value:t,object:e})}}},_={class:"electricity-tariff-awattar"};function m(t,e,a,b,w,r){const i=c("openwb-base-select-input");return s(),l("div",_,[u(i,{title:"Land",notSelected:"Bitte auswählen",options:[{value:"de",text:"Deutschland"},{value:"at",text:"Österreich"}],"model-value":a.electricityTariff.configuration.country,"onUpdate:modelValue":e[0]||(e[0]=n=>r.updateConfiguration(n,"configuration.country"))},{help:d(()=>[f(" Es werden die abgefragten Börsenpreise verwendet, die aWATTar bereitstellt. aWATTar-Gebühren oder Steuern werden nicht berücksichtigt. ")]),_:1},8,["model-value"])])}const v=o(p,[["render",m],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/electricity_tariffs/awattar/electricity_tariff.vue"]]);export{v as default}; +import{_ as o,q as c,k as s,l,B as u,M as d,x as f}from"./vendor-493c2bec.js";import"./vendor-sortablejs-0b339223.js";const p={name:"ElectricityTariffAwattar",emits:["update:configuration"],props:{electricityTariff:{type:Object,required:!0}},data(){return{}},methods:{updateConfiguration(t,e=void 0){this.$emit("update:configuration",{value:t,object:e})}}},_={class:"electricity-tariff-awattar"};function m(t,e,a,b,w,r){const i=c("openwb-base-select-input");return s(),l("div",_,[u(i,{title:"Land",notSelected:"Bitte auswählen",options:[{value:"de",text:"Deutschland"},{value:"at",text:"Österreich"}],"model-value":a.electricityTariff.configuration.country,"onUpdate:modelValue":e[0]||(e[0]=n=>r.updateConfiguration(n,"configuration.country"))},{help:d(()=>[f(" Es werden die abgefragten Börsenpreise verwendet, die aWATTar bereitstellt. aWATTar-Gebühren oder Steuern werden nicht berücksichtigt. ")]),_:1},8,["model-value"])])}const v=o(p,[["render",m],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/electricity_tariffs/awattar/electricity_tariff.vue"]]);export{v as default}; diff --git a/web/settings/assets/external_inverter-7c122784.js b/web/settings/assets/external_inverter-3064ce51.js similarity index 86% rename from web/settings/assets/external_inverter-7c122784.js rename to web/settings/assets/external_inverter-3064ce51.js index ff7d28b97d..16ece07922 100644 --- a/web/settings/assets/external_inverter-7c122784.js +++ b/web/settings/assets/external_inverter-3064ce51.js @@ -1 +1 @@ -import{_ as c,q as n,k as d,l as p,B as o,M as s,x as a,u as l,y as u}from"./vendor-f0f38b48.js";import"./vendor-sortablejs-cbf37f8f.js";const _={name:"DeviceE3dcExternalInverter",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(e,t=void 0){this.$emit("update:configuration",{value:e,object:t})}}},f={class:"device-e3dc-external-inverter"},m={class:"small"};function b(e,t,v,g,h,x){const r=n("openwb-base-heading"),i=n("openwb-base-alert");return d(),p("div",f,[o(r,null,{default:s(()=>[a(" Einstellungen für externe E3DC Wechselrichter "),l("span",m,"(Modul: "+u(e.$options.name)+")",1)]),_:1}),o(i,{subtype:"info"},{default:s(()=>[a(" Diese Komponente benötigt keine Einstellungen. ")]),_:1})])}const $=c(_,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/e3dc/external_inverter.vue"]]);export{$ as default}; +import{_ as c,q as n,k as d,l as p,B as o,M as s,x as a,u as l,y as u}from"./vendor-493c2bec.js";import"./vendor-sortablejs-0b339223.js";const _={name:"DeviceE3dcExternalInverter",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(e,t=void 0){this.$emit("update:configuration",{value:e,object:t})}}},f={class:"device-e3dc-external-inverter"},m={class:"small"};function b(e,t,v,g,h,x){const r=n("openwb-base-heading"),i=n("openwb-base-alert");return d(),p("div",f,[o(r,null,{default:s(()=>[a(" Einstellungen für externe E3DC Wechselrichter "),l("span",m,"(Modul: "+u(e.$options.name)+")",1)]),_:1}),o(i,{subtype:"info"},{default:s(()=>[a(" Diese Komponente benötigt keine Einstellungen. ")]),_:1})])}const $=c(_,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/e3dc/external_inverter.vue"]]);export{$ as default}; diff --git a/web/settings/assets/external_inverter-a403039d.js b/web/settings/assets/external_inverter-65985343.js similarity index 86% rename from web/settings/assets/external_inverter-a403039d.js rename to web/settings/assets/external_inverter-65985343.js index 705631876f..b02ecc34b8 100644 --- a/web/settings/assets/external_inverter-a403039d.js +++ b/web/settings/assets/external_inverter-65985343.js @@ -1 +1 @@ -import{_ as c,q as n,k as d,l as p,B as o,M as a,x as r,u as l,y as u}from"./vendor-f0f38b48.js";import"./vendor-sortablejs-cbf37f8f.js";const _={name:"DeviceBatterXExternalInverter",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(e,t=void 0){this.$emit("update:configuration",{value:e,object:t})}}},f={class:"device-batterx-external-inverter"},m={class:"small"};function b(e,t,v,x,g,h){const s=n("openwb-base-heading"),i=n("openwb-base-alert");return d(),p("div",f,[o(s,null,{default:a(()=>[r(" Einstellungen für externen BatterX Wechselrichter "),l("span",m,"(Modul: "+u(e.$options.name)+")",1)]),_:1}),o(i,{subtype:"info"},{default:a(()=>[r(" Diese Komponente benötigt keine Einstellungen. ")]),_:1})])}const $=c(_,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/batterx/external_inverter.vue"]]);export{$ as default}; +import{_ as c,q as n,k as d,l as p,B as o,M as a,x as r,u as l,y as u}from"./vendor-493c2bec.js";import"./vendor-sortablejs-0b339223.js";const _={name:"DeviceBatterXExternalInverter",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(e,t=void 0){this.$emit("update:configuration",{value:e,object:t})}}},f={class:"device-batterx-external-inverter"},m={class:"small"};function b(e,t,v,x,g,h){const s=n("openwb-base-heading"),i=n("openwb-base-alert");return d(),p("div",f,[o(s,null,{default:a(()=>[r(" Einstellungen für externen BatterX Wechselrichter "),l("span",m,"(Modul: "+u(e.$options.name)+")",1)]),_:1}),o(i,{subtype:"info"},{default:a(()=>[r(" Diese Komponente benötigt keine Einstellungen. ")]),_:1})])}const $=c(_,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/batterx/external_inverter.vue"]]);export{$ as default}; diff --git a/web/settings/assets/external_inverter-b26af4c0.js b/web/settings/assets/external_inverter-a9253416.js similarity index 92% rename from web/settings/assets/external_inverter-b26af4c0.js rename to web/settings/assets/external_inverter-a9253416.js index 95eaf2149a..d14b713a61 100644 --- a/web/settings/assets/external_inverter-b26af4c0.js +++ b/web/settings/assets/external_inverter-a9253416.js @@ -1 +1 @@ -import{_ as c,q as i,k as p,l as _,B as n,M as u,x as d,u as f,y as g}from"./vendor-f0f38b48.js";import"./vendor-sortablejs-cbf37f8f.js";const b={name:"DeviceSolarEdgeExternalInverter",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(t,e=void 0){this.$emit("update:configuration",{value:t,object:e})}}},v={class:"device-solaredge-external-inverter"},h={class:"small"};function x(t,e,r,w,B,a){const l=i("openwb-base-heading"),m=i("openwb-base-alert"),s=i("openwb-base-number-input");return p(),_("div",v,[n(l,null,{default:u(()=>[d(" Einstellungen für SolarEdge externen Wechselrichter "),f("span",h,"(Modul: "+g(t.$options.name)+")",1)]),_:1}),n(m,{subtype:"info"},{default:u(()=>[d(' Diese Komponente nur konfigurieren, wenn ein weiteres Solaredge SmartMeter verbaut ist, welches z.B. die Leistung einer vorhandenen Bestands-PV-Anlage erfasst. Dieses zusätzliche SmartMeter muss dann als "Zähler 2" / "Position 2" im Wechselrichter-Konfigurationsmenü konfiguriert sein. ')]),_:1}),n(s,{title:"Modbus ID",required:"","model-value":r.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[0]||(e[0]=o=>a.updateConfiguration(o,"configuration.modbus_id"))},null,8,["model-value"]),n(s,{title:"Meter ID","model-value":r.configuration.meter_id,min:"1",max:"255","onUpdate:modelValue":e[1]||(e[1]=o=>a.updateConfiguration(o,"configuration.meter_id"))},null,8,["model-value"])])}const S=c(b,[["render",x],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/solaredge/external_inverter.vue"]]);export{S as default}; +import{_ as c,q as i,k as p,l as _,B as n,M as u,x as d,u as f,y as g}from"./vendor-493c2bec.js";import"./vendor-sortablejs-0b339223.js";const b={name:"DeviceSolarEdgeExternalInverter",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(t,e=void 0){this.$emit("update:configuration",{value:t,object:e})}}},v={class:"device-solaredge-external-inverter"},h={class:"small"};function x(t,e,r,w,B,a){const l=i("openwb-base-heading"),m=i("openwb-base-alert"),s=i("openwb-base-number-input");return p(),_("div",v,[n(l,null,{default:u(()=>[d(" Einstellungen für SolarEdge externen Wechselrichter "),f("span",h,"(Modul: "+g(t.$options.name)+")",1)]),_:1}),n(m,{subtype:"info"},{default:u(()=>[d(' Diese Komponente nur konfigurieren, wenn ein weiteres Solaredge SmartMeter verbaut ist, welches z.B. die Leistung einer vorhandenen Bestands-PV-Anlage erfasst. Dieses zusätzliche SmartMeter muss dann als "Zähler 2" / "Position 2" im Wechselrichter-Konfigurationsmenü konfiguriert sein. ')]),_:1}),n(s,{title:"Modbus ID",required:"","model-value":r.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[0]||(e[0]=o=>a.updateConfiguration(o,"configuration.modbus_id"))},null,8,["model-value"]),n(s,{title:"Meter ID","model-value":r.configuration.meter_id,min:"1",max:"255","onUpdate:modelValue":e[1]||(e[1]=o=>a.updateConfiguration(o,"configuration.meter_id"))},null,8,["model-value"])])}const S=c(b,[["render",x],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/solaredge/external_inverter.vue"]]);export{S as default}; diff --git a/web/settings/assets/index-131a952e.js b/web/settings/assets/index-131a952e.js deleted file mode 100644 index cbc3701307..0000000000 --- a/web/settings/assets/index-131a952e.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as w,k as r,l as d,m as v,p as y,q as _,u as o,x as p,y as g,z as f,A as u,B as m,D as C,E as I,F as S,G as Y,I as x,J as D,K as Z,L as X,M as h,N as ee,O as te,T as F,P as se,Q as R,R as L,S as q,U as ne,V as oe,W as ae,X as le,Y as ie,Z as re,$ as de}from"./vendor-f0f38b48.js";import{l as B,f as T,a as V,b as ce,c as ue,d as pe,e as me,F as O,g as E,h as _e,i as he,j as fe,k as ge,m as be,n as ve,o as we,p as ye,q as ke,r as Se,s as Ce,t as Be,u as Oe,v as $e,w as Ie,x as xe,y as Te,z as Ve,A as Me,B as Pe,C as He,D as Ae,E as De,G as Le,H as qe,I as Ee,J as je}from"./vendor-fortawesome-9fdc06a9.js";import"./vendor-bootstrap-384bc385.js";import{p as We,a as Re}from"./vendor-axios-e59ef189.js";import"./vendor-sortablejs-cbf37f8f.js";import"./vendor-jquery-8576ed22.js";(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const l of document.querySelectorAll('link[rel="modulepreload"]'))c(l);new MutationObserver(l=>{for(const s of l)if(s.type==="childList")for(const a of s.addedNodes)a.tagName==="LINK"&&a.rel==="modulepreload"&&c(a)}).observe(document,{childList:!0,subtree:!0});function n(l){const s={};return l.integrity&&(s.integrity=l.integrity),l.referrerPolicy&&(s.referrerPolicy=l.referrerPolicy),l.crossOrigin==="use-credentials"?s.credentials="include":l.crossOrigin==="anonymous"?s.credentials="omit":s.credentials="same-origin",s}function c(l){if(l.ep)return;l.ep=!0;const s=n(l);fetch(l.href,s)}})();const Ne={name:"OpenwbAlert",props:{subtype:{validator:function(e){return["info","success","warning","danger","primary","secondary","light","dark"].indexOf(e)!==-1},default:"secondary"}}};function Fe(e,t,n,c,l,s){return r(),d("div",{class:y(["card-text alert","alert-"+n.subtype])},[v(e.$slots,"default")],2)}const Ue=w(Ne,[["render",Fe],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbBaseAlert.vue"]]),ze=Object.freeze(Object.defineProperty({__proto__:null,default:Ue},Symbol.toStringTag,{value:"Module"}));B.add(T,V,ce,ue,pe,me);const Ge={name:"OpenwbArrayInput",inheritAttrs:!1,props:{title:String,modelValue:{type:Array,default:()=>[]},noElementsMessage:{type:String,default:()=>"Keine Elemente zugeordnet."}},emits:["update:modelValue"],data(){return{newTag:"",showHelp:!1}},computed:{value:{get(){return this.modelValue},set(e){this.$emit("update:modelValue",e)}},newTagValid:{get(){return this.newTag.length>0&&this.value.indexOf(this.newTag)==-1}}},methods:{toggleHelp(){this.showHelp=!this.showHelp&&this.$slots.help!==void 0},addTag(){if(this.newTagValid){let e=this.value;e.push(this.newTag),e.sort(),this.value=e,this.newTag=""}this.$refs.tagInput.focus()},removeTag(e){let t=this.value;t.splice(e,1),this.value=t}},components:{FontAwesomeIcon:O}},Je={class:"form-row mb-1"},Ke={class:"col-md-8"},Qe={class:"form-row"},Ye={class:"input-group"},Ze={class:"input-group-prepend"},Xe={class:"input-group-text"},et={class:"input-group-append"},tt={class:"form-row tagList mt-1"},st={key:0,class:"noTag"},nt={key:0,class:"form-row alert alert-info my-1 small"};function ot(e,t,n,c,l,s){const a=_("font-awesome-icon");return r(),d("div",Je,[o("label",{onClick:t[0]||(t[0]=(...i)=>s.toggleHelp&&s.toggleHelp(...i)),class:"col-md-4 col-form-label"},[p(g(n.title)+" ",1),e.$slots.help?(r(),f(a,{key:0,icon:l.showHelp?["fas","question-circle"]:["far","question-circle"],class:y(l.showHelp?"text-info":"")},null,8,["icon","class"])):u("",!0)]),o("div",Ke,[o("div",Qe,[o("div",Ye,[o("div",Ze,[o("div",Xe,[v(e.$slots,"input-prefix",{},()=>[m(a,{"fixed-width":"",icon:["fas","tag"]})],!0)])]),C(o("input",S({ref:"tagInput",type:"text",class:"form-control","onUpdate:modelValue":t[1]||(t[1]=i=>l.newTag=i)},e.$attrs,{onKeyup:t[2]||(t[2]=Y((...i)=>s.addTag&&s.addTag(...i),["enter"]))}),null,16),[[I,l.newTag]]),o("div",et,[o("div",{class:y(["input-group-text",s.newTagValid?"bg-success clickable":"notClickable"]),onClick:t[3]||(t[3]=(...i)=>s.addTag&&s.addTag(...i))},[v(e.$slots,"input-add",{},()=>[m(a,{"fixed-width":"",icon:["fas","plus"]})],!0)],2)])])]),o("div",tt,[s.value.length==0?(r(),d("span",st,[m(a,{icon:["fas","info-circle"]}),p(" "+g(n.noElementsMessage),1)])):u("",!0),(r(!0),d(x,null,D(s.value,(i,b)=>(r(),d("span",{class:"tag",key:b},[v(e.$slots,"element-prefix",{},()=>[m(a,{icon:["fas","tag"]})],!0),p(" "+g(i)+" ",1),m(a,{class:"clickable remove-element",icon:["fas","times-circle"],onClick:$=>s.removeTag(b)},null,8,["onClick"])]))),128))]),l.showHelp?(r(),d("span",nt,[v(e.$slots,"help",{},void 0,!0)])):u("",!0)])])}const at=w(Ge,[["render",ot],["__scopeId","data-v-9de93d37"],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbBaseArrayInput.vue"]]),lt=Object.freeze(Object.defineProperty({__proto__:null,default:at},Symbol.toStringTag,{value:"Module"}));const it={name:"OpenwbAvatar"},rt={class:"avatar"};function dt(e,t,n,c,l,s){return r(),d("div",rt,[v(e.$slots,"default",{},()=>[p("?")],!0)])}const ct=w(it,[["render",dt],["__scopeId","data-v-06082a1a"],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbBaseAvatar.vue"]]),ut=Object.freeze(Object.defineProperty({__proto__:null,default:ct},Symbol.toStringTag,{value:"Module"}));B.add(T,V,E);const pt={name:"OpenwbButtonGroupInput",inheritAttrs:!1,props:{title:String,modelValue:{type:[String,Number,Boolean]},buttons:Object},emits:["update:modelValue"],data(){return{showHelp:!1}},computed:{value:{get(){return this.modelValue},set(e){this.$emit("update:modelValue",e)}}},methods:{toggleHelp(){this.showHelp=!this.showHelp&&this.$slots.help!==void 0}},components:{FontAwesomeIcon:O}},mt={class:"form-row mb-1"},_t={class:"col-md-8"},ht={class:"form-row"},ft={class:"btn-group btn-block btn-group-toggle"},gt=["value"],bt={key:0,class:"form-row alert alert-info my-1 small"};function vt(e,t,n,c,l,s){const a=_("font-awesome-icon");return r(),d("div",mt,[o("label",{onClick:t[0]||(t[0]=(...i)=>s.toggleHelp&&s.toggleHelp(...i)),class:"col-md-4 col-form-label"},[p(g(n.title)+" ",1),e.$slots.help?(r(),f(a,{key:0,icon:l.showHelp?["fas","question-circle"]:["far","question-circle"],class:y(l.showHelp?"text-info":"")},null,8,["icon","class"])):u("",!0)]),o("div",_t,[o("div",ht,[o("div",ft,[(r(!0),d(x,null,D(n.buttons,i=>(r(),d("label",{key:i.value,class:y(["btn",[s.value==i.buttonValue?"active":"",i.class?i.class:"btn-outline-info"]])},[C(o("input",S({type:"radio","onUpdate:modelValue":t[1]||(t[1]=b=>s.value=b),value:i.buttonValue},e.$attrs),null,16,gt),[[Z,s.value]]),p(" "+g(i.text)+" ",1),m(a,{icon:["fas","check"],style:X([s.value==i.buttonValue?"visibility: visible":"visibility: hidden"])},null,8,["style"])],2))),128))])]),l.showHelp?(r(),d("span",bt,[v(e.$slots,"help")])):u("",!0)])])}const wt=w(pt,[["render",vt],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbBaseButtonGroupInput.vue"]]),yt=Object.freeze(Object.defineProperty({__proto__:null,default:wt},Symbol.toStringTag,{value:"Module"}));B.add(T,V);const kt={name:"OpenwbButtonInput",inheritAttrs:!1,props:{title:String,buttonText:String,disabled:{type:Boolean,default:!1},subtype:{type:String,validator:function(e){return["info","success","warning","danger","primary","secondary","light","dark"].indexOf(e)!==-1},default:"secondary"}},data(){return{showHelp:!1}},emits:["buttonClicked"],methods:{toggleHelp(){this.showHelp=!this.showHelp&&this.$slots.help!==void 0},handleClick(e){this.$emit("buttonClicked",e)}},components:{FontAwesomeIcon:O}},St={class:"form-row mb-1"},Ct={class:"col-md-8"},Bt={class:"form-row"},Ot={key:0,class:"form-row alert alert-info my-1 small"};function $t(e,t,n,c,l,s){const a=_("font-awesome-icon"),i=_("openwb-base-click-button");return r(),d("div",St,[o("label",{onClick:t[0]||(t[0]=(...b)=>s.toggleHelp&&s.toggleHelp(...b)),class:"col-md-4 col-form-label"},[p(g(n.title)+" ",1),e.$slots.help?(r(),f(a,{key:0,icon:l.showHelp?["fas","question-circle"]:["far","question-circle"],class:y(l.showHelp?"text-info":"")},null,8,["icon","class"])):u("",!0)]),o("div",Ct,[o("div",Bt,[m(i,S({class:(n.disabled?"btn-outline-":"btn-")+n.subtype,disabled:n.disabled},e.$attrs,{onButtonClicked:s.handleClick}),{default:h(()=>[v(e.$slots,"default",{},()=>[p(g(n.buttonText),1)])]),_:3},16,["class","disabled","onButtonClicked"])]),l.showHelp?(r(),d("span",Ot,[v(e.$slots,"help")])):u("",!0)])])}const It=w(kt,[["render",$t],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbBaseButtonInput.vue"]]),xt=Object.freeze(Object.defineProperty({__proto__:null,default:It},Symbol.toStringTag,{value:"Module"}));B.add(_e,he);const Tt={name:"OpenwbCard",components:{FontAwesomeIcon:O},props:{title:{type:String,default:"# no title set #"},subtype:{validator:function(e){return["info","success","warning","danger","primary","secondary","light","dark","pink"].indexOf(e)!==-1},default:"secondary"},collapsible:{type:Boolean,default:!1},collapsed:{type:Boolean,default:!1}},data(){return{isCollapsed:this.collapsible&&this.collapsed}},methods:{toggleBody(){this.collapsible===!0&&(this.isCollapsed=!this.isCollapsed)}}},Vt={class:"form-group mb-0"},Mt={class:"form-row vaRow mb-0 py-2"},Pt={class:"col"},Ht={class:"card-actions ml-4"},At={key:0,class:"card-actions mr-4"},Dt={key:0,class:"card-body"},Lt={key:1,class:"card-footer"};function qt(e,t,n,c,l,s){const a=_("font-awesome-icon");return r(),d("div",{class:y(["card","border-"+n.subtype])},[o("div",{class:y(["card-header py-1","bg-"+n.subtype]),onClick:t[0]||(t[0]=(...i)=>s.toggleBody&&s.toggleBody(...i))},[o("div",Vt,[o("div",Mt,[o("div",Pt,[v(e.$slots,"header",{collapsed:l.isCollapsed},()=>[p(g(n.title),1)])])])]),o("span",Ht,[e.$slots.actions?(r(),d("span",At,[v(e.$slots,"actions",{collapsed:l.isCollapsed})])):u("",!0),n.collapsible?(r(),f(a,{key:1,"fixed-width":"",icon:l.isCollapsed?["fas","chevron-right"]:["fas","chevron-down"]},null,8,["icon"])):u("",!0)])],2),l.isCollapsed===!1?(r(),d("div",Dt,[v(e.$slots,"default")])):u("",!0),e.$slots.footer&&l.isCollapsed===!1?(r(),d("div",Lt,[v(e.$slots,"footer")])):u("",!0)],2)}const Et=w(Tt,[["render",qt],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbBaseCard.vue"]]),jt=Object.freeze(Object.defineProperty({__proto__:null,default:Et},Symbol.toStringTag,{value:"Module"}));B.add(T,V);const Wt={name:"OpenwbCheckboxInput",inheritAttrs:!1,props:{title:String,modelValue:{type:Boolean}},emits:["update:modelValue"],data(){return{showHelp:!1}},computed:{value:{get(){return this.modelValue},set(e){this.$emit("update:modelValue",e)}}},methods:{toggleHelp(){this.showHelp=!this.showHelp&&this.$slots.help!==void 0}},components:{FontAwesomeIcon:O}},Rt={class:"form-row mb-1"},Nt={class:"col-md-8"},Ft={class:"form-row"},Ut={key:0,class:"form-row alert alert-info my-1 small"};function zt(e,t,n,c,l,s){const a=_("font-awesome-icon");return r(),d("div",Rt,[o("label",{onClick:t[0]||(t[0]=(...i)=>s.toggleHelp&&s.toggleHelp(...i)),class:"col-md-4 col-form-label"},[p(g(n.title)+" ",1),e.$slots.help?(r(),f(a,{key:0,icon:l.showHelp?["fas","question-circle"]:["far","question-circle"],class:y(l.showHelp?"text-info":"")},null,8,["icon","class"])):u("",!0)]),o("div",Nt,[o("div",Ft,[C(o("input",S({class:"form-control",type:"checkbox","onUpdate:modelValue":t[1]||(t[1]=i=>s.value=i)},e.$attrs),null,16),[[ee,s.value]])]),l.showHelp?(r(),d("span",Ut,[v(e.$slots,"help")])):u("",!0)])])}const Gt=w(Wt,[["render",zt],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbBaseCheckboxInput.vue"]]),Jt=Object.freeze(Object.defineProperty({__proto__:null,default:Gt},Symbol.toStringTag,{value:"Module"}));const Kt={name:"OpenwbClickButton",props:{title:String},emits:["buttonClicked"],methods:{click(e){this.$emit("buttonClicked",e)}}};function Qt(e,t,n,c,l,s){return r(),d("button",{type:"button",class:"btn btn-block",onClick:t[0]||(t[0]=te((...a)=>s.click&&s.click(...a),["prevent"]))},[v(e.$slots,"default",{},()=>[p(g(n.title),1)],!0)])}const Yt=w(Kt,[["render",Qt],["__scopeId","data-v-2e9c095b"],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbBaseClickButton.vue"]]),Zt=Object.freeze(Object.defineProperty({__proto__:null,default:Yt},Symbol.toStringTag,{value:"Module"}));B.add(fe,ge);const Xt={name:"OpenwbCopyToClipboard",components:{FontAwesomeIcon:O},props:{tooltip:{type:String,default:"Wert kopieren"}},data(){return{clipboardApiAvailable:navigator.clipboard!=null,isCopied:!1}},methods:{click(){if(console.debug(this.$refs["slot-wrapper"].innerText),this.clipboardApiAvailable)navigator.clipboard.writeText(this.$refs["slot-wrapper"].innerText).then(()=>{this.isCopied=!0},()=>{console.error("copy to clipboard failed")});else{if(console.debug("clipboard api not supported/enabled, fallback to select"),window.getSelection){console.debug("using 'window.getSelection'");const e=window.getSelection(),t=document.createRange();t.selectNodeContents(this.$refs["slot-wrapper"]),e.removeAllRanges(),e.addRange(t);return}if(document.body.createTextRange){console.debug("using 'document.body.createTextRange'");const e=document.body.createTextRange();e.moveToElementText(this.$refs["slot-wrapper"]),e.select()}else console.warn("could not select text, unsupported browser")}}}},es=["title"];function ts(e,t,n,c,l,s){const a=_("font-awesome-icon");return r(),d("span",{ref:"slot-wrapper",title:n.tooltip,class:"copy-me",onClick:t[0]||(t[0]=(...i)=>s.click&&s.click(...i))},[v(e.$slots,"default",{},void 0,!0),m(a,{"fixed-width":"",icon:l.isCopied?["fas","clipboard-check"]:["fas","clipboard"]},null,8,["icon"])],8,es)}const ss=w(Xt,[["render",ts],["__scopeId","data-v-81826ebe"],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbBaseCopyToClipboard.vue"]]),ns=Object.freeze(Object.defineProperty({__proto__:null,default:ss},Symbol.toStringTag,{value:"Module"}));B.add(T,V,E);const os={name:"OpenwbHeading",inheritAttrs:!1,components:{FontAwesomeIcon:O},data(){return{showHelp:!1}},methods:{toggleHelp(){this.showHelp=!this.showHelp&&this.$slots.help!==void 0}}},as={key:0,class:"actions"},ls={class:""},is={key:0,class:"form-row alert alert-info small"};function rs(e,t,n,c,l,s){const a=_("font-awesome-icon");return r(),d(x,null,[o("div",S({class:"card-text card-text-heading"},e.$attrs),[o("div",{class:"heading-text",onClick:t[0]||(t[0]=(...i)=>s.toggleHelp&&s.toggleHelp(...i))},[v(e.$slots,"default",{},void 0,!0),e.$slots.help?(r(),f(a,{key:0,icon:l.showHelp?["fas","question-circle"]:["far","question-circle"],class:y(l.showHelp?"text-info":"")},null,8,["icon","class"])):u("",!0)]),e.$slots.actions?(r(),d("span",as,[v(e.$slots,"actions",{},void 0,!0)])):u("",!0)],16),o("div",ls,[l.showHelp?(r(),d("span",is,[v(e.$slots,"help",{},void 0,!0)])):u("",!0)])],64)}const ds=w(os,[["render",rs],["__scopeId","data-v-cbe4e96e"],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbBaseHeading.vue"]]),cs=Object.freeze(Object.defineProperty({__proto__:null,default:ds},Symbol.toStringTag,{value:"Module"})),us={name:"OpenwbModalDialog",emits:["modal-result"],props:{title:String,subtype:{type:String,validator:function(e){return["info","success","warning","danger","primary","secondary","light","dark"].indexOf(e)!==-1},default:"secondary"},buttons:{type:Array,default:void 0},footerAlignment:{type:String,validator:function(e){return["around","between","center","end","start"].indexOf(e)!==-1},default:"end"},preventClose:{type:Boolean,default:!1},show:{type:Boolean,default:!1}},computed:{myButtons(){var e=[];return this.buttons!==void 0&&(e=this.buttons),this.preventClose||e.push({text:"Schließen",event:"close"}),e}},methods:{handleClick(e){e.stopPropagation();let t=e.target.getAttribute("data-event");t===null&&(t="close"),(t!="close"||!this.preventClose)&&this.$emit("modal-result",t)}}},ps=o("div",{class:"modal-backdrop fade show"},null,-1),ms={class:"modal-dialog modal-dialog-centered modal-dialog-scrollable",role:"document"},_s={class:"modal-content"},hs={class:"modal-title"},fs={class:"modal-body"},gs=["data-event"];function bs(e,t,n,c,l,s){return n.show?(r(),f(F,{key:0,to:"body"},[ps,o("div",{class:"modal fade d-block show",role:"dialog",onClick:t[2]||(t[2]=(...a)=>s.handleClick&&s.handleClick(...a))},[o("div",ms,[o("div",_s,[o("div",{class:y(["modal-header","bg-"+n.subtype])},[o("h4",hs,g(n.title),1),n.preventClose?u("",!0):(r(),d("button",{key:0,type:"button",class:"close",onClick:t[0]||(t[0]=(...a)=>s.handleClick&&s.handleClick(...a))}," × "))],2),o("div",fs,[v(e.$slots,"default",{},()=>[p("# Body #")])]),s.myButtons.length>0?(r(),d("div",{key:0,class:y(["modal-footer d-flex","justify-content-"+n.footerAlignment])},[(r(!0),d(x,null,D(s.myButtons,a=>(r(),d("button",{key:a.text,type:"button",class:y(["btn",a.subtype?"btn-"+a.subtype:"btn-secondary"]),"data-dismiss":"modal","data-event":a.event?a.event:"close",onClick:t[1]||(t[1]=(...i)=>s.handleClick&&s.handleClick(...i))},g(a.text),11,gs))),128))],2)):u("",!0)])])])])):u("",!0)}const vs=w(us,[["render",bs],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbBaseModalDialog.vue"]]),ws=Object.freeze(Object.defineProperty({__proto__:null,default:vs},Symbol.toStringTag,{value:"Module"}));B.add(T,V,be);const ys={name:"OpenwbNumberInput",inheritAttrs:!1,props:{title:String,modelValue:{type:Number},unit:String,precision:{type:Number,default:void 0},emptyValue:{required:!1,default:null}},emits:["update:modelValue"],data(){return{showHelp:!1}},computed:{value:{get(){return this.precision!==void 0?parseFloat(Math.round(this.modelValue*Math.pow(10,this.precision))/Math.pow(10,this.precision)):this.modelValue},set(e){(isNaN(e)||typeof e!="number")&&(e=this.emptyValue),this.$emit("update:modelValue",e)}}},methods:{toggleHelp(){this.showHelp=!this.showHelp&&this.$slots.help!==void 0}},components:{FontAwesomeIcon:O}},ks={class:"form-row mb-1"},Ss={class:"col-md-8"},Cs={class:"form-row"},Bs={class:"input-group"},Os={class:"input-group-prepend"},$s={class:"input-group-text"},Is={key:0,class:"input-group-append"},xs={class:"input-group-text"},Ts={key:0,class:"form-row alert alert-info my-1 small"};function Vs(e,t,n,c,l,s){const a=_("font-awesome-icon");return r(),d("div",ks,[o("label",{onClick:t[0]||(t[0]=(...i)=>s.toggleHelp&&s.toggleHelp(...i)),class:"col-md-4 col-form-label"},[p(g(n.title)+" ",1),e.$slots.help?(r(),f(a,{key:0,icon:l.showHelp?["fas","question-circle"]:["far","question-circle"],class:y(l.showHelp?"text-info":"")},null,8,["icon","class"])):u("",!0)]),o("div",Ss,[o("div",Cs,[o("div",Bs,[o("div",Os,[o("div",$s,[m(a,{"fixed-width":"",icon:["fas","calculator"]})])]),C(o("input",S({type:"number",class:"form-control","onUpdate:modelValue":t[1]||(t[1]=i=>s.value=i)},e.$attrs),null,16),[[I,s.value,void 0,{number:!0}]]),n.unit?(r(),d("div",Is,[o("div",xs,g(n.unit),1)])):u("",!0)])]),l.showHelp?(r(),d("span",Ts,[v(e.$slots,"help",{},void 0,!0)])):u("",!0)])])}const Ms=w(ys,[["render",Vs],["__scopeId","data-v-c2fb7eef"],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbBaseNumberInput.vue"]]),Ps=Object.freeze(Object.defineProperty({__proto__:null,default:Ms},Symbol.toStringTag,{value:"Module"}));B.add(T,V,ve,we);const Hs={name:"OpenwbRangeInput",inheritAttrs:!1,props:{title:String,modelValue:{type:Number},unit:String,min:{type:Number,default:0},max:{type:Number,default:100},step:{type:Number,default:1},labels:{type:Array}},emits:["update:modelValue"],data(){return{showHelp:!1}},computed:{label(){var e;return this.labels&&this.sliderValue!=null?this.sliderValues.toggleHelp&&s.toggleHelp(...i)),class:"col-md-4 col-form-label"},[p(g(n.title)+" ",1),e.$slots.help?(r(),f(a,{key:0,icon:l.showHelp?["fas","question-circle"]:["far","question-circle"],class:y(l.showHelp?"text-info":"")},null,8,["icon","class"])):u("",!0)]),o("div",Ds,[o("div",Ls,[s.label?(r(),d("label",qs,g(s.label),1)):u("",!0),o("button",{class:"col-1 btn btn-block btn-info",type:"button",onClick:t[1]||(t[1]=(...i)=>s.decrement&&s.decrement(...i))},[m(a,{icon:["fas","step-backward"]})]),o("div",Es,[C(o("input",S({type:"range",class:"form-control-range rangeInput",min:n.min,max:n.max,step:n.step,"onUpdate:modelValue":t[2]||(t[2]=i=>s.sliderValue=i)},e.$attrs),null,16,js),[[I,s.sliderValue,void 0,{number:!0}]])]),o("button",{class:"col-1 btn btn-block btn-info",type:"button",onClick:t[3]||(t[3]=(...i)=>s.increment&&s.increment(...i))},[m(a,{icon:["fas","step-forward"]})])]),l.showHelp?(r(),d("div",Ws,[o("div",Rs,[v(e.$slots,"help",{},void 0,!0)])])):u("",!0)])])}const Fs=w(Hs,[["render",Ns],["__scopeId","data-v-449fb0a5"],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbBaseRangeInput.vue"]]),Us=Object.freeze(Object.defineProperty({__proto__:null,default:Fs},Symbol.toStringTag,{value:"Module"}));B.add(T,V);const zs={name:"OpenwbSelectInput",inheritAttrs:!1,props:{title:String,modelValue:{type:[String,Number,Array]},groups:Object,options:Object,notSelected:{type:String,default:void 0}},emits:["update:modelValue"],data(){return{showHelp:!1}},computed:{value:{get(){return this.modelValue},set(e){this.$emit("update:modelValue",e)}}},methods:{toggleHelp(){this.showHelp=!this.showHelp&&this.$slots.help!==void 0}},components:{FontAwesomeIcon:O}},Gs={class:"form-row mb-1"},Js={class:"col-md-8"},Ks={class:"form-row"},Qs={key:0,value:void 0,disabled:""},Ys=["value"],Zs=["label"],Xs=["value"],en={key:0,class:"form-row alert alert-info my-1 small"};function tn(e,t,n,c,l,s){const a=_("font-awesome-icon");return r(),d("div",Gs,[o("label",{onClick:t[0]||(t[0]=(...i)=>s.toggleHelp&&s.toggleHelp(...i)),class:"col-md-4 col-form-label"},[p(g(n.title)+" ",1),e.$slots.help?(r(),f(a,{key:0,icon:l.showHelp?["fas","question-circle"]:["far","question-circle"],class:y(l.showHelp?"text-info":"")},null,8,["icon","class"])):u("",!0)]),o("div",Js,[o("div",Ks,[C(o("select",S({class:"col form-control","onUpdate:modelValue":t[1]||(t[1]=i=>s.value=i)},e.$attrs),[n.notSelected!==void 0?(r(),d("option",Qs," -- "+g(n.notSelected)+" -- ",1)):u("",!0),(r(!0),d(x,null,D(n.options,i=>(r(),d("option",{key:i.value,value:i.value},g(i.text),9,Ys))),128)),(r(!0),d(x,null,D(n.groups,i=>(r(),d("optgroup",{key:i.label,label:i.label},[(r(!0),d(x,null,D(i.options,b=>(r(),d("option",{key:b.value,value:b.value},g(b.text),9,Xs))),128))],8,Zs))),128))],16),[[se,s.value]]),v(e.$slots,"append")]),l.showHelp?(r(),d("span",en,[v(e.$slots,"help")])):u("",!0)])])}const sn=w(zs,[["render",tn],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbBaseSelectInput.vue"]]),nn=Object.freeze(Object.defineProperty({__proto__:null,default:sn},Symbol.toStringTag,{value:"Module"}));B.add(E,ye,ke);const on={name:"OpenwbSubmitButtons",components:{FontAwesomeIcon:O},props:{formName:{type:String,default:void 0},hideReset:{type:Boolean,default:!1},hideDefaults:{type:Boolean,default:!0}},data(){return{showModalReset:!1,showModalDefaults:!1}},emits:["reset","defaults","save"],computed:{showModalSave(){return this.$store.state.local.savingData}},methods:{showResetModal(){this.showModalReset=!0},handleModalReset(e){this.showModalReset=!1,e=="confirm"&&this.$emit("reset")},showDefaultsModal(){this.showModalDefaults=!0},handleModalDefaults(e){this.showModalDefaults=!1,e=="confirm"&&this.$emit("defaults")},saveSettings(){if(this.formName){if(!document.forms[this.formName].reportValidity()){console.debug("form invalid");return}}else console.debug("no form to validate");this.$emit("save")}}},an={class:"row justify-content-center mb-1"},ln={class:"col-md-4 d-flex py-1 justify-content-center"},rn={key:0,class:"col-md-4 d-flex py-1 justify-content-center"},dn={key:1,class:"col-md-4 d-flex py-1 justify-content-center"};function cn(e,t,n,c,l,s){const a=_("openwb-base-modal-dialog"),i=_("font-awesome-icon");return r(),d(x,null,[m(a,{show:s.showModalSave,title:"Speichern",subtype:"success",preventClose:!0},{default:h(()=>[p(" Einstellungen werden gespeichert... ")]),_:1},8,["show"]),m(a,{show:l.showModalReset,title:"Änderungen verwerfen",subtype:"warning",buttons:[{text:"Ok",event:"confirm",subtype:"warning"}],onModalResult:s.handleModalReset},{default:h(()=>[p(" Wollen Sie die nicht gespeicherten Änderungen wirklich verwerfen? ")]),_:1},8,["show","onModalResult"]),m(a,{show:l.showModalDefaults,title:"Werkseinstellungen",subtype:"danger",buttons:[{text:"Ok",event:"confirm",subtype:"danger"}],onModalResult:s.handleModalDefaults},{default:h(()=>[p(" Wollen Sie wirklich alle Werte dieser Seite auf die Werkseinstellungen zurücksetzen? ")]),_:1},8,["show","onModalResult"]),o("div",an,[o("div",ln,[o("button",{id:"saveSettingsBtn",type:"button",class:"btn btn-block btn-success",onClick:t[0]||(t[0]=(...b)=>s.saveSettings&&s.saveSettings(...b))},[p(" Speichern "),m(i,{"fixed-width":"",icon:["fas","check"]})])]),n.hideReset?u("",!0):(r(),d("div",rn,[o("button",{id:"modalResetBtn",type:"button",class:"btn btn-block btn-warning",onClick:t[1]||(t[1]=(...b)=>s.showResetModal&&s.showResetModal(...b))},[p(" Änderungen verwerfen "),m(i,{"fixed-width":"",icon:["fas","undo"]})])])),n.hideDefaults?u("",!0):(r(),d("div",dn,[o("button",{id:"modalDefaultsBtn",type:"button",class:"btn btn-block btn-danger",onClick:t[2]||(t[2]=(...b)=>s.showDefaultsModal&&s.showDefaultsModal(...b))},[p(" Werkseinstellungen "),m(i,{"fixed-width":"",icon:["fas","times"]})])]))])],64)}const un=w(on,[["render",cn],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbBaseSubmitButtons.vue"]]),pn=Object.freeze(Object.defineProperty({__proto__:null,default:un},Symbol.toStringTag,{value:"Module"}));B.add(T,V,Se,Ce,Be,Oe,$e,Ie,xe,Te,Ve,Me,Pe,He);const mn={name:"OpenwbTextInput",inheritAttrs:!1,props:{title:String,modelValue:{type:[String,Object]},subtype:{validator:function(e){return["text","email","host","url","user","json","password","time","date","month","year"].indexOf(e)!==-1},default:"text"},pattern:String,unit:String,emptyValue:{required:!1,default:null},showQuickButtons:{type:Boolean,default:!1}},emits:["update:modelValue"],data(){return{showHelp:!1,showPassword:!1,inputInvalid:!1,tempValue:this.modelValue}},computed:{value:{get(){return this.subtype=="json"?this.inputInvalid?(console.warn("returning invalid String"),this.tempValue):JSON.stringify(this.tempValue):this.modelValue},set(e){if(this.subtype=="json")try{let t=JSON.parse(e);this.inputInvalid=!1,this.$refs.jsonInput.setCustomValidity(""),this.tempValue=t,this.$emit("update:modelValue",t)}catch{console.error("parsing JSON failed: "+e),this.inputInvalid=!0,this.$refs.jsonInput.setCustomValidity("Ungültiger JSON Ausdruck!"),this.tempValue=e}else e==""&&(e=this.emptyValue),this.$emit("update:modelValue",e)}},inputRef(){switch(this.subtype){case"json":return this.$refs.jsonInput;case"password":return this.$refs.passwordInput;case"host":return this.$refs.hostInput;case"email":case"url":return this.$refs.urlInput;case"time":return this.$refs.timeInput;case"date":return this.$refs.dateInput;case"month":return this.$refs.monthInput;case"year":return this.$refs.yearInput}return this.$refs.textInput}},methods:{toggleHelp(){this.showHelp=!this.showHelp&&this.$slots.help!==void 0},togglePassword(){this.showPassword=!this.showPassword},modify(e){var t,n=new Date(this.modelValue);switch(this.subtype){case"date":n.setDate(n.getDate()+e),t=String(n.getFullYear())+"-"+String(n.getMonth()+1).padStart(2,"0")+"-"+String(n.getDate()).padStart(2,"0");break;case"month":n.setMonth(n.getMonth()+e),t=String(n.getFullYear())+"-"+String(n.getMonth()+1).padStart(2,"0");break;case"year":n.setYear(n.getFullYear()+e),t=String(n.getFullYear());break;default:console.warn(`cannot modify input of subtype '${this.subtype}'`);return}t>this.inputRef.max||t(L("data-v-6927d479"),e=e(),q(),e),_n={class:"form-row mb-1"},hn={class:"col-md-8"},fn={class:"form-row"},gn={class:"input-group"},bn={class:"input-group-prepend"},vn={class:"input-group-text"},wn=["pattern"],yn=["pattern"],kn=["type","pattern"],Sn=["type"],Cn={key:9,class:"input-group-append"},Bn={class:"input-group-text"},On={class:"input-group-text"},$n=U(()=>o("div",{class:"input-group-text"},"-",-1)),In=[$n],xn=U(()=>o("div",{class:"input-group-text"},"+",-1)),Tn=[xn],Vn={key:0,class:"form-row alert alert-info my-1 small"};function Mn(e,t,n,c,l,s){const a=_("font-awesome-icon");return r(),d("div",_n,[o("label",{onClick:t[0]||(t[0]=(...i)=>s.toggleHelp&&s.toggleHelp(...i)),class:"col-md-4 col-form-label"},[p(g(n.title)+" ",1),e.$slots.help?(r(),f(a,{key:0,icon:l.showHelp?["fas","question-circle"]:["far","question-circle"],class:y(l.showHelp?"text-info":"")},null,8,["icon","class"])):u("",!0)]),o("div",hn,[o("div",fn,[o("div",gn,[o("div",bn,[o("div",vn,[n.subtype=="text"?(r(),f(a,{key:0,"fixed-width":"",icon:["fas","keyboard"]})):u("",!0),n.subtype=="email"?(r(),f(a,{key:1,"fixed-width":"",icon:["fas","envelope"]})):u("",!0),n.subtype=="host"?(r(),f(a,{key:2,"fixed-width":"",icon:["fas","network-wired"]})):u("",!0),n.subtype=="url"?(r(),f(a,{key:3,"fixed-width":"",icon:["fas","globe"]})):u("",!0),n.subtype=="user"?(r(),f(a,{key:4,"fixed-width":"",icon:["fas","user"]})):u("",!0),n.subtype=="json"?(r(),f(a,{key:5,"fixed-width":"",icon:["fas","code"]})):u("",!0),n.subtype=="password"?(r(),f(a,{key:6,"fixed-width":"",icon:l.showPassword?["fas","unlock"]:["fas","lock"]},null,8,["icon"])):u("",!0),n.subtype=="time"?(r(),f(a,{key:7,"fixed-width":"",icon:["fas","clock"]})):u("",!0),n.subtype=="date"||n.subtype=="month"||n.subtype=="year"?(r(),f(a,{key:8,"fixed-width":"",icon:["fas","calendar-day"]})):u("",!0)])]),["text","user"].includes(n.subtype)?C((r(),d("input",S({key:0,ref:"textInput",type:"text",class:["form-control",{invalid:l.inputInvalid}],"onUpdate:modelValue":t[1]||(t[1]=i=>s.value=i)},e.$attrs,{pattern:n.pattern}),null,16,wn)),[[I,s.value]]):u("",!0),n.subtype=="json"?C((r(),d("input",S({key:1,ref:"jsonInput",type:"text",class:"form-control","onUpdate:modelValue":t[2]||(t[2]=i=>s.value=i)},e.$attrs,{pattern:n.pattern}),null,16,yn)),[[I,s.value]]):u("",!0),n.subtype=="password"?C((r(),d("input",S({key:2,ref:"passwordInput",type:l.showPassword?"text":"password",class:"form-control","onUpdate:modelValue":t[3]||(t[3]=i=>s.value=i)},e.$attrs,{pattern:n.pattern}),null,16,kn)),[[R,s.value]]):u("",!0),n.subtype=="host"?C((r(),d("input",S({key:3,ref:"hostInput",type:"text",class:"form-control","onUpdate:modelValue":t[4]||(t[4]=i=>s.value=i)},e.$attrs),null,16)),[[I,s.value]]):u("",!0),["email","url"].includes(n.subtype)?C((r(),d("input",S({key:4,refs:"urlInput",type:n.subtype,class:"form-control","onUpdate:modelValue":t[5]||(t[5]=i=>s.value=i)},e.$attrs),null,16,Sn)),[[R,s.value]]):u("",!0),n.subtype=="time"?C((r(),d("input",S({key:5,ref:"timeInput",type:"time",class:"form-control","onUpdate:modelValue":t[6]||(t[6]=i=>s.value=i)},e.$attrs),null,16)),[[I,s.value]]):u("",!0),n.subtype=="date"?C((r(),d("input",S({key:6,type:"date",ref:"dateInput",class:"form-control","onUpdate:modelValue":t[7]||(t[7]=i=>s.value=i)},e.$attrs),null,16)),[[I,s.value]]):u("",!0),n.subtype=="month"?C((r(),d("input",S({key:7,type:"month",ref:"monthInput",class:"form-control","onUpdate:modelValue":t[8]||(t[8]=i=>s.value=i)},e.$attrs),null,16)),[[I,s.value]]):u("",!0),n.subtype=="year"?C((r(),d("input",S({key:8,type:"number",ref:"yearInput",class:"form-control","onUpdate:modelValue":t[9]||(t[9]=i=>s.value=i)},e.$attrs),null,16)),[[I,s.value]]):u("",!0),n.unit?(r(),d("div",Cn,[o("div",Bn,g(n.unit),1)])):u("",!0),n.subtype=="password"?(r(),d("div",{key:10,class:"input-group-append clickable",onClick:t[10]||(t[10]=(...i)=>s.togglePassword&&s.togglePassword(...i))},[o("div",On,[m(a,{"fixed-width":"",icon:l.showPassword?["far","eye"]:["far","eye-slash"]},null,8,["icon"])])])):u("",!0),n.showQuickButtons&&(n.subtype=="date"||n.subtype=="month"||n.subtype=="year")?(r(),d("div",{key:11,class:"input-group-append clickable",onClick:t[11]||(t[11]=i=>s.modify(-1))},[...In])):u("",!0),n.showQuickButtons&&(n.subtype=="date"||n.subtype=="month"||n.subtype=="year")?(r(),d("div",{key:12,class:"input-group-append clickable",onClick:t[12]||(t[12]=i=>s.modify(1))},[...Tn])):u("",!0)])]),l.showHelp?(r(),d("span",Vn,[v(e.$slots,"help",{},void 0,!0)])):u("",!0)])])}const Pn=w(mn,[["render",Mn],["__scopeId","data-v-6927d479"],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbBaseTextInput.vue"]]),Hn=Object.freeze(Object.defineProperty({__proto__:null,default:Pn},Symbol.toStringTag,{value:"Module"}));B.add(T,V);const An={name:"OpenwbTextareaInput",inheritAttrs:!1,props:{title:String,modelValue:{String,Object},subtype:{validator:function(e){return["text","json"].indexOf(e)!==-1},default:"text"}},emits:["update:modelValue"],data(){return{showHelp:!1,inputInvalid:!1,tempValue:this.modelValue}},computed:{value:{get(){return this.subtype=="json"?this.inputInvalid?(console.debug("returning invalid String"),this.tempValue):JSON.stringify(this.tempValue,void 0,2):this.modelValue},set(e){if(this.subtype=="json")try{let t=JSON.parse(e);this.inputInvalid=!1,this.$refs.jsonInput.setCustomValidity(""),this.tempValue=t,this.$emit("update:modelValue",t)}catch{console.warn("parsing JSON failed: "+e),this.inputInvalid=!0,this.$refs.jsonInput.setCustomValidity("Ungültiger JSON Ausdruck!"),this.tempValue=e}else this.$emit("update:modelValue",e)}},length:{get(){return this.value!==void 0?this.value.length:0}}},methods:{toggleHelp(){this.showHelp=!this.showHelp&&this.$slots.help!==void 0}},components:{FontAwesomeIcon:O}},Dn={class:"form-row mb-1"},Ln={class:"col-md-8"},qn={class:"form-row"},En={class:"input-group"},jn={class:"input-group-prepend"},Wn={class:"input-group-text"},Rn={key:2,class:"input-group-append"},Nn={class:"input-group-text"},Fn={class:"form-text text-muted text-right"},Un={key:0,class:"form-row alert alert-info my-1 small"};function zn(e,t,n,c,l,s){const a=_("font-awesome-icon");return r(),d("div",Dn,[o("label",{onClick:t[0]||(t[0]=(...i)=>s.toggleHelp&&s.toggleHelp(...i)),class:"col-md-4 col-form-label"},[p(g(n.title)+" ",1),e.$slots.help?(r(),f(a,{key:0,icon:l.showHelp?["fas","question-circle"]:["far","question-circle"],class:y(l.showHelp?"text-info":"")},null,8,["icon","class"])):u("",!0)]),o("div",Ln,[o("div",qn,[o("div",En,[o("div",jn,[o("div",Wn,[n.subtype=="text"?(r(),f(a,{key:0,"fixed-width":"",icon:["fas","keyboard"]})):u("",!0),n.subtype=="json"?(r(),f(a,{key:1,"fixed-width":"",icon:["fas","code"]})):u("",!0)])]),n.subtype==="json"?C((r(),d("textarea",S({key:0,ref:"jsonInput",class:"form-control","onUpdate:modelValue":t[1]||(t[1]=i=>s.value=i)},e.$attrs),null,16)),[[I,s.value,void 0,{lazy:!0}]]):C((r(),d("textarea",S({key:1,class:"form-control","onUpdate:modelValue":t[2]||(t[2]=i=>s.value=i)},e.$attrs),null,16)),[[I,s.value]]),e.$attrs.maxlength?(r(),d("div",Rn,[o("div",Nn,[o("small",Fn,g(s.length)+" / "+g(e.$attrs.maxlength),1)])])):u("",!0)])]),l.showHelp?(r(),d("span",Un,[v(e.$slots,"help",{},void 0,!0)])):u("",!0)])])}const Gn=w(An,[["render",zn],["__scopeId","data-v-3d93046b"],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbBaseTextarea.vue"]]),Jn=Object.freeze(Object.defineProperty({__proto__:null,default:Gn},Symbol.toStringTag,{value:"Module"}));const Kn={name:"OpenwbToast",emits:["dismiss","hide"],props:{topic:{type:String,required:!0},subtype:{validator:function(e){return["info","success","warning","danger","primary","secondary","light","dark"].indexOf(e)!==-1},default:"secondary"},source:{validator:function(e){return["system","client","command"].indexOf(e)!==-1}},timestamp:{type:Number}},data(){return{handle:void 0,relativeTime:void 0,hidden:!1}},methods:{dismiss(){this.$emit("dismiss",{topic:this.topic})},updateRelativeTime(){const e={year:31536e6,month:2628e6,day:864e5,hour:36e5,minute:6e4,second:1e3};var t=new Intl.RelativeTimeFormat("de",{numeric:"auto"});const c=new Date-this.timestamp*1e3;for(var l in e)if(Math.abs(c)>e[l]){this.relativeTime=t.format(Math.round(-c/e[l]),l);break}c>10*1e3&&!this.hidden&&(this.hidden=!0,this.$emit("hide",{topic:this.topic}))}},mounted(){this.handle=window.setInterval(this.updateRelativeTime,1e3)},unmounted(){window.clearInterval(this.handle)}},z=e=>(L("data-v-c51b5764"),e=e(),q(),e),Qn=z(()=>o("strong",{class:"pr-2 mr-auto"},"OpenWB",-1)),Yn={key:0,class:"time-diff"},Zn=z(()=>o("span",{"aria-hidden":"true"},"×",-1)),Xn=[Zn],eo={class:"toast-body"};function to(e,t,n,c,l,s){return r(),d("div",{class:y(["toast","border-"+n.subtype]),role:"alert"},[o("div",{class:y(["toast-header","bg-"+n.subtype])},[Qn,n.timestamp?(r(),d("small",Yn,g(l.relativeTime),1)):u("",!0),o("button",{type:"button",class:"ml-2 mb-1 close","data-dismiss":"toast","aria-label":"Close",onClick:t[0]||(t[0]=(...a)=>s.dismiss&&s.dismiss(...a))},[...Xn])],2),o("div",eo,[v(e.$slots,"default",{},void 0,!0)])],2)}const so=w(Kn,[["render",to],["__scopeId","data-v-c51b5764"],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbBaseToast.vue"]]),no=Object.freeze(Object.defineProperty({__proto__:null,default:so},Symbol.toStringTag,{value:"Module"}));B.add(Ae);const oo={name:"OpenwbNavBar",components:{FontAwesomeIcon:O},computed:{nodeEnv(){return"development"}},watch:{$route(){this.$refs.collapsibleNavbar.classList.remove("show"),this.$refs.navbarButton.classList.add("collapsed"),this.$refs.navbarButton.setAttribute("aria-expanded",!1)}}},P=e=>(L("data-v-e7a6d0c0"),e=e(),q(),e),ao={class:"navbar navbar-expand-lg bg-dark navbar-dark fixed-top"},lo=P(()=>o("a",{class:"navbar-brand",href:"/openWB/web/"},[o("span",null,"openWB")],-1)),io={class:"navbar-toggler mr-5",type:"button","data-toggle":"collapse","data-target":"#collapsibleNavbar",ref:"navbarButton"},ro=P(()=>o("span",{class:"navbar-toggler-icon"},null,-1)),co=[ro],uo={class:"collapse navbar-collapse navbar-nav-scroll",id:"collapsibleNavbar",ref:"collapsibleNavbar"},po={class:"navbar-nav"},mo={class:"nav-item"},_o={class:"nav-item dropdown nav-separator-after"},ho=P(()=>o("a",{class:"nav-link dropdown-toggle",href:"#",role:"button","data-toggle":"dropdown","aria-expanded":"false"}," Auswertungen ",-1)),fo={class:"dropdown-menu","aria-labelledby":"navbarDropdown"},go={class:"nav-item dropdown"},bo=P(()=>o("a",{class:"nav-link dropdown-toggle",href:"#",role:"button","data-toggle":"dropdown","aria-expanded":"false"}," Einstellungen ",-1)),vo={class:"dropdown-menu","aria-labelledby":"navbarDropdown"},wo={class:"nav-item dropdown"},yo=P(()=>o("a",{class:"nav-link dropdown-toggle",href:"#",role:"button","data-toggle":"dropdown","aria-expanded":"false"}," Ladeeinstellungen ",-1)),ko={class:"dropdown-menu","aria-labelledby":"navbarDropdown"},So={class:"nav-item dropdown"},Co=P(()=>o("a",{class:"nav-link dropdown-toggle",href:"#",role:"button","data-toggle":"dropdown","aria-expanded":"false"}," Konfiguration ",-1)),Bo={class:"dropdown-menu","aria-labelledby":"navbarDropdown"},Oo=P(()=>o("div",{class:"dropdown-divider"},null,-1)),$o=P(()=>o("a",{href:"modules/legacy_smart_home/smarthomeconfig.php",class:"dropdown-item",target:"_blank"}," SmartHome ",-1)),Io={class:"nav-item dropdown"},xo=P(()=>o("a",{class:"nav-link dropdown-toggle",href:"#",role:"button","data-toggle":"dropdown","aria-expanded":"false"}," System ",-1)),To={class:"dropdown-menu","aria-labelledby":"navbarDropdown"},Vo={class:"nav-item nav-separator-before"},Mo={class:"nav-link",href:"https://github.com/openWB/core/wiki",target:"_blank"};function Po(e,t,n,c,l,s){const a=_("router-link"),i=_("font-awesome-icon");return r(),d("nav",ao,[lo,o("button",io,[...co],512),o("div",uo,[o("ul",po,[o("li",mo,[m(a,{to:"/Status",class:"nav-link","active-class":"active disabled"},{default:h(()=>[p(" Status ")]),_:1})]),o("li",_o,[ho,o("div",fo,[m(a,{to:"/Logging/ChargeLog",class:"dropdown-item","active-class":"active disabled"},{default:h(()=>[p(" Ladeprotokoll ")]),_:1}),m(a,{to:"/Logging/Chart",class:"dropdown-item","active-class":"active disabled"},{default:h(()=>[p(" Diagramme ")]),_:1})])]),o("li",go,[bo,o("div",vo,[m(a,{to:"/GeneralConfig",class:"dropdown-item","active-class":"active disabled"},{default:h(()=>[p(" Allgemein ")]),_:1}),m(a,{to:"/OptionalComponents",class:"dropdown-item","active-class":"active disabled"},{default:h(()=>[p(" Optionale Hardware ")]),_:1})])]),o("li",wo,[yo,o("div",ko,[m(a,{to:"/GeneralChargeConfig",class:"dropdown-item","active-class":"active disabled"},{default:h(()=>[p(" Übergreifendes ")]),_:1}),m(a,{to:"/InstantChargeConfig",class:"dropdown-item","active-class":"active disabled"},{default:h(()=>[p(" Sofortladen ")]),_:1}),m(a,{to:"/PVChargeConfig",class:"dropdown-item","active-class":"active disabled"},{default:h(()=>[p(" PV-Laden ")]),_:1}),m(a,{to:"/TimeChargeConfig",class:"dropdown-item","active-class":"active disabled"},{default:h(()=>[p(" Zeitladen ")]),_:1}),m(a,{to:"/ScheduledChargeConfig",class:"dropdown-item","active-class":"active disabled"},{default:h(()=>[p(" Zielladen ")]),_:1})])]),o("li",So,[Co,o("div",Bo,[m(a,{to:"/HardwareInstallation",class:"dropdown-item","active-class":"active disabled"},{default:h(()=>[p(" Geräte und Komponenten ")]),_:1}),m(a,{to:"/LoadManagementConfiguration",class:"dropdown-item","active-class":"active disabled"},{default:h(()=>[p(" Lastmanagement ")]),_:1}),m(a,{to:"/ChargePointInstallation",class:"dropdown-item","active-class":"active disabled"},{default:h(()=>[p(" Ladepunkte ")]),_:1}),m(a,{to:"/VehicleConfiguration",class:"dropdown-item","active-class":"active disabled"},{default:h(()=>[p(" Fahrzeuge ")]),_:1}),Oo,$o])]),o("li",Io,[xo,o("div",To,[m(a,{to:"/System/CloudConfiguration",class:"dropdown-item","active-class":"active disabled"},{default:h(()=>[p(" openWB Cloud ")]),_:1}),m(a,{to:"/System/MqttBridgeConfiguration",class:"dropdown-item","active-class":"active disabled"},{default:h(()=>[p(" MQTT-Brücken ")]),_:1}),m(a,{to:"/System/DebugConfiguration",class:"dropdown-item","active-class":"active disabled"},{default:h(()=>[p(" Fehlersuche ")]),_:1}),m(a,{to:"/System/Support",class:"dropdown-item","active-class":"active disabled"},{default:h(()=>[p(" Support ")]),_:1}),m(a,{to:"/System/DataManagement",class:"dropdown-item","active-class":"active disabled"},{default:h(()=>[p(" Datenverwaltung ")]),_:1}),m(a,{to:"/System/SystemConfiguration",class:"dropdown-item","active-class":"active disabled"},{default:h(()=>[p(" System ")]),_:1}),m(a,{to:"/System/LegalSettings",class:"dropdown-item","active-class":"active disabled"},{default:h(()=>[p(" Rechtliches ")]),_:1})])]),o("li",Vo,[o("a",Mo,[p(" Wiki "),m(i,{"fixed-width":"",icon:["fas","external-link-alt"]})])])])],512)])}const Ho=w(oo,[["render",Po],["__scopeId","data-v-e7a6d0c0"],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbPageNavbar.vue"]]);const Ao={name:"OpenwbPageFooter"},Do={id:"footer",class:"footer bg-dark text-light font-small"},Lo={class:"container text-center"};function qo(e,t,n,c,l,s){return r(),d("footer",Do,[o("div",Lo,[o("small",null," Sie befinden sich hier: Einstellungen / "+g(e.$route.meta.heading),1)])])}const Eo=w(Ao,[["render",qo],["__scopeId","data-v-3c9a239a"],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbPageFooter.vue"]]);B.add(De);const jo={name:"OpenwbDonationBanner",components:{FontAwesomeIcon:O}},Wo={class:"mt-3 alert alert-dark text-center"},Ro=o("br",null,null,-1),No=o("br",null,null,-1),Fo={action:"https://www.paypal.com/cgi-bin/webscr",method:"post",target:"_blank"},Uo=o("input",{type:"hidden",name:"cmd",value:"_s-xclick"},null,-1),zo=o("input",{type:"hidden",name:"hosted_button_id",value:"2K8C4Y2JTGH7U"},null,-1),Go={type:"submit",class:"btn btn-primary"};function Jo(e,t,n,c,l,s){const a=_("font-awesome-icon");return r(),d("div",Wo,[p(" Open Source made with love!"),Ro,p(" Jede Spende hilft die Weiterentwicklung von openWB voranzutreiben"),No,o("form",Fo,[Uo,zo,o("button",Go,[p(" Spenden "),m(a,{icon:["fab","paypal"]})])])])}const Ko=w(jo,[["render",Jo],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbPageDonationBanner.vue"]]),Qo={name:"ComponentState",data(){return{mqttTopicsToSubscribe:[]}},emits:["reset","defaults","save"],computed:{weekdays(){return["Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag","Sonntag"]},chargeModes(){return["instant_charging","pv_charging","scheduled_charging","time_charging","standby","stop"]},mqttClientId(){return this.$root.mqttClientId}},methods:{updateState(e,t,n=void 0){console.debug("updateState:",e,t,n),this.$store.commit({type:"updateTopic",topic:e,objectPath:n,payload:t})},getWildcardIndexList(e,t=!1){let n=e;t||(n="^"+e.replaceAll("/","\\/").replaceAll("+","[^+/]+").replaceAll("#","[^#/]+")+"$");let c=Object.keys(this.$store.state.mqtt).filter(l=>l.match(n));return c.forEach((l,s,a)=>{a[s]=parseInt(l.match(/(?:\/)([0-9]+)(?=\/)*/g)[0].replace(/[^0-9]+/g,""))}),c},getWildcardTopics(e,t=!1){let n=e;return t||(n="^"+e.replaceAll("/","\\/").replaceAll("+","[^+/]+").replaceAll("#","[^#/]+")+"$"),Object.keys(this.$store.state.mqtt).filter(c=>c.match(n)).reduce((c,l)=>({...c,[l]:this.$store.state.mqtt[l]}),{})},formatDate(e,t={year:"numeric",month:"2-digit",day:"2-digit"}){return new Date(e).toLocaleDateString(void 0,t)},formatNumber(e,t=0,n=t,c=1){return(e*c).toLocaleString(void 0,{minimumFractionDigits:t,maximumFractionDigits:n})},formatNumberTopic(e,t=0,n=t,c=1){return this.$store.state.mqtt[e]?this.formatNumber(this.$store.state.mqtt[e],t,n,c):"-"},formatPhaseArrayNumberTopic(e,t=0,n=t,c=1){return this.$store.state.mqtt[e]?this.$store.state.mqtt[e].map(l=>this.formatNumber(l,t,n,c)).join(" / "):"- / - / -"},translateChargeMode(e){switch(e){case"instant_charging":return"Sofort";case"pv_charging":return"PV";case"scheduled_charging":return"Zielladen";case"time_charging":return"Zeitladen";case"standby":return"Standby";case"stop":return"Stop";default:return console.warn("unknown charge mode:",e),e}}},mounted(){`openWB/log/${this.mqttClientId}/data`in this.$store.state.mqtt||this.mqttTopicsToSubscribe.push("openWB/log/"+this.mqttClientId+"/data"),this.mqttTopicsToSubscribe.forEach(e=>{e.includes("#")||e.includes("+")?console.debug("skipping init of wildcard topic:",e):Object.keys(this.$store.state.mqtt).includes(e)?console.error("multiple subscriptions of topic!",e):this.$store.commit("addTopic",{topic:e,payload:void 0})}),this.$root.doSubscribe(this.mqttTopicsToSubscribe)},unmounted(){this.$root.doUnsubscribe(this.mqttTopicsToSubscribe),this.mqttTopicsToSubscribe.forEach(e=>{e.includes("#")||e.includes("+")?(console.debug("expanding wildcard topic:",e),Object.keys(this.getWildcardTopics(e)).forEach(t=>{console.debug("removing wildcardTopic:",t),this.$store.commit("removeTopic",t)})):this.$store.commit("removeTopic",e)})}},G=w(Qo,[["__file","/opt/openWB-dev/openwb-ui-settings/src/components/mixins/ComponentState.vue"]]);B.add(Le,qe);const Yo={name:"OpenwbPageMessages",mixins:[G],components:{FontAwesomeIcon:O,FontAwesomeLayers:Ee,FontAwesomeLayersText:je},data(){return{mqttTopicsToSubscribe:["openWB/system/messages/+","openWB/command/"+this.$root.mqttClientId+"/messages/+","openWB/command/"+this.$root.mqttClientId+"/error"],showAllMessages:!1,hiddenMessages:[]}},computed:{alertLevel(){return this.messages.reduce((t,n)=>((t=="light"&&["info","success","warning","danger"].includes(n.type)||t=="info"&&["success","warning","danger"].includes(n.type)||t=="success"&&["warning","danger"].includes(n.type)||t=="warning"&&n.type=="danger")&&(t=n.type),t),"light")},messages(){const e=[];return this.alertData&&e.push({topic:"openWB/command/"+this.$root.mqttClientId+"/error",source:"command",type:"danger",message:`Bei der Verarbeitung des Befehls '`+this.alertData.command+`' mit den Parametern '`+this.alertData.data+"' ist ein Fehler aufgetreten:
"+this.alertData.error+"
"}),this.systemMessages.forEach(t=>{e.push(t)}),this.clientMessages.forEach(t=>{e.push(t)}),e.sort(this.compareMessagesByTimestamp),e},recentMessages(){return this.showAllMessages?this.messages:this.messages.filter(e=>!this.hiddenMessages.includes(e.topic))},messageIndicatorClass(){return"text-"+this.alertLevel},alertData(){return this.$store.state.mqtt["openWB/command/"+this.$root.mqttClientId+"/error"]},systemMessages(){let e=this.getWildcardTopics("openWB/system/messages/+");var t=[];for(const[n,c]of Object.entries(e))t.push({topic:n,...c});return t},clientMessages(){let e=this.getWildcardTopics("openWB/command/"+this.$root.mqttClientId+"/messages/+");var t=[];for(const[n,c]of Object.entries(e))t.push({topic:n,...c});return t}},methods:{toggleAllMessages(){this.showAllMessages=!this.showAllMessages},compareMessagesByTimestamp(e,t){return t.timestamp-e.timestamp},clearTopic(e){this.$root.doPublish(e,void 0)},dismissError(){this.clearTopic("openWB/command/"+this.$root.mqttClientId+"/error")},dismissMessage(e){this.clearTopic(e.topic);var t=this.hiddenMessages.indexOf(e.topic);t>-1&&this.hiddenMessages.splice(t,1)},dismissAllMessages(){this.messages.forEach(e=>{this.clearTopic(e.topic)}),this.hiddenMessages=[],this.toggleAllMessages()},hideMessage(e){this.hiddenMessages.includes(e.topic)||this.hiddenMessages.push(e.topic)}}},Zo=["innerHTML"];function Xo(e,t,n,c,l,s){const a=_("font-awesome-icon"),i=_("font-awesome-layers-text"),b=_("font-awesome-layers"),$=_("openwb-base-alert"),M=_("openwb-base-click-button"),H=_("openwb-base-toast");return r(),d(x,null,[(r(),f(F,{to:"body"},[o("div",{id:"message-indicator",class:y(["text-light mt-1 p-2 mr-1 clickable",l.showAllMessages?"active":""]),onClick:t[0]||(t[0]=(...A)=>s.toggleAllMessages&&s.toggleAllMessages(...A))},[m(b,{"full-width":"",style:{"font-size":"175%"}},{default:h(()=>[m(a,{"fixed-width":"",icon:l.showAllMessages?["fas","bell"]:["far","bell"],class:y(s.messageIndicatorClass)},null,8,["icon","class"]),s.messages.length>0?(r(),f(i,{key:0,counter:"",value:s.messages.length,position:"top-right",class:"message-counter bg-light text-dark"},null,8,["value"])):u("",!0)]),_:1})],2)])),s.recentMessages.length>0||l.showAllMessages?(r(),d("div",{key:0,class:y(["openwb-toast-container",l.showAllMessages?"full-height":""])},[s.recentMessages.length==0?(r(),f($,{key:0,subtype:"info"},{default:h(()=>[p(" Keine Nachrichten vorhanden. ")]),_:1})):l.showAllMessages?(r(),f(M,{key:1,class:"btn-sm btn-secondary mb-1",onButtonClicked:s.dismissAllMessages},{default:h(()=>[p(" Alle Nachrichten löschen ")]),_:1},8,["onButtonClicked"])):u("",!0),(r(!0),d(x,null,D(s.recentMessages,A=>(r(),f(H,{key:A.topic,topic:A.topic,source:A.source,subtype:A.type,timestamp:A.timestamp,onDismiss:s.dismissMessage,onHide:s.hideMessage},{default:h(()=>[o("span",{innerHTML:A.message},null,8,Zo)]),_:2},1032,["topic","source","subtype","timestamp","onDismiss","onHide"]))),128))],2)):u("",!0)],64)}const ea=w(Yo,[["render",Xo],["__scopeId","data-v-2c25f0d0"],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbPageMessages.vue"]]),ta={name:"OpenwbPageBlocker",mixins:[G],data(){return{mqttTopicsToSubscribe:["openWB/system/boot_done","openWB/system/update_in_progress"]}},computed:{title(){return this.bootInProgress||this.updateInProgress?"openWB ist noch nicht bereit":this.reloadRequired?"Neues Laden der Seite erforderlich":"???"},myButtons(){return!(this.bootInProgress||this.updateInProgress)&&this.reloadRequired?[{text:"Jetzt neu laden",subtype:"success",event:"reload"}]:[]},bootInProgress(){return this.$store.state.mqtt["openWB/system/boot_done"]==null?!0:!this.$store.state.mqtt["openWB/system/boot_done"]},updateInProgress(){return this.$store.state.mqtt["openWB/system/update_in_progress"]==null?!1:this.$store.state.mqtt["openWB/system/update_in_progress"]},reloadRequired(){return this.$store.state.local.reloadRequired},showModalBlocker(){return this.bootInProgress||this.updateInProgress||this.reloadRequired}},methods:{handleModalResult(e){e=="reload"?location.reload():console.warn("unknown event",e)}}},sa={class:"openwb-blocker"},na={key:0},oa={key:1},aa={key:2},la={key:3};function ia(e,t,n,c,l,s){const a=_("openwb-base-modal-dialog");return r(),d("div",sa,[m(a,{show:s.showModalBlocker,title:s.title,subtype:"dark",preventClose:!0,buttons:s.myButtons,onModalResult:t[0]||(t[0]=i=>s.handleModalResult(i))},{default:h(()=>[s.bootInProgress?(r(),d("p",na," Der Systemstart ist noch nicht abgeschlossen. ")):u("",!0),s.updateInProgress?(r(),d("p",oa," Es wird eine Systemaktualisierung ausgeführt. ")):u("",!0),!(s.bootInProgress||s.updateInProgress)&&s.reloadRequired?(r(),d("p",aa," Bitte die Seite neu laden. ")):(r(),d("p",la,"Bitte warten..."))]),_:1},8,["show","title","buttons"])])}const ra=w(ta,[["render",ia],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbPageBlocker.vue"]]);const da={name:"settings-app",components:{NavBar:Ho,PageFooter:Eo,DonationBanner:Ko,Messages:ea,Blocker:ra},data(){return{client:{connected:!1},connection:{protocol:location.protocol=="https:"?"wss":"ws",host:location.hostname,port:parseInt(location.port)||(location.protocol=="https:"?443:80),endpoint:"/ws",connectTimeout:4e3,reconnectPeriod:4e3}}},computed:{mqttClientId(){try{return this.client.options.clientId}catch{return}},topicList(){return Object.keys(this.$store.state.mqtt)}},methods:{async saveValues(e=void 0){function t(c){return new Promise(l=>setTimeout(l,c))}console.debug("saving values..."),this.$store.state.local.savingData=!0;let n={};e===void 0?n=this.$store.state.mqtt:Array.isArray(e)?e.forEach(c=>{n[c]=this.$store.state.mqtt[c]}):console.error("expected array, got ",typeof e);for(const[c,l]of Object.entries(n)){let s=c.replace("openWB/","openWB/set/");console.debug("saving data:",s,l),this.doPublish(s,l),await t(100)}console.debug("done saving data"),this.$store.state.local.savingData=!1},resetValues(e=this.topicList){console.debug("resetting values..."),console.debug("topics: ",e),this.doUnsubscribe(e),this.doSubscribe(e)},setDefaultValues(){console.debug("setting default values... (ToDo)")},sendCommand(e){this.doPublish("openWB/set/command/"+this.client.options.clientId+"/todo",e,!1)},createConnection(){const{protocol:e,host:t,port:n,endpoint:c,...l}=this.connection,s=`${e}://${t}:${n}${c}`;console.debug("connecting to broker:",s);try{this.client=ne.connect(s,l)}catch(a){console.error("mqtt.connect error",a)}this.client.on("connect",()=>{console.debug("Connection succeeded! ClientId: ",this.client.options.clientId),this.doSubscribe(["openWB/system/usage_terms_acknowledged"])}),this.client.on("error",a=>{console.error("Connection failed",a)}),this.client.on("message",(a,i)=>{if(i.toString().length>0){let b;try{b=JSON.parse(i.toString())}catch{console.debug("Json parsing failed, fallback to string: ",a),b=i.toString()}this.$store.commit("addTopic",{topic:a,payload:b})}else this.$store.commit("removeTopic",a)})},doSubscribe(e){this.client.subscribe(e,{},t=>{if(t){console.error("Subscribe to topics error",t);return}})},doUnsubscribe(e){this.client.unsubscribe(e,t=>{t&&console.error("Unsubscribe error",t)})},doPublish(e,t,n=!0,c=2){let l={qos:c,retain:n};this.client.publish(e,JSON.stringify(t),l,s=>{s&&console.error("Publish error",s)})},postClientMessage(e,t="secondary"){console.debug("postMessage:",e,t);const n=Date.now(),c="openWB/command/"+this.mqttClientId+"/messages/"+n;this.$store.commit({type:"addTopic",topic:c,payload:{message:e,type:t,source:"client",timestamp:Math.floor(n/1e3)}})}},created(){this.createConnection()}},ca={role:"main",class:"container"},ua={id:"content"};function pa(e,t,n,c,l,s){const a=_("nav-bar"),i=_("router-view"),b=_("donation-banner"),$=_("page-footer"),M=_("messages"),H=_("blocker");return r(),d(x,null,[o("header",null,[m(a)]),o("div",ca,[o("div",ua,[o("h1",null,g(e.$route.meta.heading),1),m(i,{onSave:s.saveValues,onReset:s.resetValues,onDefaults:s.setDefaultValues,onSendCommand:s.sendCommand},null,8,["onSave","onReset","onDefaults","onSendCommand"])]),m(b)]),m($),m(M),m(H)],64)}const ma=w(da,[["render",pa],["__file","/opt/openWB-dev/openwb-ui-settings/src/App.vue"]]),_a="modulepreload",ha=function(e){return"/openWB/web/settings/"+e},N={},k=function(t,n,c){if(!n||n.length===0)return t();const l=document.getElementsByTagName("link");return Promise.all(n.map(s=>{if(s=ha(s),s in N)return;N[s]=!0;const a=s.endsWith(".css"),i=a?'[rel="stylesheet"]':"";if(!!c)for(let M=l.length-1;M>=0;M--){const H=l[M];if(H.href===s&&(!a||H.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${s}"]${i}`))return;const $=document.createElement("link");if($.rel=a?"stylesheet":_a,a||($.as="script",$.crossOrigin=""),$.href=s,document.head.appendChild($),a)return new Promise((M,H)=>{$.addEventListener("load",M),$.addEventListener("error",()=>H(new Error(`Unable to preload CSS for ${s}`)))})})).then(()=>t()).catch(s=>{const a=new Event("vite:preloadError",{cancelable:!0});if(a.payload=s,window.dispatchEvent(a),!a.defaultPrevented)throw s})};let J={mqtt:{},local:{reloadRequired:!1,savingData:!1},text:{rfidWiki:'Bitte auch hiervon abhängige Einstellungen beachten. Eine Übersicht gibt es im Wiki.'}};J.examples={text1:"Text...",text2:"mail@domain.com",text3:"openwb.local",text4:"http://www.openwb.de",text5:"Benutzername",text6:"12:34",text7:"2021-10-31",number1:5,number2:10,number3:28e-5,password1:"GeHeiM!",textarea1:"Langer Text...",range1:6,range2:10,select1:1,select2:"three",buttonGroup1:1,checkbox1:!0,json1:{text:"Text",number:123},hierarchy1:[{id:0,type:"counter",children:[{id:3,type:"inverter",children:[]},{id:4,type:"bat",children:[]},{id:1,type:"cp",children:[]},{id:2,type:"cp",children:[]}]}],hierarchy1Labels:{0:"EVU",1:"Ladepunkt 1",2:"Ladepunkt 2",3:"Wechselrichter",4:"Batteriespeicher"},tags:["1234","2345","3456"]};const K=oe({state:J,mutations:{storeLocal(e,t){e.local[t.name]=t.value},addTopic(e,t){e.mqtt[t.topic]=t.payload},removeTopic(e,t){delete e.mqtt[t]},updateTopic(e,t){const n=(c,l,s)=>l.split(".").reduce((a,i,b)=>a[i]=l.split(".").length===++b?s:a[i]||{},c);t.topic in e.mqtt?t.objectPath!=null?n(e.mqtt[t.topic],t.objectPath,t.payload):e.mqtt[t.topic]=t.payload:(console.debug("topic not found in state.mqtt: ",t.topic),t.topic in e.examples?t.objectPath!=null?n(e.examples[t.topic],t.objectPath,t.payload):e.examples[t.topic]=t.payload:console.warn("topic not found in state: ",t.topic," giving up"))}},actions:{},modules:{},getters:{usageTermsAcknowledged(e){return new Promise(t=>{if(e.mqtt["openWB/system/usage_terms_acknowledged"]!==void 0)t(e.mqtt["openWB/system/usage_terms_acknowledged"]);else{var n,c;n=setTimeout(()=>{clearInterval(c),t(!1)},5e3),c=setInterval(()=>{e.mqtt["openWB/system/usage_terms_acknowledged"]!==void 0&&(clearTimeout(n),clearInterval(c),t(e.mqtt["openWB/system/usage_terms_acknowledged"]))},100)}})}}}),Q=[{path:"/",redirect:"/GeneralConfig"},{path:"/Status",name:"Status",meta:{heading:"Status"},component:()=>k(()=>import("./Status-1831bf84.js"),["assets/Status-1831bf84.js","assets/vendor-fortawesome-9fdc06a9.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css","assets/vendor-chartjs-3e4a7d38.js","assets/vendor-luxon-78deadb9.js","assets/vendor-bootstrap-384bc385.js","assets/vendor-jquery-8576ed22.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-e59ef189.js","assets/Status-6557de7c.css"])},{path:"/Logging/ChargeLog",name:"ChargeLog",meta:{heading:"Auswertungen - Ladeprotokoll"},component:()=>k(()=>import("./ChargeLog-ea361db7.js"),["assets/ChargeLog-ea361db7.js","assets/vendor-fortawesome-9fdc06a9.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css","assets/vendor-bootstrap-384bc385.js","assets/vendor-jquery-8576ed22.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-e59ef189.js","assets/ChargeLog-298377e5.css"])},{path:"/Logging/Chart/:chartRange?/:initialDate?",name:"DailyChart",meta:{heading:"Auswertungen - Diagramme"},component:()=>k(()=>import("./Chart-7456fa62.js"),["assets/Chart-7456fa62.js","assets/vendor-fortawesome-9fdc06a9.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css","assets/vendor-chartjs-3e4a7d38.js","assets/vendor-luxon-78deadb9.js","assets/vendor-bootstrap-384bc385.js","assets/vendor-jquery-8576ed22.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-e59ef189.js","assets/Chart-e20451b4.css"])},{path:"/GeneralConfig",name:"GeneralConfig",meta:{heading:"Einstellungen - Allgemein"},component:()=>k(()=>import("./GeneralConfig-24f78660.js"),["assets/GeneralConfig-24f78660.js","assets/dynamic-import-helper-be004503.js","assets/vendor-fortawesome-9fdc06a9.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css","assets/vendor-bootstrap-384bc385.js","assets/vendor-jquery-8576ed22.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-e59ef189.js"])},{path:"/OptionalComponents",name:"OptionalComponents",meta:{heading:"Einstellungen - Optionale Hardware"},component:()=>k(()=>import("./OptionalComponents-5357d850.js"),["assets/OptionalComponents-5357d850.js","assets/dynamic-import-helper-be004503.js","assets/vendor-fortawesome-9fdc06a9.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css","assets/vendor-bootstrap-384bc385.js","assets/vendor-jquery-8576ed22.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-e59ef189.js"])},{path:"/GeneralChargeConfig",name:"GeneralChargeConfig",meta:{heading:"Ladeeinstellungen - Übergreifendes"},component:()=>k(()=>import("./GeneralChargeConfig-a4ad1dc4.js"),["assets/GeneralChargeConfig-a4ad1dc4.js","assets/dynamic-import-helper-be004503.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css","assets/vendor-fortawesome-9fdc06a9.js","assets/vendor-bootstrap-384bc385.js","assets/vendor-jquery-8576ed22.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-e59ef189.js"])},{path:"/InstantChargeConfig",name:"InstantChargeConfig",meta:{heading:"Ladeeinstellungen - Sofortladen"},component:()=>k(()=>import("./InstantChargeConfig-e5c73422.js"),["assets/InstantChargeConfig-e5c73422.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css","assets/vendor-fortawesome-9fdc06a9.js","assets/vendor-bootstrap-384bc385.js","assets/vendor-jquery-8576ed22.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-e59ef189.js"])},{path:"/PVChargeConfig",name:"PVChargeConfig",meta:{heading:"Ladeeinstellungen - PV-Laden"},component:()=>k(()=>import("./PVChargeConfig-b9f94d54.js"),["assets/PVChargeConfig-b9f94d54.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css","assets/vendor-fortawesome-9fdc06a9.js","assets/vendor-bootstrap-384bc385.js","assets/vendor-jquery-8576ed22.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-e59ef189.js"])},{path:"/TimeChargeConfig",name:"TimeChargeConfig",meta:{heading:"Ladeeinstellungen - Zeitladen"},component:()=>k(()=>import("./TimeChargeConfig-4694fe43.js"),["assets/TimeChargeConfig-4694fe43.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css","assets/vendor-fortawesome-9fdc06a9.js","assets/vendor-bootstrap-384bc385.js","assets/vendor-jquery-8576ed22.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-e59ef189.js"])},{path:"/ScheduledChargeConfig",name:"ScheduledChargeConfig",meta:{heading:"Ladeeinstellungen - Zielladen"},component:()=>k(()=>import("./ScheduledChargeConfig-70c2a8ec.js"),["assets/ScheduledChargeConfig-70c2a8ec.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css","assets/vendor-fortawesome-9fdc06a9.js","assets/vendor-bootstrap-384bc385.js","assets/vendor-jquery-8576ed22.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-e59ef189.js"])},{path:"/HardwareInstallation",name:"HardwareInstallation",meta:{heading:"Konfiguration - Geräte und Komponenten"},component:()=>k(()=>import("./HardwareInstallation-71e399a9.js"),["assets/HardwareInstallation-71e399a9.js","assets/vendor-fortawesome-9fdc06a9.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css","assets/dynamic-import-helper-be004503.js","assets/vendor-bootstrap-384bc385.js","assets/vendor-jquery-8576ed22.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-e59ef189.js","assets/HardwareInstallation-1ee9693f.css"])},{path:"/LoadManagementConfiguration",name:"LoadManagementConfiguration",meta:{heading:"Konfiguration - Lastmanagement"},component:()=>k(()=>import("./LoadManagementConfig-e1c0adff.js"),["assets/LoadManagementConfig-e1c0adff.js","assets/vendor-fortawesome-9fdc06a9.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css","assets/OpenwbSortableList-e04fc271.js","assets/OpenwbSortableList-7ba533e4.css","assets/vendor-bootstrap-384bc385.js","assets/vendor-jquery-8576ed22.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-e59ef189.js"])},{path:"/ChargePointInstallation",name:"ChargePointInstallation",meta:{heading:"Konfiguration - Ladepunkte"},component:()=>k(()=>import("./ChargePointInstallation-f0bccfd3.js"),["assets/ChargePointInstallation-f0bccfd3.js","assets/vendor-fortawesome-9fdc06a9.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css","assets/dynamic-import-helper-be004503.js","assets/vendor-bootstrap-384bc385.js","assets/vendor-jquery-8576ed22.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-e59ef189.js","assets/ChargePointInstallation-ed6a5c7e.css"])},{path:"/VehicleConfiguration/:section?/:section_index?/:section_part?/:action?",name:"VehicleConfiguration",meta:{heading:"Konfiguration - Fahrzeuge"},component:()=>k(()=>import("./VehicleConfig-178f0f07.js"),["assets/VehicleConfig-178f0f07.js","assets/vendor-fortawesome-9fdc06a9.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css","assets/dynamic-import-helper-be004503.js","assets/vendor-bootstrap-384bc385.js","assets/vendor-jquery-8576ed22.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-e59ef189.js","assets/VehicleConfig-4aeda6ca.css"])},{path:"/System/CloudConfiguration",name:"CloudConfig",meta:{heading:"System - openWB Cloud"},component:()=>k(()=>import("./CloudConfig-1fa5999c.js"),["assets/CloudConfig-1fa5999c.js","assets/vendor-fortawesome-9fdc06a9.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css","assets/vendor-bootstrap-384bc385.js","assets/vendor-jquery-8576ed22.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-e59ef189.js"])},{path:"/System/MqttBridgeConfiguration",name:"MqttBridgeConfig",meta:{heading:"System - MQTT-Brücken"},component:()=>k(()=>import("./MqttBridgeConfig-ac632189.js"),["assets/MqttBridgeConfig-ac632189.js","assets/vendor-fortawesome-9fdc06a9.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css","assets/vendor-bootstrap-384bc385.js","assets/vendor-jquery-8576ed22.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-e59ef189.js","assets/MqttBridgeConfig-3471079a.css"])},{path:"/System/DebugConfiguration",name:"Debugging",meta:{heading:"System - Fehlersuche"},component:()=>k(()=>import("./DebugConfig-97077e70.js"),["assets/DebugConfig-97077e70.js","assets/vendor-fortawesome-9fdc06a9.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css","assets/vendor-bootstrap-384bc385.js","assets/vendor-jquery-8576ed22.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-e59ef189.js","assets/DebugConfig-e21ab72c.css"])},{path:"/System/Support",name:"Support",meta:{heading:"System - Support"},component:()=>k(()=>import("./Support-b03e8e2b.js"),["assets/Support-b03e8e2b.js","assets/vendor-fortawesome-9fdc06a9.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css","assets/vendor-bootstrap-384bc385.js","assets/vendor-jquery-8576ed22.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-e59ef189.js"])},{path:"/System/LegalSettings",name:"LegalSettings",meta:{heading:"System - Rechtliches"},component:()=>k(()=>import("./LegalSettings-3fb8ec8f.js"),["assets/LegalSettings-3fb8ec8f.js","assets/vendor-fortawesome-9fdc06a9.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css","assets/vendor-bootstrap-384bc385.js","assets/vendor-jquery-8576ed22.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-e59ef189.js"])},{path:"/System/SystemConfiguration",name:"SystemConfig",meta:{heading:"System - System"},component:()=>k(()=>import("./System-6b822daf.js"),["assets/System-6b822daf.js","assets/vendor-fortawesome-9fdc06a9.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css","assets/vendor-bootstrap-384bc385.js","assets/vendor-jquery-8576ed22.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-e59ef189.js","assets/System-0f1d217b.css"])},{path:"/System/DataManagement",name:"DataManagement",meta:{heading:"System - Datenverwaltung"},component:()=>k(()=>import("./DataManagement-f3f8c9ad.js"),["assets/DataManagement-f3f8c9ad.js","assets/vendor-fortawesome-9fdc06a9.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css","assets/dynamic-import-helper-be004503.js","assets/vendor-bootstrap-384bc385.js","assets/vendor-jquery-8576ed22.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-e59ef189.js"])}];Q.push({path:"/TestingStore",name:"VUEX Store",meta:{heading:"Beispiele - VUEX Store"},component:()=>k(()=>import("./TestingStore-c15c7450.js"),["assets/TestingStore-c15c7450.js","assets/OpenwbSortableList-e04fc271.js","assets/vendor-f0f38b48.js","assets/vendor-sortablejs-cbf37f8f.js","assets/vendor-867a85e2.css","assets/vendor-fortawesome-9fdc06a9.js","assets/OpenwbSortableList-7ba533e4.css","assets/vendor-bootstrap-384bc385.js","assets/vendor-jquery-8576ed22.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-e59ef189.js"])});const j=ae({history:le(),routes:Q});j.beforeEach(async e=>{if(e.name!=="LegalSettings"&&!await K.getters.usageTermsAcknowledged)return{name:"LegalSettings"}});j.afterEach(e=>{e.meta.heading?document.title="openWB | "+e.meta.heading:document.title="openWB"});const W=ie(ma);W.use(K).use(j).use(We,Re);const fa=Object.assign({"./components/OpenwbBaseAlert.vue":ze,"./components/OpenwbBaseArrayInput.vue":lt,"./components/OpenwbBaseAvatar.vue":ut,"./components/OpenwbBaseButtonGroupInput.vue":yt,"./components/OpenwbBaseButtonInput.vue":xt,"./components/OpenwbBaseCard.vue":jt,"./components/OpenwbBaseCheckboxInput.vue":Jt,"./components/OpenwbBaseClickButton.vue":Zt,"./components/OpenwbBaseCopyToClipboard.vue":ns,"./components/OpenwbBaseHeading.vue":cs,"./components/OpenwbBaseModalDialog.vue":ws,"./components/OpenwbBaseNumberInput.vue":Ps,"./components/OpenwbBaseRangeInput.vue":Us,"./components/OpenwbBaseSelectInput.vue":nn,"./components/OpenwbBaseSubmitButtons.vue":pn,"./components/OpenwbBaseTextInput.vue":Hn,"./components/OpenwbBaseTextarea.vue":Jn,"./components/OpenwbBaseToast.vue":no});Object.entries(fa).forEach(([e,t])=>{const n=re(de(e.split("/").pop().replace(/\.\w+$/,"")));W.component(n,t.default)});W.mount("#app");export{G as C,k as _}; diff --git a/web/settings/assets/index-eaa58995.js b/web/settings/assets/index-eaa58995.js new file mode 100644 index 0000000000..17a0c2f3a6 --- /dev/null +++ b/web/settings/assets/index-eaa58995.js @@ -0,0 +1 @@ +import{_ as w,k as r,l as d,m as g,p as y,q as _,u as o,x as p,y as b,z as f,A as u,B as m,D as C,E as x,F as S,G as Y,I,J as D,K as Z,L as X,M as h,N as ee,O as te,T as U,P as se,Q as W,R as L,S as E,U as ne,V as oe,W as ae,X as le,Y as ie,Z as re,$ as de}from"./vendor-493c2bec.js";import{l as B,f as T,a as V,b as ce,c as ue,d as pe,e as me,F as O,g as j,h as _e,i as he,j as fe,k as ge,m as be,n as ve,o as we,p as ye,q as ke,r as Se,s as Ce,t as Be,u as Oe,v as $e,w as xe,x as Ie,y as Te,z as Ve,A as Me,B as He,C as Pe,D as Ae,E as De,G as Le,H as Ee,I as je,J as qe}from"./vendor-fortawesome-542fe04f.js";import"./vendor-bootstrap-a615942d.js";import{p as Re,a as We}from"./vendor-axios-b1ba123b.js";import"./vendor-sortablejs-0b339223.js";import"./vendor-jquery-a64a4809.js";(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const l of document.querySelectorAll('link[rel="modulepreload"]'))c(l);new MutationObserver(l=>{for(const s of l)if(s.type==="childList")for(const a of s.addedNodes)a.tagName==="LINK"&&a.rel==="modulepreload"&&c(a)}).observe(document,{childList:!0,subtree:!0});function n(l){const s={};return l.integrity&&(s.integrity=l.integrity),l.referrerPolicy&&(s.referrerPolicy=l.referrerPolicy),l.crossOrigin==="use-credentials"?s.credentials="include":l.crossOrigin==="anonymous"?s.credentials="omit":s.credentials="same-origin",s}function c(l){if(l.ep)return;l.ep=!0;const s=n(l);fetch(l.href,s)}})();const Ne={name:"OpenwbAlert",props:{subtype:{validator:function(e){return["info","success","warning","danger","primary","secondary","light","dark"].indexOf(e)!==-1},default:"secondary"}}};function Ue(e,t,n,c,l,s){return r(),d("div",{class:y(["card-text alert","alert-"+n.subtype])},[g(e.$slots,"default")],2)}const Fe=w(Ne,[["render",Ue],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbBaseAlert.vue"]]),ze=Object.freeze(Object.defineProperty({__proto__:null,default:Fe},Symbol.toStringTag,{value:"Module"}));B.add(T,V,ce,ue,pe,me);const Ge={name:"OpenwbArrayInput",inheritAttrs:!1,props:{title:String,modelValue:{type:Array,default:()=>[]},noElementsMessage:{type:String,default:()=>"Keine Elemente zugeordnet."}},emits:["update:modelValue"],data(){return{newTag:"",showHelp:!1}},computed:{value:{get(){return this.modelValue},set(e){this.$emit("update:modelValue",e)}},newTagValid:{get(){return this.newTag.length>0&&this.value.indexOf(this.newTag)==-1}}},methods:{toggleHelp(){this.showHelp=!this.showHelp&&this.$slots.help!==void 0},addTag(){if(this.newTagValid){let e=this.value;e.push(this.newTag),e.sort(),this.value=e,this.newTag=""}this.$refs.tagInput.focus()},removeTag(e){let t=this.value;t.splice(e,1),this.value=t}},components:{FontAwesomeIcon:O}},Je={class:"form-row mb-1"},Ke={class:"col-md-8"},Qe={class:"form-row"},Ye={class:"input-group"},Ze={class:"input-group-prepend"},Xe={class:"input-group-text"},et={class:"input-group-append"},tt={class:"form-row tagList mt-1"},st={key:0,class:"noTag"},nt={key:0,class:"form-row alert alert-info my-1 small"};function ot(e,t,n,c,l,s){const a=_("font-awesome-icon");return r(),d("div",Je,[o("label",{onClick:t[0]||(t[0]=(...i)=>s.toggleHelp&&s.toggleHelp(...i)),class:"col-md-4 col-form-label"},[p(b(n.title)+" ",1),e.$slots.help?(r(),f(a,{key:0,icon:l.showHelp?["fas","question-circle"]:["far","question-circle"],class:y(l.showHelp?"text-info":"")},null,8,["icon","class"])):u("",!0)]),o("div",Ke,[o("div",Qe,[o("div",Ye,[o("div",Ze,[o("div",Xe,[g(e.$slots,"input-prefix",{},()=>[m(a,{"fixed-width":"",icon:["fas","tag"]})],!0)])]),C(o("input",S({ref:"tagInput",type:"text",class:"form-control","onUpdate:modelValue":t[1]||(t[1]=i=>l.newTag=i)},e.$attrs,{onKeyup:t[2]||(t[2]=Y((...i)=>s.addTag&&s.addTag(...i),["enter"]))}),null,16),[[x,l.newTag]]),o("div",et,[o("div",{class:y(["input-group-text",s.newTagValid?"bg-success clickable":"notClickable"]),onClick:t[3]||(t[3]=(...i)=>s.addTag&&s.addTag(...i))},[g(e.$slots,"input-add",{},()=>[m(a,{"fixed-width":"",icon:["fas","plus"]})],!0)],2)])])]),o("div",tt,[s.value.length==0?(r(),d("span",st,[m(a,{icon:["fas","info-circle"]}),p(" "+b(n.noElementsMessage),1)])):u("",!0),(r(!0),d(I,null,D(s.value,(i,v)=>(r(),d("span",{class:"tag",key:v},[g(e.$slots,"element-prefix",{},()=>[m(a,{icon:["fas","tag"]})],!0),p(" "+b(i)+" ",1),m(a,{class:"clickable remove-element",icon:["fas","times-circle"],onClick:$=>s.removeTag(v)},null,8,["onClick"])]))),128))]),l.showHelp?(r(),d("span",nt,[g(e.$slots,"help",{},void 0,!0)])):u("",!0)])])}const at=w(Ge,[["render",ot],["__scopeId","data-v-9de93d37"],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbBaseArrayInput.vue"]]),lt=Object.freeze(Object.defineProperty({__proto__:null,default:at},Symbol.toStringTag,{value:"Module"}));const it={name:"OpenwbAvatar"},rt={class:"avatar"};function dt(e,t,n,c,l,s){return r(),d("div",rt,[g(e.$slots,"default",{},()=>[p("?")],!0)])}const ct=w(it,[["render",dt],["__scopeId","data-v-06082a1a"],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbBaseAvatar.vue"]]),ut=Object.freeze(Object.defineProperty({__proto__:null,default:ct},Symbol.toStringTag,{value:"Module"}));B.add(T,V,j);const pt={name:"OpenwbButtonGroupInput",inheritAttrs:!1,props:{title:String,modelValue:{type:[String,Number,Boolean]},buttons:Object},emits:["update:modelValue"],data(){return{showHelp:!1}},computed:{value:{get(){return this.modelValue},set(e){this.$emit("update:modelValue",e)}}},methods:{toggleHelp(){this.showHelp=!this.showHelp&&this.$slots.help!==void 0}},components:{FontAwesomeIcon:O}},mt={class:"form-row mb-1"},_t={class:"col-md-8"},ht={class:"form-row"},ft={class:"btn-group btn-block btn-group-toggle"},gt=["value"],bt={key:0,class:"form-row alert alert-info my-1 small"};function vt(e,t,n,c,l,s){const a=_("font-awesome-icon");return r(),d("div",mt,[o("label",{onClick:t[0]||(t[0]=(...i)=>s.toggleHelp&&s.toggleHelp(...i)),class:"col-md-4 col-form-label"},[p(b(n.title)+" ",1),e.$slots.help?(r(),f(a,{key:0,icon:l.showHelp?["fas","question-circle"]:["far","question-circle"],class:y(l.showHelp?"text-info":"")},null,8,["icon","class"])):u("",!0)]),o("div",_t,[o("div",ht,[o("div",ft,[(r(!0),d(I,null,D(n.buttons,i=>(r(),d("label",{key:i.value,class:y(["btn",[s.value==i.buttonValue?"active":"",i.class?i.class:"btn-outline-info"]])},[C(o("input",S({type:"radio","onUpdate:modelValue":t[1]||(t[1]=v=>s.value=v),value:i.buttonValue},e.$attrs),null,16,gt),[[Z,s.value]]),g(e.$slots,"label-"+i.buttonValue,{},()=>[p(b(i.text),1)]),m(a,{icon:["fas","check"],style:X([s.value==i.buttonValue?"visibility: visible":"visibility: hidden"])},null,8,["style"])],2))),128))])]),l.showHelp?(r(),d("span",bt,[g(e.$slots,"help")])):u("",!0)])])}const wt=w(pt,[["render",vt],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbBaseButtonGroupInput.vue"]]),yt=Object.freeze(Object.defineProperty({__proto__:null,default:wt},Symbol.toStringTag,{value:"Module"}));B.add(T,V);const kt={name:"OpenwbButtonInput",inheritAttrs:!1,props:{title:String,buttonText:String,disabled:{type:Boolean,default:!1},subtype:{type:String,validator:function(e){return["info","success","warning","danger","primary","secondary","light","dark"].indexOf(e)!==-1},default:"secondary"}},data(){return{showHelp:!1}},emits:["buttonClicked"],methods:{toggleHelp(){this.showHelp=!this.showHelp&&this.$slots.help!==void 0},handleClick(e){this.$emit("buttonClicked",e)}},components:{FontAwesomeIcon:O}},St={class:"form-row mb-1"},Ct={class:"col-md-8"},Bt={class:"form-row"},Ot={key:0,class:"form-row alert alert-info my-1 small"};function $t(e,t,n,c,l,s){const a=_("font-awesome-icon"),i=_("openwb-base-click-button");return r(),d("div",St,[o("label",{onClick:t[0]||(t[0]=(...v)=>s.toggleHelp&&s.toggleHelp(...v)),class:"col-md-4 col-form-label"},[p(b(n.title)+" ",1),e.$slots.help?(r(),f(a,{key:0,icon:l.showHelp?["fas","question-circle"]:["far","question-circle"],class:y(l.showHelp?"text-info":"")},null,8,["icon","class"])):u("",!0)]),o("div",Ct,[o("div",Bt,[m(i,S({class:(n.disabled?"btn-outline-":"btn-")+n.subtype,disabled:n.disabled},e.$attrs,{onButtonClicked:s.handleClick}),{default:h(()=>[g(e.$slots,"default",{},()=>[p(b(n.buttonText),1)])]),_:3},16,["class","disabled","onButtonClicked"])]),l.showHelp?(r(),d("span",Ot,[g(e.$slots,"help")])):u("",!0)])])}const xt=w(kt,[["render",$t],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbBaseButtonInput.vue"]]),It=Object.freeze(Object.defineProperty({__proto__:null,default:xt},Symbol.toStringTag,{value:"Module"}));B.add(_e,he);const Tt={name:"OpenwbCard",components:{FontAwesomeIcon:O},props:{title:{type:String,default:"# no title set #"},subtype:{validator:function(e){return["info","success","warning","danger","primary","secondary","light","dark","pink"].indexOf(e)!==-1},default:"secondary"},collapsible:{type:Boolean,default:!1},collapsed:{type:Boolean,default:!1}},data(){return{isCollapsed:this.collapsible&&this.collapsed}},methods:{toggleBody(){this.collapsible===!0&&(this.isCollapsed=!this.isCollapsed)}}},Vt={class:"form-group mb-0"},Mt={class:"form-row vaRow mb-0 py-2"},Ht={class:"col"},Pt={class:"card-actions ml-4"},At={key:0,class:"card-actions mr-4"},Dt={key:0,class:"card-body"},Lt={key:1,class:"card-footer"};function Et(e,t,n,c,l,s){const a=_("font-awesome-icon");return r(),d("div",{class:y(["card","border-"+n.subtype])},[o("div",{class:y(["card-header py-1","bg-"+n.subtype]),onClick:t[0]||(t[0]=(...i)=>s.toggleBody&&s.toggleBody(...i))},[o("div",Vt,[o("div",Mt,[o("div",Ht,[g(e.$slots,"header",{collapsed:l.isCollapsed},()=>[p(b(n.title),1)])])])]),o("span",Pt,[e.$slots.actions?(r(),d("span",At,[g(e.$slots,"actions",{collapsed:l.isCollapsed})])):u("",!0),n.collapsible?(r(),f(a,{key:1,"fixed-width":"",icon:l.isCollapsed?["fas","chevron-right"]:["fas","chevron-down"]},null,8,["icon"])):u("",!0)])],2),l.isCollapsed===!1?(r(),d("div",Dt,[g(e.$slots,"default")])):u("",!0),e.$slots.footer&&l.isCollapsed===!1?(r(),d("div",Lt,[g(e.$slots,"footer")])):u("",!0)],2)}const jt=w(Tt,[["render",Et],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbBaseCard.vue"]]),qt=Object.freeze(Object.defineProperty({__proto__:null,default:jt},Symbol.toStringTag,{value:"Module"}));B.add(T,V);const Rt={name:"OpenwbCheckboxInput",inheritAttrs:!1,props:{title:String,modelValue:{type:Boolean}},emits:["update:modelValue"],data(){return{showHelp:!1}},computed:{value:{get(){return this.modelValue},set(e){this.$emit("update:modelValue",e)}}},methods:{toggleHelp(){this.showHelp=!this.showHelp&&this.$slots.help!==void 0}},components:{FontAwesomeIcon:O}},Wt={class:"form-row mb-1"},Nt={class:"col-md-8"},Ut={class:"form-row"},Ft={key:0,class:"form-row alert alert-info my-1 small"};function zt(e,t,n,c,l,s){const a=_("font-awesome-icon");return r(),d("div",Wt,[o("label",{onClick:t[0]||(t[0]=(...i)=>s.toggleHelp&&s.toggleHelp(...i)),class:"col-md-4 col-form-label"},[p(b(n.title)+" ",1),e.$slots.help?(r(),f(a,{key:0,icon:l.showHelp?["fas","question-circle"]:["far","question-circle"],class:y(l.showHelp?"text-info":"")},null,8,["icon","class"])):u("",!0)]),o("div",Nt,[o("div",Ut,[C(o("input",S({class:"form-control",type:"checkbox","onUpdate:modelValue":t[1]||(t[1]=i=>s.value=i)},e.$attrs),null,16),[[ee,s.value]])]),l.showHelp?(r(),d("span",Ft,[g(e.$slots,"help")])):u("",!0)])])}const Gt=w(Rt,[["render",zt],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbBaseCheckboxInput.vue"]]),Jt=Object.freeze(Object.defineProperty({__proto__:null,default:Gt},Symbol.toStringTag,{value:"Module"}));const Kt={name:"OpenwbClickButton",props:{title:String},emits:["buttonClicked"],methods:{click(e){this.$emit("buttonClicked",e)}}};function Qt(e,t,n,c,l,s){return r(),d("button",{type:"button",class:"btn btn-block",onClick:t[0]||(t[0]=te((...a)=>s.click&&s.click(...a),["prevent"]))},[g(e.$slots,"default",{},()=>[p(b(n.title),1)],!0)])}const Yt=w(Kt,[["render",Qt],["__scopeId","data-v-2e9c095b"],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbBaseClickButton.vue"]]),Zt=Object.freeze(Object.defineProperty({__proto__:null,default:Yt},Symbol.toStringTag,{value:"Module"}));B.add(fe,ge);const Xt={name:"OpenwbCopyToClipboard",components:{FontAwesomeIcon:O},props:{tooltip:{type:String,default:"Wert kopieren"}},data(){return{clipboardApiAvailable:navigator.clipboard!=null,isCopied:!1}},methods:{click(){if(console.debug(this.$refs["slot-wrapper"].innerText),this.clipboardApiAvailable)navigator.clipboard.writeText(this.$refs["slot-wrapper"].innerText).then(()=>{this.isCopied=!0},()=>{console.error("copy to clipboard failed")});else{if(console.debug("clipboard api not supported/enabled, fallback to select"),window.getSelection){console.debug("using 'window.getSelection'");const e=window.getSelection(),t=document.createRange();t.selectNodeContents(this.$refs["slot-wrapper"]),e.removeAllRanges(),e.addRange(t);return}if(document.body.createTextRange){console.debug("using 'document.body.createTextRange'");const e=document.body.createTextRange();e.moveToElementText(this.$refs["slot-wrapper"]),e.select()}else console.warn("could not select text, unsupported browser")}}}},es=["title"];function ts(e,t,n,c,l,s){const a=_("font-awesome-icon");return r(),d("span",{ref:"slot-wrapper",title:n.tooltip,class:"copy-me",onClick:t[0]||(t[0]=(...i)=>s.click&&s.click(...i))},[g(e.$slots,"default",{},void 0,!0),m(a,{"fixed-width":"",icon:l.isCopied?["fas","clipboard-check"]:["fas","clipboard"]},null,8,["icon"])],8,es)}const ss=w(Xt,[["render",ts],["__scopeId","data-v-81826ebe"],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbBaseCopyToClipboard.vue"]]),ns=Object.freeze(Object.defineProperty({__proto__:null,default:ss},Symbol.toStringTag,{value:"Module"}));B.add(T,V,j);const os={name:"OpenwbHeading",inheritAttrs:!1,components:{FontAwesomeIcon:O},data(){return{showHelp:!1}},methods:{toggleHelp(){this.showHelp=!this.showHelp&&this.$slots.help!==void 0}}},as={key:0,class:"actions"},ls={class:""},is={key:0,class:"form-row alert alert-info small"};function rs(e,t,n,c,l,s){const a=_("font-awesome-icon");return r(),d(I,null,[o("div",S({class:"card-text card-text-heading"},e.$attrs),[o("div",{class:"heading-text",onClick:t[0]||(t[0]=(...i)=>s.toggleHelp&&s.toggleHelp(...i))},[g(e.$slots,"default",{},void 0,!0),e.$slots.help?(r(),f(a,{key:0,icon:l.showHelp?["fas","question-circle"]:["far","question-circle"],class:y(l.showHelp?"text-info":"")},null,8,["icon","class"])):u("",!0)]),e.$slots.actions?(r(),d("span",as,[g(e.$slots,"actions",{},void 0,!0)])):u("",!0)],16),o("div",ls,[l.showHelp?(r(),d("span",is,[g(e.$slots,"help",{},void 0,!0)])):u("",!0)])],64)}const ds=w(os,[["render",rs],["__scopeId","data-v-cbe4e96e"],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbBaseHeading.vue"]]),cs=Object.freeze(Object.defineProperty({__proto__:null,default:ds},Symbol.toStringTag,{value:"Module"})),us={name:"OpenwbModalDialog",emits:["modal-result"],props:{title:String,subtype:{type:String,validator:function(e){return["info","success","warning","danger","primary","secondary","light","dark"].indexOf(e)!==-1},default:"secondary"},buttons:{type:Array,default:void 0},footerAlignment:{type:String,validator:function(e){return["around","between","center","end","start"].indexOf(e)!==-1},default:"end"},preventClose:{type:Boolean,default:!1},show:{type:Boolean,default:!1}},computed:{myButtons(){var e=[];return this.buttons!==void 0&&(e=this.buttons),this.preventClose||e.push({text:"Schließen",event:"close"}),e}},methods:{handleClick(e){e.stopPropagation();let t=e.target.getAttribute("data-event");t===null&&(t="close"),(t!="close"||!this.preventClose)&&this.$emit("modal-result",t)}}},ps=o("div",{class:"modal-backdrop fade show"},null,-1),ms={class:"modal-dialog modal-dialog-centered modal-dialog-scrollable",role:"document"},_s={class:"modal-content"},hs={class:"modal-title"},fs={class:"modal-body"},gs=["data-event"];function bs(e,t,n,c,l,s){return n.show?(r(),f(U,{key:0,to:"body"},[ps,o("div",{class:"modal fade d-block show",role:"dialog",onClick:t[2]||(t[2]=(...a)=>s.handleClick&&s.handleClick(...a))},[o("div",ms,[o("div",_s,[o("div",{class:y(["modal-header","bg-"+n.subtype])},[o("h4",hs,b(n.title),1),n.preventClose?u("",!0):(r(),d("button",{key:0,type:"button",class:"close",onClick:t[0]||(t[0]=(...a)=>s.handleClick&&s.handleClick(...a))}," × "))],2),o("div",fs,[g(e.$slots,"default",{},()=>[p("# Body #")])]),s.myButtons.length>0?(r(),d("div",{key:0,class:y(["modal-footer d-flex","justify-content-"+n.footerAlignment])},[(r(!0),d(I,null,D(s.myButtons,a=>(r(),d("button",{key:a.text,type:"button",class:y(["btn",a.subtype?"btn-"+a.subtype:"btn-secondary"]),"data-dismiss":"modal","data-event":a.event?a.event:"close",onClick:t[1]||(t[1]=(...i)=>s.handleClick&&s.handleClick(...i))},b(a.text),11,gs))),128))],2)):u("",!0)])])])])):u("",!0)}const vs=w(us,[["render",bs],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbBaseModalDialog.vue"]]),ws=Object.freeze(Object.defineProperty({__proto__:null,default:vs},Symbol.toStringTag,{value:"Module"}));B.add(T,V,be);const ys={name:"OpenwbNumberInput",inheritAttrs:!1,props:{title:String,modelValue:{type:Number},unit:String,precision:{type:Number,default:void 0},emptyValue:{required:!1,default:null}},emits:["update:modelValue"],data(){return{showHelp:!1}},computed:{value:{get(){return this.precision!==void 0?parseFloat(Math.round(this.modelValue*Math.pow(10,this.precision))/Math.pow(10,this.precision)):this.modelValue},set(e){(isNaN(e)||typeof e!="number")&&(e=this.emptyValue),this.$emit("update:modelValue",e)}}},methods:{toggleHelp(){this.showHelp=!this.showHelp&&this.$slots.help!==void 0}},components:{FontAwesomeIcon:O}},ks={class:"form-row mb-1"},Ss={class:"col-md-8"},Cs={class:"form-row"},Bs={class:"input-group"},Os={class:"input-group-prepend"},$s={class:"input-group-text"},xs={key:0,class:"input-group-append"},Is={class:"input-group-text"},Ts={key:0,class:"form-row alert alert-info my-1 small"};function Vs(e,t,n,c,l,s){const a=_("font-awesome-icon");return r(),d("div",ks,[o("label",{onClick:t[0]||(t[0]=(...i)=>s.toggleHelp&&s.toggleHelp(...i)),class:"col-md-4 col-form-label"},[p(b(n.title)+" ",1),e.$slots.help?(r(),f(a,{key:0,icon:l.showHelp?["fas","question-circle"]:["far","question-circle"],class:y(l.showHelp?"text-info":"")},null,8,["icon","class"])):u("",!0)]),o("div",Ss,[o("div",Cs,[o("div",Bs,[o("div",Os,[o("div",$s,[m(a,{"fixed-width":"",icon:["fas","calculator"]})])]),C(o("input",S({type:"number",class:"form-control","onUpdate:modelValue":t[1]||(t[1]=i=>s.value=i)},e.$attrs),null,16),[[x,s.value,void 0,{number:!0}]]),n.unit?(r(),d("div",xs,[o("div",Is,b(n.unit),1)])):u("",!0)])]),l.showHelp?(r(),d("span",Ts,[g(e.$slots,"help",{},void 0,!0)])):u("",!0)])])}const Ms=w(ys,[["render",Vs],["__scopeId","data-v-c2fb7eef"],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbBaseNumberInput.vue"]]),Hs=Object.freeze(Object.defineProperty({__proto__:null,default:Ms},Symbol.toStringTag,{value:"Module"}));B.add(T,V,ve,we);const Ps={name:"OpenwbRangeInput",inheritAttrs:!1,props:{title:String,modelValue:{type:Number},unit:String,min:{type:Number,default:0},max:{type:Number,default:100},step:{type:Number,default:1},labels:{type:Array}},emits:["update:modelValue"],data(){return{showHelp:!1}},computed:{label(){var e;return this.labels&&this.sliderValue!=null?this.sliderValues.toggleHelp&&s.toggleHelp(...i)),class:"col-md-4 col-form-label"},[p(b(n.title)+" ",1),e.$slots.help?(r(),f(a,{key:0,icon:l.showHelp?["fas","question-circle"]:["far","question-circle"],class:y(l.showHelp?"text-info":"")},null,8,["icon","class"])):u("",!0)]),o("div",Ds,[o("div",Ls,[s.label?(r(),d("label",Es,b(s.label),1)):u("",!0),o("button",{class:"col-1 btn btn-block btn-info",type:"button",onClick:t[1]||(t[1]=(...i)=>s.decrement&&s.decrement(...i))},[m(a,{icon:["fas","step-backward"]})]),o("div",js,[C(o("input",S({type:"range",class:"form-control-range rangeInput",min:n.min,max:n.max,step:n.step,"onUpdate:modelValue":t[2]||(t[2]=i=>s.sliderValue=i)},e.$attrs),null,16,qs),[[x,s.sliderValue,void 0,{number:!0}]])]),o("button",{class:"col-1 btn btn-block btn-info",type:"button",onClick:t[3]||(t[3]=(...i)=>s.increment&&s.increment(...i))},[m(a,{icon:["fas","step-forward"]})])]),l.showHelp?(r(),d("div",Rs,[o("div",Ws,[g(e.$slots,"help",{},void 0,!0)])])):u("",!0)])])}const Us=w(Ps,[["render",Ns],["__scopeId","data-v-449fb0a5"],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbBaseRangeInput.vue"]]),Fs=Object.freeze(Object.defineProperty({__proto__:null,default:Us},Symbol.toStringTag,{value:"Module"}));B.add(T,V);const zs={name:"OpenwbSelectInput",inheritAttrs:!1,props:{title:String,modelValue:{type:[String,Number,Array]},groups:Object,options:Object,notSelected:{type:String,default:void 0}},emits:["update:modelValue"],data(){return{showHelp:!1}},computed:{value:{get(){return this.modelValue},set(e){this.$emit("update:modelValue",e)}}},methods:{toggleHelp(){this.showHelp=!this.showHelp&&this.$slots.help!==void 0}},components:{FontAwesomeIcon:O}},Gs={class:"form-row mb-1"},Js={class:"col-md-8"},Ks={class:"form-row"},Qs={key:0,value:void 0,disabled:""},Ys=["value"],Zs=["label"],Xs=["value"],en={key:0,class:"form-row alert alert-info my-1 small"};function tn(e,t,n,c,l,s){const a=_("font-awesome-icon");return r(),d("div",Gs,[o("label",{onClick:t[0]||(t[0]=(...i)=>s.toggleHelp&&s.toggleHelp(...i)),class:"col-md-4 col-form-label"},[p(b(n.title)+" ",1),e.$slots.help?(r(),f(a,{key:0,icon:l.showHelp?["fas","question-circle"]:["far","question-circle"],class:y(l.showHelp?"text-info":"")},null,8,["icon","class"])):u("",!0)]),o("div",Js,[o("div",Ks,[C(o("select",S({class:"col form-control","onUpdate:modelValue":t[1]||(t[1]=i=>s.value=i)},e.$attrs),[n.notSelected!==void 0?(r(),d("option",Qs," -- "+b(n.notSelected)+" -- ",1)):u("",!0),(r(!0),d(I,null,D(n.options,i=>(r(),d("option",{key:i.value,value:i.value},b(i.text),9,Ys))),128)),(r(!0),d(I,null,D(n.groups,i=>(r(),d("optgroup",{key:i.label,label:i.label},[(r(!0),d(I,null,D(i.options,v=>(r(),d("option",{key:v.value,value:v.value},b(v.text),9,Xs))),128))],8,Zs))),128))],16),[[se,s.value]]),g(e.$slots,"append")]),l.showHelp?(r(),d("span",en,[g(e.$slots,"help")])):u("",!0)])])}const sn=w(zs,[["render",tn],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbBaseSelectInput.vue"]]),nn=Object.freeze(Object.defineProperty({__proto__:null,default:sn},Symbol.toStringTag,{value:"Module"}));B.add(j,ye,ke);const on={name:"OpenwbSubmitButtons",components:{FontAwesomeIcon:O},props:{formName:{type:String,default:void 0},hideReset:{type:Boolean,default:!1},hideDefaults:{type:Boolean,default:!0}},data(){return{showModalReset:!1,showModalDefaults:!1}},emits:["reset","defaults","save"],computed:{showModalSave(){return this.$store.state.local.savingData}},methods:{showResetModal(){this.showModalReset=!0},handleModalReset(e){this.showModalReset=!1,e=="confirm"&&this.$emit("reset")},showDefaultsModal(){this.showModalDefaults=!0},handleModalDefaults(e){this.showModalDefaults=!1,e=="confirm"&&this.$emit("defaults")},saveSettings(){if(this.formName){if(!document.forms[this.formName].reportValidity()){console.debug("form invalid");return}}else console.debug("no form to validate");this.$emit("save")}}},an={class:"row justify-content-center mb-1"},ln={class:"col-md-4 d-flex py-1 justify-content-center"},rn={key:0,class:"col-md-4 d-flex py-1 justify-content-center"},dn={key:1,class:"col-md-4 d-flex py-1 justify-content-center"};function cn(e,t,n,c,l,s){const a=_("openwb-base-modal-dialog"),i=_("font-awesome-icon");return r(),d(I,null,[m(a,{show:s.showModalSave,title:"Speichern",subtype:"success",preventClose:!0},{default:h(()=>[p(" Einstellungen werden gespeichert... ")]),_:1},8,["show"]),m(a,{show:l.showModalReset,title:"Änderungen verwerfen",subtype:"warning",buttons:[{text:"Ok",event:"confirm",subtype:"warning"}],onModalResult:s.handleModalReset},{default:h(()=>[p(" Wollen Sie die nicht gespeicherten Änderungen wirklich verwerfen? ")]),_:1},8,["show","onModalResult"]),m(a,{show:l.showModalDefaults,title:"Werkseinstellungen",subtype:"danger",buttons:[{text:"Ok",event:"confirm",subtype:"danger"}],onModalResult:s.handleModalDefaults},{default:h(()=>[p(" Wollen Sie wirklich alle Werte dieser Seite auf die Werkseinstellungen zurücksetzen? ")]),_:1},8,["show","onModalResult"]),o("div",an,[o("div",ln,[o("button",{id:"saveSettingsBtn",type:"button",class:"btn btn-block btn-success",onClick:t[0]||(t[0]=(...v)=>s.saveSettings&&s.saveSettings(...v))},[p(" Speichern "),m(i,{"fixed-width":"",icon:["fas","check"]})])]),n.hideReset?u("",!0):(r(),d("div",rn,[o("button",{id:"modalResetBtn",type:"button",class:"btn btn-block btn-warning",onClick:t[1]||(t[1]=(...v)=>s.showResetModal&&s.showResetModal(...v))},[p(" Änderungen verwerfen "),m(i,{"fixed-width":"",icon:["fas","undo"]})])])),n.hideDefaults?u("",!0):(r(),d("div",dn,[o("button",{id:"modalDefaultsBtn",type:"button",class:"btn btn-block btn-danger",onClick:t[2]||(t[2]=(...v)=>s.showDefaultsModal&&s.showDefaultsModal(...v))},[p(" Werkseinstellungen "),m(i,{"fixed-width":"",icon:["fas","times"]})])]))])],64)}const un=w(on,[["render",cn],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbBaseSubmitButtons.vue"]]),pn=Object.freeze(Object.defineProperty({__proto__:null,default:un},Symbol.toStringTag,{value:"Module"}));B.add(T,V,Se,Ce,Be,Oe,$e,xe,Ie,Te,Ve,Me,He,Pe);const mn={name:"OpenwbTextInput",inheritAttrs:!1,props:{title:String,modelValue:{type:[String,Object]},subtype:{validator:function(e){return["text","email","host","url","user","json","password","time","date","month","year"].indexOf(e)!==-1},default:"text"},pattern:String,unit:String,emptyValue:{required:!1,default:null},showQuickButtons:{type:Boolean,default:!1}},emits:["update:modelValue"],data(){return{showHelp:!1,showPassword:!1,inputInvalid:!1,tempValue:this.modelValue}},computed:{value:{get(){return this.subtype=="json"?this.inputInvalid?(console.warn("returning invalid String"),this.tempValue):JSON.stringify(this.tempValue):this.modelValue},set(e){if(this.subtype=="json")try{let t=JSON.parse(e);this.inputInvalid=!1,this.$refs.jsonInput.setCustomValidity(""),this.tempValue=t,this.$emit("update:modelValue",t)}catch{console.error("parsing JSON failed: "+e),this.inputInvalid=!0,this.$refs.jsonInput.setCustomValidity("Ungültiger JSON Ausdruck!"),this.tempValue=e}else e==""&&(e=this.emptyValue),this.$emit("update:modelValue",e)}},inputRef(){switch(this.subtype){case"json":return this.$refs.jsonInput;case"password":return this.$refs.passwordInput;case"host":return this.$refs.hostInput;case"email":case"url":return this.$refs.urlInput;case"time":return this.$refs.timeInput;case"date":return this.$refs.dateInput;case"month":return this.$refs.monthInput;case"year":return this.$refs.yearInput}return this.$refs.textInput}},methods:{toggleHelp(){this.showHelp=!this.showHelp&&this.$slots.help!==void 0},togglePassword(){this.showPassword=!this.showPassword},modify(e){var t,n=new Date(this.modelValue);switch(this.subtype){case"date":n.setDate(n.getDate()+e),t=String(n.getFullYear())+"-"+String(n.getMonth()+1).padStart(2,"0")+"-"+String(n.getDate()).padStart(2,"0");break;case"month":n.setMonth(n.getMonth()+e),t=String(n.getFullYear())+"-"+String(n.getMonth()+1).padStart(2,"0");break;case"year":n.setYear(n.getFullYear()+e),t=String(n.getFullYear());break;default:console.warn(`cannot modify input of subtype '${this.subtype}'`);return}t>this.inputRef.max||t(L("data-v-6927d479"),e=e(),E(),e),_n={class:"form-row mb-1"},hn={class:"col-md-8"},fn={class:"form-row"},gn={class:"input-group"},bn={class:"input-group-prepend"},vn={class:"input-group-text"},wn=["pattern"],yn=["pattern"],kn=["type","pattern"],Sn=["type"],Cn={key:9,class:"input-group-append"},Bn={class:"input-group-text"},On={class:"input-group-text"},$n=F(()=>o("div",{class:"input-group-text"},"-",-1)),xn=[$n],In=F(()=>o("div",{class:"input-group-text"},"+",-1)),Tn=[In],Vn={key:0,class:"form-row alert alert-info my-1 small"};function Mn(e,t,n,c,l,s){const a=_("font-awesome-icon");return r(),d("div",_n,[o("label",{onClick:t[0]||(t[0]=(...i)=>s.toggleHelp&&s.toggleHelp(...i)),class:"col-md-4 col-form-label"},[p(b(n.title)+" ",1),e.$slots.help?(r(),f(a,{key:0,icon:l.showHelp?["fas","question-circle"]:["far","question-circle"],class:y(l.showHelp?"text-info":"")},null,8,["icon","class"])):u("",!0)]),o("div",hn,[o("div",fn,[o("div",gn,[o("div",bn,[o("div",vn,[n.subtype=="text"?(r(),f(a,{key:0,"fixed-width":"",icon:["fas","keyboard"]})):u("",!0),n.subtype=="email"?(r(),f(a,{key:1,"fixed-width":"",icon:["fas","envelope"]})):u("",!0),n.subtype=="host"?(r(),f(a,{key:2,"fixed-width":"",icon:["fas","network-wired"]})):u("",!0),n.subtype=="url"?(r(),f(a,{key:3,"fixed-width":"",icon:["fas","globe"]})):u("",!0),n.subtype=="user"?(r(),f(a,{key:4,"fixed-width":"",icon:["fas","user"]})):u("",!0),n.subtype=="json"?(r(),f(a,{key:5,"fixed-width":"",icon:["fas","code"]})):u("",!0),n.subtype=="password"?(r(),f(a,{key:6,"fixed-width":"",icon:l.showPassword?["fas","unlock"]:["fas","lock"]},null,8,["icon"])):u("",!0),n.subtype=="time"?(r(),f(a,{key:7,"fixed-width":"",icon:["fas","clock"]})):u("",!0),n.subtype=="date"||n.subtype=="month"||n.subtype=="year"?(r(),f(a,{key:8,"fixed-width":"",icon:["fas","calendar-day"]})):u("",!0)])]),["text","user"].includes(n.subtype)?C((r(),d("input",S({key:0,ref:"textInput",type:"text",class:["form-control",{invalid:l.inputInvalid}],"onUpdate:modelValue":t[1]||(t[1]=i=>s.value=i)},e.$attrs,{pattern:n.pattern}),null,16,wn)),[[x,s.value]]):u("",!0),n.subtype=="json"?C((r(),d("input",S({key:1,ref:"jsonInput",type:"text",class:"form-control","onUpdate:modelValue":t[2]||(t[2]=i=>s.value=i)},e.$attrs,{pattern:n.pattern}),null,16,yn)),[[x,s.value]]):u("",!0),n.subtype=="password"?C((r(),d("input",S({key:2,ref:"passwordInput",type:l.showPassword?"text":"password",class:"form-control","onUpdate:modelValue":t[3]||(t[3]=i=>s.value=i)},e.$attrs,{pattern:n.pattern}),null,16,kn)),[[W,s.value]]):u("",!0),n.subtype=="host"?C((r(),d("input",S({key:3,ref:"hostInput",type:"text",class:"form-control","onUpdate:modelValue":t[4]||(t[4]=i=>s.value=i)},e.$attrs),null,16)),[[x,s.value]]):u("",!0),["email","url"].includes(n.subtype)?C((r(),d("input",S({key:4,refs:"urlInput",type:n.subtype,class:"form-control","onUpdate:modelValue":t[5]||(t[5]=i=>s.value=i)},e.$attrs),null,16,Sn)),[[W,s.value]]):u("",!0),n.subtype=="time"?C((r(),d("input",S({key:5,ref:"timeInput",type:"time",class:"form-control","onUpdate:modelValue":t[6]||(t[6]=i=>s.value=i)},e.$attrs),null,16)),[[x,s.value]]):u("",!0),n.subtype=="date"?C((r(),d("input",S({key:6,type:"date",ref:"dateInput",class:"form-control","onUpdate:modelValue":t[7]||(t[7]=i=>s.value=i)},e.$attrs),null,16)),[[x,s.value]]):u("",!0),n.subtype=="month"?C((r(),d("input",S({key:7,type:"month",ref:"monthInput",class:"form-control","onUpdate:modelValue":t[8]||(t[8]=i=>s.value=i)},e.$attrs),null,16)),[[x,s.value]]):u("",!0),n.subtype=="year"?C((r(),d("input",S({key:8,type:"number",ref:"yearInput",class:"form-control","onUpdate:modelValue":t[9]||(t[9]=i=>s.value=i)},e.$attrs),null,16)),[[x,s.value]]):u("",!0),n.unit?(r(),d("div",Cn,[o("div",Bn,b(n.unit),1)])):u("",!0),n.subtype=="password"?(r(),d("div",{key:10,class:"input-group-append clickable",onClick:t[10]||(t[10]=(...i)=>s.togglePassword&&s.togglePassword(...i))},[o("div",On,[m(a,{"fixed-width":"",icon:l.showPassword?["far","eye"]:["far","eye-slash"]},null,8,["icon"])])])):u("",!0),n.showQuickButtons&&(n.subtype=="date"||n.subtype=="month"||n.subtype=="year")?(r(),d("div",{key:11,class:"input-group-append clickable",onClick:t[11]||(t[11]=i=>s.modify(-1))},[...xn])):u("",!0),n.showQuickButtons&&(n.subtype=="date"||n.subtype=="month"||n.subtype=="year")?(r(),d("div",{key:12,class:"input-group-append clickable",onClick:t[12]||(t[12]=i=>s.modify(1))},[...Tn])):u("",!0)])]),l.showHelp?(r(),d("span",Vn,[g(e.$slots,"help",{},void 0,!0)])):u("",!0)])])}const Hn=w(mn,[["render",Mn],["__scopeId","data-v-6927d479"],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbBaseTextInput.vue"]]),Pn=Object.freeze(Object.defineProperty({__proto__:null,default:Hn},Symbol.toStringTag,{value:"Module"}));B.add(T,V);const An={name:"OpenwbTextareaInput",inheritAttrs:!1,props:{title:String,modelValue:{String,Object},subtype:{validator:function(e){return["text","json"].indexOf(e)!==-1},default:"text"}},emits:["update:modelValue"],data(){return{showHelp:!1,inputInvalid:!1,tempValue:this.modelValue}},computed:{value:{get(){return this.subtype=="json"?this.inputInvalid?(console.debug("returning invalid String"),this.tempValue):JSON.stringify(this.tempValue,void 0,2):this.modelValue},set(e){if(this.subtype=="json")try{let t=JSON.parse(e);this.inputInvalid=!1,this.$refs.jsonInput.setCustomValidity(""),this.tempValue=t,this.$emit("update:modelValue",t)}catch{console.warn("parsing JSON failed: "+e),this.inputInvalid=!0,this.$refs.jsonInput.setCustomValidity("Ungültiger JSON Ausdruck!"),this.tempValue=e}else this.$emit("update:modelValue",e)}},length:{get(){return this.value!==void 0?this.value.length:0}}},methods:{toggleHelp(){this.showHelp=!this.showHelp&&this.$slots.help!==void 0}},components:{FontAwesomeIcon:O}},Dn={class:"form-row mb-1"},Ln={class:"col-md-8"},En={class:"form-row"},jn={class:"input-group"},qn={class:"input-group-prepend"},Rn={class:"input-group-text"},Wn={key:2,class:"input-group-append"},Nn={class:"input-group-text"},Un={class:"form-text text-muted text-right"},Fn={key:0,class:"form-row alert alert-info my-1 small"};function zn(e,t,n,c,l,s){const a=_("font-awesome-icon");return r(),d("div",Dn,[o("label",{onClick:t[0]||(t[0]=(...i)=>s.toggleHelp&&s.toggleHelp(...i)),class:"col-md-4 col-form-label"},[p(b(n.title)+" ",1),e.$slots.help?(r(),f(a,{key:0,icon:l.showHelp?["fas","question-circle"]:["far","question-circle"],class:y(l.showHelp?"text-info":"")},null,8,["icon","class"])):u("",!0)]),o("div",Ln,[o("div",En,[o("div",jn,[o("div",qn,[o("div",Rn,[n.subtype=="text"?(r(),f(a,{key:0,"fixed-width":"",icon:["fas","keyboard"]})):u("",!0),n.subtype=="json"?(r(),f(a,{key:1,"fixed-width":"",icon:["fas","code"]})):u("",!0)])]),n.subtype==="json"?C((r(),d("textarea",S({key:0,ref:"jsonInput",class:"form-control","onUpdate:modelValue":t[1]||(t[1]=i=>s.value=i)},e.$attrs),null,16)),[[x,s.value,void 0,{lazy:!0}]]):C((r(),d("textarea",S({key:1,class:"form-control","onUpdate:modelValue":t[2]||(t[2]=i=>s.value=i)},e.$attrs),null,16)),[[x,s.value]]),e.$attrs.maxlength?(r(),d("div",Wn,[o("div",Nn,[o("small",Un,b(s.length)+" / "+b(e.$attrs.maxlength),1)])])):u("",!0)])]),l.showHelp?(r(),d("span",Fn,[g(e.$slots,"help",{},void 0,!0)])):u("",!0)])])}const Gn=w(An,[["render",zn],["__scopeId","data-v-3d93046b"],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbBaseTextarea.vue"]]),Jn=Object.freeze(Object.defineProperty({__proto__:null,default:Gn},Symbol.toStringTag,{value:"Module"}));const Kn={name:"OpenwbToast",emits:["dismiss","hide"],props:{topic:{type:String,required:!0},subtype:{validator:function(e){return["info","success","warning","danger","primary","secondary","light","dark"].indexOf(e)!==-1},default:"secondary"},source:{validator:function(e){return["system","client","command"].indexOf(e)!==-1}},timestamp:{type:Number}},data(){return{handle:void 0,relativeTime:void 0,hidden:!1}},methods:{dismiss(){this.$emit("dismiss",{topic:this.topic})},updateRelativeTime(){const e={year:31536e6,month:2628e6,day:864e5,hour:36e5,minute:6e4,second:1e3};var t=new Intl.RelativeTimeFormat("de",{numeric:"auto"});const c=new Date-this.timestamp*1e3;for(var l in e)if(Math.abs(c)>e[l]){this.relativeTime=t.format(Math.round(-c/e[l]),l);break}c>10*1e3&&!this.hidden&&(this.hidden=!0,this.$emit("hide",{topic:this.topic}))}},mounted(){this.handle=window.setInterval(this.updateRelativeTime,1e3)},unmounted(){window.clearInterval(this.handle)}},z=e=>(L("data-v-c51b5764"),e=e(),E(),e),Qn=z(()=>o("strong",{class:"pr-2 mr-auto"},"OpenWB",-1)),Yn={key:0,class:"time-diff"},Zn=z(()=>o("span",{"aria-hidden":"true"},"×",-1)),Xn=[Zn],eo={class:"toast-body"};function to(e,t,n,c,l,s){return r(),d("div",{class:y(["toast","border-"+n.subtype]),role:"alert"},[o("div",{class:y(["toast-header","bg-"+n.subtype])},[Qn,n.timestamp?(r(),d("small",Yn,b(l.relativeTime),1)):u("",!0),o("button",{type:"button",class:"ml-2 mb-1 close","data-dismiss":"toast","aria-label":"Close",onClick:t[0]||(t[0]=(...a)=>s.dismiss&&s.dismiss(...a))},[...Xn])],2),o("div",eo,[g(e.$slots,"default",{},void 0,!0)])],2)}const so=w(Kn,[["render",to],["__scopeId","data-v-c51b5764"],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbBaseToast.vue"]]),no=Object.freeze(Object.defineProperty({__proto__:null,default:so},Symbol.toStringTag,{value:"Module"}));B.add(Ae);const oo={name:"OpenwbNavBar",components:{FontAwesomeIcon:O},computed:{nodeEnv(){return"development"}},watch:{$route(){this.$refs.collapsibleNavbar.classList.remove("show"),this.$refs.navbarButton.classList.add("collapsed"),this.$refs.navbarButton.setAttribute("aria-expanded",!1)}}},H=e=>(L("data-v-e7a6d0c0"),e=e(),E(),e),ao={class:"navbar navbar-expand-lg bg-dark navbar-dark fixed-top"},lo=H(()=>o("a",{class:"navbar-brand",href:"/openWB/web/"},[o("span",null,"openWB")],-1)),io={class:"navbar-toggler mr-5",type:"button","data-toggle":"collapse","data-target":"#collapsibleNavbar",ref:"navbarButton"},ro=H(()=>o("span",{class:"navbar-toggler-icon"},null,-1)),co=[ro],uo={class:"collapse navbar-collapse navbar-nav-scroll",id:"collapsibleNavbar",ref:"collapsibleNavbar"},po={class:"navbar-nav"},mo={class:"nav-item"},_o={class:"nav-item dropdown nav-separator-after"},ho=H(()=>o("a",{class:"nav-link dropdown-toggle",href:"#",role:"button","data-toggle":"dropdown","aria-expanded":"false"}," Auswertungen ",-1)),fo={class:"dropdown-menu","aria-labelledby":"navbarDropdown"},go={class:"nav-item dropdown"},bo=H(()=>o("a",{class:"nav-link dropdown-toggle",href:"#",role:"button","data-toggle":"dropdown","aria-expanded":"false"}," Einstellungen ",-1)),vo={class:"dropdown-menu","aria-labelledby":"navbarDropdown"},wo={class:"nav-item dropdown"},yo=H(()=>o("a",{class:"nav-link dropdown-toggle",href:"#",role:"button","data-toggle":"dropdown","aria-expanded":"false"}," Ladeeinstellungen ",-1)),ko={class:"dropdown-menu","aria-labelledby":"navbarDropdown"},So={class:"nav-item dropdown"},Co=H(()=>o("a",{class:"nav-link dropdown-toggle",href:"#",role:"button","data-toggle":"dropdown","aria-expanded":"false"}," Konfiguration ",-1)),Bo={class:"dropdown-menu","aria-labelledby":"navbarDropdown"},Oo=H(()=>o("div",{class:"dropdown-divider"},null,-1)),$o=H(()=>o("a",{href:"modules/legacy_smart_home/smarthomeconfig.php",class:"dropdown-item",target:"_blank"}," SmartHome ",-1)),xo={class:"nav-item dropdown"},Io=H(()=>o("a",{class:"nav-link dropdown-toggle",href:"#",role:"button","data-toggle":"dropdown","aria-expanded":"false"}," System ",-1)),To={class:"dropdown-menu","aria-labelledby":"navbarDropdown"},Vo={class:"nav-item nav-separator-before"},Mo={class:"nav-link",href:"https://github.com/openWB/core/wiki",target:"_blank"};function Ho(e,t,n,c,l,s){const a=_("router-link"),i=_("font-awesome-icon");return r(),d("nav",ao,[lo,o("button",io,[...co],512),o("div",uo,[o("ul",po,[o("li",mo,[m(a,{to:"/Status",class:"nav-link","active-class":"active disabled"},{default:h(()=>[p(" Status ")]),_:1})]),o("li",_o,[ho,o("div",fo,[m(a,{to:"/Logging/ChargeLog",class:"dropdown-item","active-class":"active disabled"},{default:h(()=>[p(" Ladeprotokoll ")]),_:1}),m(a,{to:"/Logging/Chart",class:"dropdown-item","active-class":"active disabled"},{default:h(()=>[p(" Diagramme ")]),_:1})])]),o("li",go,[bo,o("div",vo,[m(a,{to:"/GeneralConfig",class:"dropdown-item","active-class":"active disabled"},{default:h(()=>[p(" Allgemein ")]),_:1}),m(a,{to:"/OptionalComponents",class:"dropdown-item","active-class":"active disabled"},{default:h(()=>[p(" Optionale Hardware ")]),_:1})])]),o("li",wo,[yo,o("div",ko,[m(a,{to:"/GeneralChargeConfig",class:"dropdown-item","active-class":"active disabled"},{default:h(()=>[p(" Übergreifendes ")]),_:1}),m(a,{to:"/InstantChargeConfig",class:"dropdown-item","active-class":"active disabled"},{default:h(()=>[p(" Sofortladen ")]),_:1}),m(a,{to:"/PVChargeConfig",class:"dropdown-item","active-class":"active disabled"},{default:h(()=>[p(" PV-Laden ")]),_:1}),m(a,{to:"/TimeChargeConfig",class:"dropdown-item","active-class":"active disabled"},{default:h(()=>[p(" Zeitladen ")]),_:1}),m(a,{to:"/ScheduledChargeConfig",class:"dropdown-item","active-class":"active disabled"},{default:h(()=>[p(" Zielladen ")]),_:1})])]),o("li",So,[Co,o("div",Bo,[m(a,{to:"/HardwareInstallation",class:"dropdown-item","active-class":"active disabled"},{default:h(()=>[p(" Geräte und Komponenten ")]),_:1}),m(a,{to:"/LoadManagementConfiguration",class:"dropdown-item","active-class":"active disabled"},{default:h(()=>[p(" Lastmanagement ")]),_:1}),m(a,{to:"/ChargePointInstallation",class:"dropdown-item","active-class":"active disabled"},{default:h(()=>[p(" Ladepunkte ")]),_:1}),m(a,{to:"/VehicleConfiguration",class:"dropdown-item","active-class":"active disabled"},{default:h(()=>[p(" Fahrzeuge ")]),_:1}),Oo,$o])]),o("li",xo,[Io,o("div",To,[m(a,{to:"/System/CloudConfiguration",class:"dropdown-item","active-class":"active disabled"},{default:h(()=>[p(" openWB Cloud ")]),_:1}),m(a,{to:"/System/MqttBridgeConfiguration",class:"dropdown-item","active-class":"active disabled"},{default:h(()=>[p(" MQTT-Brücken ")]),_:1}),m(a,{to:"/System/DebugConfiguration",class:"dropdown-item","active-class":"active disabled"},{default:h(()=>[p(" Fehlersuche ")]),_:1}),m(a,{to:"/System/Support",class:"dropdown-item","active-class":"active disabled"},{default:h(()=>[p(" Support ")]),_:1}),m(a,{to:"/System/DataManagement",class:"dropdown-item","active-class":"active disabled"},{default:h(()=>[p(" Datenverwaltung ")]),_:1}),m(a,{to:"/System/SystemConfiguration",class:"dropdown-item","active-class":"active disabled"},{default:h(()=>[p(" System ")]),_:1}),m(a,{to:"/System/LegalSettings",class:"dropdown-item","active-class":"active disabled"},{default:h(()=>[p(" Rechtliches ")]),_:1})])]),o("li",Vo,[o("a",Mo,[p(" Wiki "),m(i,{"fixed-width":"",icon:["fas","external-link-alt"]})])])])],512)])}const Po=w(oo,[["render",Ho],["__scopeId","data-v-e7a6d0c0"],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbPageNavbar.vue"]]);const Ao={name:"OpenwbPageFooter"},Do={id:"footer",class:"footer bg-dark text-light font-small"},Lo={class:"container text-center"};function Eo(e,t,n,c,l,s){return r(),d("footer",Do,[o("div",Lo,[o("small",null," Sie befinden sich hier: Einstellungen / "+b(e.$route.meta.heading),1)])])}const jo=w(Ao,[["render",Eo],["__scopeId","data-v-3c9a239a"],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbPageFooter.vue"]]);B.add(De);const qo={name:"OpenwbDonationBanner",components:{FontAwesomeIcon:O}},Ro={class:"mt-3 alert alert-dark text-center"},Wo=o("br",null,null,-1),No=o("br",null,null,-1),Uo={action:"https://www.paypal.com/cgi-bin/webscr",method:"post",target:"_blank"},Fo=o("input",{type:"hidden",name:"cmd",value:"_s-xclick"},null,-1),zo=o("input",{type:"hidden",name:"hosted_button_id",value:"2K8C4Y2JTGH7U"},null,-1),Go={type:"submit",class:"btn btn-primary"};function Jo(e,t,n,c,l,s){const a=_("font-awesome-icon");return r(),d("div",Ro,[p(" Open Source made with love!"),Wo,p(" Jede Spende hilft die Weiterentwicklung von openWB voranzutreiben"),No,o("form",Uo,[Fo,zo,o("button",Go,[p(" Spenden "),m(a,{icon:["fab","paypal"]})])])])}const Ko=w(qo,[["render",Jo],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbPageDonationBanner.vue"]]),Qo={name:"ComponentState",data(){return{mqttTopicsToSubscribe:[]}},emits:["reset","defaults","save"],computed:{weekdays(){return["Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag","Sonntag"]},chargeModes(){return["instant_charging","pv_charging","scheduled_charging","time_charging","standby","stop"]},mqttClientId(){return this.$root.mqttClientId}},methods:{updateState(e,t,n=void 0){console.debug("updateState:",e,t,n),this.$store.commit({type:"updateTopic",topic:e,objectPath:n,payload:t})},getWildcardIndexList(e,t=!1){let n=e;t||(n="^"+e.replaceAll("/","\\/").replaceAll("+","[^+/]+").replaceAll("#","[^#/]+")+"$");let c=Object.keys(this.$store.state.mqtt).filter(l=>l.match(n));return c.forEach((l,s,a)=>{a[s]=parseInt(l.match(/(?:\/)([0-9]+)(?=\/)*/g)[0].replace(/[^0-9]+/g,""))}),c},getWildcardTopics(e,t=!1){let n=e;return t||(n="^"+e.replaceAll("/","\\/").replaceAll("+","[^+/]+").replaceAll("#","[^#/]+")+"$"),Object.keys(this.$store.state.mqtt).filter(c=>c.match(n)).reduce((c,l)=>({...c,[l]:this.$store.state.mqtt[l]}),{})},formatDate(e,t={year:"numeric",month:"2-digit",day:"2-digit"}){return new Date(e).toLocaleDateString(void 0,t)},formatNumber(e,t=0,n=t,c=1){return(e*c).toLocaleString(void 0,{minimumFractionDigits:t,maximumFractionDigits:n})},formatNumberTopic(e,t=0,n=t,c=1){return this.$store.state.mqtt[e]?this.formatNumber(this.$store.state.mqtt[e],t,n,c):"-"},formatPhaseArrayNumberTopic(e,t=0,n=t,c=1){return this.$store.state.mqtt[e]?this.$store.state.mqtt[e].map(l=>this.formatNumber(l,t,n,c)).join(" / "):"- / - / -"},translateChargeMode(e){switch(e){case"instant_charging":return"Sofort";case"pv_charging":return"PV";case"scheduled_charging":return"Zielladen";case"time_charging":return"Zeitladen";case"standby":return"Standby";case"stop":return"Stop";default:return console.warn("unknown charge mode:",e),e}}},mounted(){`openWB/log/${this.mqttClientId}/data`in this.$store.state.mqtt||this.mqttTopicsToSubscribe.push("openWB/log/"+this.mqttClientId+"/data"),this.mqttTopicsToSubscribe.forEach(e=>{e.includes("#")||e.includes("+")?console.debug("skipping init of wildcard topic:",e):Object.keys(this.$store.state.mqtt).includes(e)?console.error("multiple subscriptions of topic!",e):this.$store.commit("addTopic",{topic:e,payload:void 0})}),this.$root.doSubscribe(this.mqttTopicsToSubscribe)},unmounted(){this.$root.doUnsubscribe(this.mqttTopicsToSubscribe),this.mqttTopicsToSubscribe.forEach(e=>{e.includes("#")||e.includes("+")?(console.debug("expanding wildcard topic:",e),Object.keys(this.getWildcardTopics(e)).forEach(t=>{console.debug("removing wildcardTopic:",t),this.$store.commit("removeTopic",t)})):this.$store.commit("removeTopic",e)})}},G=w(Qo,[["__file","/opt/openWB-dev/openwb-ui-settings/src/components/mixins/ComponentState.vue"]]);B.add(Le,Ee);const Yo={name:"OpenwbPageMessages",mixins:[G],components:{FontAwesomeIcon:O,FontAwesomeLayers:je,FontAwesomeLayersText:qe},data(){return{mqttTopicsToSubscribe:["openWB/system/messages/+","openWB/command/"+this.$root.mqttClientId+"/messages/+"],showAllMessages:!1,hiddenMessages:[]}},computed:{alertLevel(){return this.messages.reduce((t,n)=>((t=="light"&&["info","success","warning","danger"].includes(n.type)||t=="info"&&["success","warning","danger"].includes(n.type)||t=="success"&&["warning","danger"].includes(n.type)||t=="warning"&&n.type=="danger")&&(t=n.type),t),"light")},messages(){const e=[];return this.systemMessages.forEach(t=>{e.push(t)}),this.clientMessages.forEach(t=>{e.push(t)}),e.sort(this.compareMessagesByTimestamp),e},recentMessages(){return this.showAllMessages?this.messages:this.messages.filter(e=>!this.hiddenMessages.includes(e.topic))},messageIndicatorClass(){return"text-"+this.alertLevel},systemMessages(){let e=this.getWildcardTopics("openWB/system/messages/+");var t=[];for(const[n,c]of Object.entries(e))t.push({topic:n,...c});return t},clientMessages(){let e=this.getWildcardTopics("openWB/command/"+this.$root.mqttClientId+"/messages/+");var t=[];for(const[n,c]of Object.entries(e))t.push({topic:n,...c});return t}},methods:{toggleAllMessages(){this.showAllMessages=!this.showAllMessages},compareMessagesByTimestamp(e,t){return t.timestamp-e.timestamp},clearTopic(e){this.$root.doPublish(e,void 0)},dismissMessage(e){this.clearTopic(e.topic);var t=this.hiddenMessages.indexOf(e.topic);t>-1&&this.hiddenMessages.splice(t,1)},dismissAllMessages(){this.messages.forEach(e=>{this.clearTopic(e.topic)}),this.hiddenMessages=[],this.toggleAllMessages()},hideMessage(e){this.hiddenMessages.includes(e.topic)||this.hiddenMessages.push(e.topic)}}},Zo=["innerHTML"];function Xo(e,t,n,c,l,s){const a=_("font-awesome-icon"),i=_("font-awesome-layers-text"),v=_("font-awesome-layers"),$=_("openwb-base-alert"),M=_("openwb-base-click-button"),P=_("openwb-base-toast");return r(),d(I,null,[(r(),f(U,{to:"body"},[o("div",{id:"message-indicator",class:y(["text-light mt-1 p-2 mr-1 clickable",l.showAllMessages?"active":""]),onClick:t[0]||(t[0]=(...A)=>s.toggleAllMessages&&s.toggleAllMessages(...A))},[m(v,{"full-width":"",style:{"font-size":"175%"}},{default:h(()=>[m(a,{"fixed-width":"",icon:l.showAllMessages?["fas","bell"]:["far","bell"],class:y(s.messageIndicatorClass)},null,8,["icon","class"]),s.messages.length>0?(r(),f(i,{key:0,counter:"",value:s.messages.length,position:"top-right",class:"message-counter bg-light text-dark"},null,8,["value"])):u("",!0)]),_:1})],2)])),s.recentMessages.length>0||l.showAllMessages?(r(),d("div",{key:0,class:y(["openwb-toast-container",l.showAllMessages?"full-height":""])},[s.recentMessages.length==0?(r(),f($,{key:0,subtype:"info"},{default:h(()=>[p(" Keine Nachrichten vorhanden. ")]),_:1})):l.showAllMessages?(r(),f(M,{key:1,class:"btn-sm btn-secondary mb-1",onButtonClicked:s.dismissAllMessages},{default:h(()=>[p(" Alle Nachrichten löschen ")]),_:1},8,["onButtonClicked"])):u("",!0),(r(!0),d(I,null,D(s.recentMessages,A=>(r(),f(P,{key:A.topic,topic:A.topic,source:A.source,subtype:A.type,timestamp:A.timestamp,onDismiss:s.dismissMessage,onHide:s.hideMessage},{default:h(()=>[o("span",{innerHTML:A.message},null,8,Zo)]),_:2},1032,["topic","source","subtype","timestamp","onDismiss","onHide"]))),128))],2)):u("",!0)],64)}const ea=w(Yo,[["render",Xo],["__scopeId","data-v-2c25f0d0"],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbPageMessages.vue"]]),ta={name:"OpenwbPageBlocker",mixins:[G],data(){return{mqttTopicsToSubscribe:["openWB/system/boot_done","openWB/system/update_in_progress"]}},computed:{title(){return this.bootInProgress||this.updateInProgress?"openWB ist noch nicht bereit":this.reloadRequired?"Neues Laden der Seite erforderlich":"???"},myButtons(){return!(this.bootInProgress||this.updateInProgress)&&this.reloadRequired?[{text:"Jetzt neu laden",subtype:"success",event:"reload"}]:[]},bootInProgress(){return this.$store.state.mqtt["openWB/system/boot_done"]==null?!0:!this.$store.state.mqtt["openWB/system/boot_done"]},updateInProgress(){return this.$store.state.mqtt["openWB/system/update_in_progress"]==null?!1:this.$store.state.mqtt["openWB/system/update_in_progress"]},reloadRequired(){return this.$store.state.local.reloadRequired},showModalBlocker(){return this.bootInProgress||this.updateInProgress||this.reloadRequired}},methods:{handleModalResult(e){e=="reload"?location.reload():console.warn("unknown event",e)}}},sa={class:"openwb-blocker"},na={key:0},oa={key:1},aa={key:2},la={key:3};function ia(e,t,n,c,l,s){const a=_("openwb-base-modal-dialog");return r(),d("div",sa,[m(a,{show:s.showModalBlocker,title:s.title,subtype:"dark",preventClose:!0,buttons:s.myButtons,onModalResult:t[0]||(t[0]=i=>s.handleModalResult(i))},{default:h(()=>[s.bootInProgress?(r(),d("p",na," Der Systemstart ist noch nicht abgeschlossen. ")):u("",!0),s.updateInProgress?(r(),d("p",oa," Es wird eine Systemaktualisierung ausgeführt. ")):u("",!0),!(s.bootInProgress||s.updateInProgress)&&s.reloadRequired?(r(),d("p",aa," Bitte die Seite neu laden. ")):(r(),d("p",la,"Bitte warten..."))]),_:1},8,["show","title","buttons"])])}const ra=w(ta,[["render",ia],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbPageBlocker.vue"]]);const da={name:"settings-app",components:{NavBar:Po,PageFooter:jo,DonationBanner:Ko,Messages:ea,Blocker:ra},data(){return{client:{connected:!1},connection:{protocol:location.protocol=="https:"?"wss":"ws",host:location.hostname,port:parseInt(location.port)||(location.protocol=="https:"?443:80),endpoint:"/ws",connectTimeout:4e3,reconnectPeriod:4e3}}},computed:{mqttClientId(){try{return this.client.options.clientId}catch{return}},topicList(){return Object.keys(this.$store.state.mqtt)}},methods:{async saveValues(e=void 0){function t(c){return new Promise(l=>setTimeout(l,c))}console.debug("saving values..."),this.$store.state.local.savingData=!0;let n={};e===void 0?n=this.$store.state.mqtt:Array.isArray(e)?e.forEach(c=>{n[c]=this.$store.state.mqtt[c]}):console.error("expected array, got ",typeof e);for(const[c,l]of Object.entries(n)){let s=c.replace("openWB/","openWB/set/");console.debug("saving data:",s,l),this.doPublish(s,l),await t(100)}console.debug("done saving data"),this.$store.state.local.savingData=!1},resetValues(e=this.topicList){console.debug("resetting values..."),console.debug("topics: ",e),this.doUnsubscribe(e),this.doSubscribe(e)},setDefaultValues(){console.debug("setting default values... (ToDo)")},sendCommand(e){this.doPublish("openWB/set/command/"+this.client.options.clientId+"/todo",e,!1)},createConnection(){const{protocol:e,host:t,port:n,endpoint:c,...l}=this.connection,s=`${e}://${t}:${n}${c}`;console.debug("connecting to broker:",s);try{this.client=ne.connect(s,l)}catch(a){console.error("mqtt.connect error",a)}this.client.on("connect",()=>{console.debug("Connection succeeded! ClientId: ",this.client.options.clientId),this.doSubscribe(["openWB/system/usage_terms_acknowledged"])}),this.client.on("error",a=>{console.error("Connection failed",a)}),this.client.on("message",(a,i)=>{if(i.toString().length>0){let v;try{v=JSON.parse(i.toString())}catch{console.debug("Json parsing failed, fallback to string: ",a),v=i.toString()}this.$store.commit("addTopic",{topic:a,payload:v})}else this.$store.commit("removeTopic",a)})},doSubscribe(e){this.client.subscribe(e,{},t=>{if(t){console.error("Subscribe to topics error",t);return}})},doUnsubscribe(e){this.client.unsubscribe(e,t=>{t&&console.error("Unsubscribe error",t)})},doPublish(e,t,n=!0,c=2){let l={qos:c,retain:n};this.client.publish(e,JSON.stringify(t),l,s=>{s&&console.error("Publish error",s)})},postClientMessage(e,t="secondary"){console.debug("postMessage:",e,t);const n=Date.now(),c="openWB/command/"+this.mqttClientId+"/messages/"+n;this.$store.commit({type:"addTopic",topic:c,payload:{message:e,type:t,source:"client",timestamp:Math.floor(n/1e3)}})}},created(){this.createConnection()}},ca={role:"main",class:"container"},ua={id:"content"};function pa(e,t,n,c,l,s){const a=_("nav-bar"),i=_("router-view"),v=_("donation-banner"),$=_("page-footer"),M=_("messages"),P=_("blocker");return r(),d(I,null,[o("header",null,[m(a)]),o("div",ca,[o("div",ua,[o("h1",null,b(e.$route.meta.heading),1),m(i,{onSave:s.saveValues,onReset:s.resetValues,onDefaults:s.setDefaultValues,onSendCommand:s.sendCommand},null,8,["onSave","onReset","onDefaults","onSendCommand"])]),m(v)]),m($),m(M),m(P)],64)}const ma=w(da,[["render",pa],["__file","/opt/openWB-dev/openwb-ui-settings/src/App.vue"]]),_a="modulepreload",ha=function(e){return"/openWB/web/settings/"+e},N={},k=function(t,n,c){if(!n||n.length===0)return t();const l=document.getElementsByTagName("link");return Promise.all(n.map(s=>{if(s=ha(s),s in N)return;N[s]=!0;const a=s.endsWith(".css"),i=a?'[rel="stylesheet"]':"";if(!!c)for(let M=l.length-1;M>=0;M--){const P=l[M];if(P.href===s&&(!a||P.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${s}"]${i}`))return;const $=document.createElement("link");if($.rel=a?"stylesheet":_a,a||($.as="script",$.crossOrigin=""),$.href=s,document.head.appendChild($),a)return new Promise((M,P)=>{$.addEventListener("load",M),$.addEventListener("error",()=>P(new Error(`Unable to preload CSS for ${s}`)))})})).then(()=>t()).catch(s=>{const a=new Event("vite:preloadError",{cancelable:!0});if(a.payload=s,window.dispatchEvent(a),!a.defaultPrevented)throw s})};let J={mqtt:{},local:{reloadRequired:!1,savingData:!1},text:{rfidWiki:'Bitte auch hiervon abhängige Einstellungen beachten. Eine Übersicht gibt es im Wiki.'}};J.examples={text1:"Text...",text2:"mail@domain.com",text3:"openwb.local",text4:"http://www.openwb.de",text5:"Benutzername",text6:"12:34",text7:"2021-10-31",number1:5,number2:10,number3:28e-5,password1:"GeHeiM!",textarea1:"Langer Text...",range1:6,range2:10,select1:1,select2:"three",buttonGroup1:1,checkbox1:!0,json1:{text:"Text",number:123},hierarchy1:[{id:0,type:"counter",children:[{id:3,type:"inverter",children:[]},{id:4,type:"bat",children:[]},{id:1,type:"cp",children:[]},{id:2,type:"cp",children:[]}]}],hierarchy1Labels:{0:"EVU",1:"Ladepunkt 1",2:"Ladepunkt 2",3:"Wechselrichter",4:"Batteriespeicher"},tags:["1234","2345","3456"]};const K=oe({state:J,mutations:{storeLocal(e,t){e.local[t.name]=t.value},addTopic(e,t){e.mqtt[t.topic]=t.payload},removeTopic(e,t){delete e.mqtt[t]},updateTopic(e,t){const n=(c,l,s)=>l.split(".").reduce((a,i,v)=>a[i]=l.split(".").length===++v?s:a[i]||{},c);t.topic in e.mqtt?t.objectPath!=null?n(e.mqtt[t.topic],t.objectPath,t.payload):e.mqtt[t.topic]=t.payload:(console.debug("topic not found in state.mqtt: ",t.topic),t.topic in e.examples?t.objectPath!=null?n(e.examples[t.topic],t.objectPath,t.payload):e.examples[t.topic]=t.payload:console.warn("topic not found in state: ",t.topic," giving up"))}},actions:{},modules:{},getters:{usageTermsAcknowledged(e){return new Promise(t=>{if(e.mqtt["openWB/system/usage_terms_acknowledged"]!==void 0)t(e.mqtt["openWB/system/usage_terms_acknowledged"]);else{var n,c;n=setTimeout(()=>{clearInterval(c),t(!1)},5e3),c=setInterval(()=>{e.mqtt["openWB/system/usage_terms_acknowledged"]!==void 0&&(clearTimeout(n),clearInterval(c),t(e.mqtt["openWB/system/usage_terms_acknowledged"]))},100)}})}}}),Q=[{path:"/",redirect:"/GeneralConfig"},{path:"/Status",name:"Status",meta:{heading:"Status"},component:()=>k(()=>import("./Status-e4dc10a2.js"),["assets/Status-e4dc10a2.js","assets/vendor-fortawesome-542fe04f.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css","assets/vendor-chartjs-a50f5391.js","assets/vendor-luxon-78deadb9.js","assets/vendor-bootstrap-a615942d.js","assets/vendor-jquery-a64a4809.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-b1ba123b.js","assets/Status-6557de7c.css"])},{path:"/Logging/ChargeLog",name:"ChargeLog",meta:{heading:"Auswertungen - Ladeprotokoll"},component:()=>k(()=>import("./ChargeLog-3b119f4e.js"),["assets/ChargeLog-3b119f4e.js","assets/vendor-fortawesome-542fe04f.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css","assets/vendor-bootstrap-a615942d.js","assets/vendor-jquery-a64a4809.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-b1ba123b.js","assets/ChargeLog-298377e5.css"])},{path:"/Logging/Chart/:chartRange?/:initialDate?",name:"DailyChart",meta:{heading:"Auswertungen - Diagramme"},component:()=>k(()=>import("./Chart-6c34d9d6.js"),["assets/Chart-6c34d9d6.js","assets/vendor-fortawesome-542fe04f.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css","assets/vendor-chartjs-a50f5391.js","assets/vendor-luxon-78deadb9.js","assets/vendor-bootstrap-a615942d.js","assets/vendor-jquery-a64a4809.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-b1ba123b.js","assets/Chart-e20451b4.css"])},{path:"/GeneralConfig",name:"GeneralConfig",meta:{heading:"Einstellungen - Allgemein"},component:()=>k(()=>import("./GeneralConfig-507be735.js"),["assets/GeneralConfig-507be735.js","assets/dynamic-import-helper-be004503.js","assets/vendor-fortawesome-542fe04f.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css","assets/vendor-bootstrap-a615942d.js","assets/vendor-jquery-a64a4809.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-b1ba123b.js"])},{path:"/OptionalComponents",name:"OptionalComponents",meta:{heading:"Einstellungen - Optionale Hardware"},component:()=>k(()=>import("./OptionalComponents-75dd3ebf.js"),["assets/OptionalComponents-75dd3ebf.js","assets/dynamic-import-helper-be004503.js","assets/vendor-fortawesome-542fe04f.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css","assets/vendor-bootstrap-a615942d.js","assets/vendor-jquery-a64a4809.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-b1ba123b.js"])},{path:"/GeneralChargeConfig",name:"GeneralChargeConfig",meta:{heading:"Ladeeinstellungen - Übergreifendes"},component:()=>k(()=>import("./GeneralChargeConfig-492c2730.js"),["assets/GeneralChargeConfig-492c2730.js","assets/dynamic-import-helper-be004503.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css","assets/vendor-fortawesome-542fe04f.js","assets/vendor-bootstrap-a615942d.js","assets/vendor-jquery-a64a4809.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-b1ba123b.js"])},{path:"/InstantChargeConfig",name:"InstantChargeConfig",meta:{heading:"Ladeeinstellungen - Sofortladen"},component:()=>k(()=>import("./InstantChargeConfig-b4b715b2.js"),["assets/InstantChargeConfig-b4b715b2.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css","assets/vendor-fortawesome-542fe04f.js","assets/vendor-bootstrap-a615942d.js","assets/vendor-jquery-a64a4809.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-b1ba123b.js"])},{path:"/PVChargeConfig",name:"PVChargeConfig",meta:{heading:"Ladeeinstellungen - PV-Laden"},component:()=>k(()=>import("./PVChargeConfig-8bf4097f.js"),["assets/PVChargeConfig-8bf4097f.js","assets/vendor-fortawesome-542fe04f.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css","assets/vendor-bootstrap-a615942d.js","assets/vendor-jquery-a64a4809.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-b1ba123b.js"])},{path:"/TimeChargeConfig",name:"TimeChargeConfig",meta:{heading:"Ladeeinstellungen - Zeitladen"},component:()=>k(()=>import("./TimeChargeConfig-398bec22.js"),["assets/TimeChargeConfig-398bec22.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css","assets/vendor-fortawesome-542fe04f.js","assets/vendor-bootstrap-a615942d.js","assets/vendor-jquery-a64a4809.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-b1ba123b.js"])},{path:"/ScheduledChargeConfig",name:"ScheduledChargeConfig",meta:{heading:"Ladeeinstellungen - Zielladen"},component:()=>k(()=>import("./ScheduledChargeConfig-6f25b09e.js"),["assets/ScheduledChargeConfig-6f25b09e.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css","assets/vendor-fortawesome-542fe04f.js","assets/vendor-bootstrap-a615942d.js","assets/vendor-jquery-a64a4809.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-b1ba123b.js"])},{path:"/HardwareInstallation",name:"HardwareInstallation",meta:{heading:"Konfiguration - Geräte und Komponenten"},component:()=>k(()=>import("./HardwareInstallation-5beb6277.js"),["assets/HardwareInstallation-5beb6277.js","assets/vendor-fortawesome-542fe04f.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css","assets/dynamic-import-helper-be004503.js","assets/vendor-bootstrap-a615942d.js","assets/vendor-jquery-a64a4809.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-b1ba123b.js","assets/HardwareInstallation-1ee9693f.css"])},{path:"/LoadManagementConfiguration",name:"LoadManagementConfiguration",meta:{heading:"Konfiguration - Lastmanagement"},component:()=>k(()=>import("./LoadManagementConfig-650a9bcf.js"),["assets/LoadManagementConfig-650a9bcf.js","assets/vendor-fortawesome-542fe04f.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css","assets/OpenwbSortableList-8141a899.js","assets/OpenwbSortableList-7ba533e4.css","assets/vendor-bootstrap-a615942d.js","assets/vendor-jquery-a64a4809.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-b1ba123b.js"])},{path:"/ChargePointInstallation",name:"ChargePointInstallation",meta:{heading:"Konfiguration - Ladepunkte"},component:()=>k(()=>import("./ChargePointInstallation-dd755e26.js"),["assets/ChargePointInstallation-dd755e26.js","assets/vendor-fortawesome-542fe04f.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css","assets/dynamic-import-helper-be004503.js","assets/vendor-bootstrap-a615942d.js","assets/vendor-jquery-a64a4809.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-b1ba123b.js","assets/ChargePointInstallation-ed6a5c7e.css"])},{path:"/VehicleConfiguration/:section?/:section_index?/:section_part?/:action?",name:"VehicleConfiguration",meta:{heading:"Konfiguration - Fahrzeuge"},component:()=>k(()=>import("./VehicleConfig-e0d43666.js"),["assets/VehicleConfig-e0d43666.js","assets/vendor-fortawesome-542fe04f.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css","assets/dynamic-import-helper-be004503.js","assets/vendor-bootstrap-a615942d.js","assets/vendor-jquery-a64a4809.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-b1ba123b.js","assets/VehicleConfig-4aeda6ca.css"])},{path:"/System/CloudConfiguration",name:"CloudConfig",meta:{heading:"System - openWB Cloud"},component:()=>k(()=>import("./CloudConfig-512116d8.js"),["assets/CloudConfig-512116d8.js","assets/vendor-fortawesome-542fe04f.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css","assets/vendor-bootstrap-a615942d.js","assets/vendor-jquery-a64a4809.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-b1ba123b.js"])},{path:"/System/MqttBridgeConfiguration",name:"MqttBridgeConfig",meta:{heading:"System - MQTT-Brücken"},component:()=>k(()=>import("./MqttBridgeConfig-315aaa1b.js"),["assets/MqttBridgeConfig-315aaa1b.js","assets/vendor-fortawesome-542fe04f.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css","assets/vendor-bootstrap-a615942d.js","assets/vendor-jquery-a64a4809.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-b1ba123b.js","assets/MqttBridgeConfig-3471079a.css"])},{path:"/System/DebugConfiguration",name:"Debugging",meta:{heading:"System - Fehlersuche"},component:()=>k(()=>import("./DebugConfig-52bfd306.js"),["assets/DebugConfig-52bfd306.js","assets/vendor-fortawesome-542fe04f.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css","assets/vendor-bootstrap-a615942d.js","assets/vendor-jquery-a64a4809.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-b1ba123b.js","assets/DebugConfig-e21ab72c.css"])},{path:"/System/Support",name:"Support",meta:{heading:"System - Support"},component:()=>k(()=>import("./Support-488fe6e3.js"),["assets/Support-488fe6e3.js","assets/vendor-fortawesome-542fe04f.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css","assets/vendor-bootstrap-a615942d.js","assets/vendor-jquery-a64a4809.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-b1ba123b.js"])},{path:"/System/LegalSettings",name:"LegalSettings",meta:{heading:"System - Rechtliches"},component:()=>k(()=>import("./LegalSettings-5e01de20.js"),["assets/LegalSettings-5e01de20.js","assets/vendor-fortawesome-542fe04f.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css","assets/vendor-bootstrap-a615942d.js","assets/vendor-jquery-a64a4809.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-b1ba123b.js"])},{path:"/System/SystemConfiguration",name:"SystemConfig",meta:{heading:"System - System"},component:()=>k(()=>import("./System-a82a8cc5.js"),["assets/System-a82a8cc5.js","assets/vendor-fortawesome-542fe04f.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css","assets/vendor-bootstrap-a615942d.js","assets/vendor-jquery-a64a4809.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-b1ba123b.js","assets/System-0f1d217b.css"])},{path:"/System/DataManagement",name:"DataManagement",meta:{heading:"System - Datenverwaltung"},component:()=>k(()=>import("./DataManagement-533b5636.js"),["assets/DataManagement-533b5636.js","assets/vendor-fortawesome-542fe04f.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css","assets/dynamic-import-helper-be004503.js","assets/vendor-bootstrap-a615942d.js","assets/vendor-jquery-a64a4809.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-b1ba123b.js"])}];Q.push({path:"/TestingStore",name:"VUEX Store",meta:{heading:"Beispiele - VUEX Store"},component:()=>k(()=>import("./TestingStore-956b6b84.js"),["assets/TestingStore-956b6b84.js","assets/OpenwbSortableList-8141a899.js","assets/vendor-493c2bec.js","assets/vendor-sortablejs-0b339223.js","assets/vendor-867a85e2.css","assets/vendor-fortawesome-542fe04f.js","assets/OpenwbSortableList-7ba533e4.css","assets/vendor-bootstrap-a615942d.js","assets/vendor-jquery-a64a4809.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-b1ba123b.js"])});const q=ae({history:le(),routes:Q});q.beforeEach(async e=>{if(e.name!=="LegalSettings"&&!await K.getters.usageTermsAcknowledged)return{name:"LegalSettings"}});q.afterEach(e=>{e.meta.heading?document.title="openWB | "+e.meta.heading:document.title="openWB"});const R=ie(ma);R.use(K).use(q).use(Re,We);const fa=Object.assign({"./components/OpenwbBaseAlert.vue":ze,"./components/OpenwbBaseArrayInput.vue":lt,"./components/OpenwbBaseAvatar.vue":ut,"./components/OpenwbBaseButtonGroupInput.vue":yt,"./components/OpenwbBaseButtonInput.vue":It,"./components/OpenwbBaseCard.vue":qt,"./components/OpenwbBaseCheckboxInput.vue":Jt,"./components/OpenwbBaseClickButton.vue":Zt,"./components/OpenwbBaseCopyToClipboard.vue":ns,"./components/OpenwbBaseHeading.vue":cs,"./components/OpenwbBaseModalDialog.vue":ws,"./components/OpenwbBaseNumberInput.vue":Hs,"./components/OpenwbBaseRangeInput.vue":Fs,"./components/OpenwbBaseSelectInput.vue":nn,"./components/OpenwbBaseSubmitButtons.vue":pn,"./components/OpenwbBaseTextInput.vue":Pn,"./components/OpenwbBaseTextarea.vue":Jn,"./components/OpenwbBaseToast.vue":no});Object.entries(fa).forEach(([e,t])=>{const n=re(de(e.split("/").pop().replace(/\.\w+$/,"")));R.component(n,t.default)});R.mount("#app");export{G as C,k as _}; diff --git a/web/settings/assets/inverter-6bded09b.js b/web/settings/assets/inverter-1023c97a.js similarity index 86% rename from web/settings/assets/inverter-6bded09b.js rename to web/settings/assets/inverter-1023c97a.js index 3068534032..8f40da5d5a 100644 --- a/web/settings/assets/inverter-6bded09b.js +++ b/web/settings/assets/inverter-1023c97a.js @@ -1 +1 @@ -import{_ as c,q as t,k as d,l as u,B as o,M as s,x as r,u as p,y as l}from"./vendor-f0f38b48.js";import"./vendor-sortablejs-cbf37f8f.js";const _={name:"DeviceSungrowInverter",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(e,n=void 0){this.$emit("update:configuration",{value:e,object:n})}}},f={class:"device-sungrow-inverter"},m={class:"small"};function g(e,n,v,b,h,w){const a=t("openwb-base-heading"),i=t("openwb-base-alert");return d(),u("div",f,[o(a,null,{default:s(()=>[r(" Einstellungen für Sungrow Wechselrichter "),p("span",m,"(Modul: "+l(e.$options.name)+")",1)]),_:1}),o(i,{subtype:"info"},{default:s(()=>[r(" Diese Komponente erfordert keine Einstellungen. ")]),_:1})])}const B=c(_,[["render",g],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/sungrow/inverter.vue"]]);export{B as default}; +import{_ as c,q as t,k as d,l as u,B as o,M as s,x as r,u as p,y as l}from"./vendor-493c2bec.js";import"./vendor-sortablejs-0b339223.js";const _={name:"DeviceSungrowInverter",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(e,n=void 0){this.$emit("update:configuration",{value:e,object:n})}}},f={class:"device-sungrow-inverter"},m={class:"small"};function g(e,n,v,b,h,w){const a=t("openwb-base-heading"),i=t("openwb-base-alert");return d(),u("div",f,[o(a,null,{default:s(()=>[r(" Einstellungen für Sungrow Wechselrichter "),p("span",m,"(Modul: "+l(e.$options.name)+")",1)]),_:1}),o(i,{subtype:"info"},{default:s(()=>[r(" Diese Komponente erfordert keine Einstellungen. ")]),_:1})])}const B=c(_,[["render",g],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/sungrow/inverter.vue"]]);export{B as default}; diff --git a/web/settings/assets/inverter-9ffa5522.js b/web/settings/assets/inverter-139b1213.js similarity index 89% rename from web/settings/assets/inverter-9ffa5522.js rename to web/settings/assets/inverter-139b1213.js index 73493a4418..79f10c44c4 100644 --- a/web/settings/assets/inverter-9ffa5522.js +++ b/web/settings/assets/inverter-139b1213.js @@ -1 +1 @@ -import{_ as l,q as n,k as d,l as c,B as o,M as p,x as v,u as _,y as m}from"./vendor-f0f38b48.js";import"./vendor-sortablejs-cbf37f8f.js";const f={name:"DeviceOpenwbEvukitInverter",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(t,e=void 0){this.$emit("update:configuration",{value:t,object:e})}}},b={class:"device-openwb-evukit-inverter"},g={class:"small"};function h(t,e,i,w,x,a){const s=n("openwb-base-heading"),r=n("openwb-base-select-input");return d(),c("div",b,[o(s,null,{default:p(()=>[v(" Einstellungen für openWB EVU-Kit Wechselrichter "),_("span",g,"(Modul: "+m(t.$options.name)+")",1)]),_:1}),o(r,{title:"Zählermodell",notSelected:"Bitte auswählen",options:[{value:0,text:"MPM3PM"},{value:1,text:"Lovato"},{value:2,text:"SDM630/SDM72D-M"}],"model-value":i.configuration.version,"onUpdate:modelValue":e[0]||(e[0]=u=>a.updateConfiguration(u,"configuration.version"))},null,8,["model-value"])])}const k=l(f,[["render",h],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/openwb_evu_kit/inverter.vue"]]);export{k as default}; +import{_ as l,q as n,k as d,l as c,B as o,M as p,x as v,u as _,y as m}from"./vendor-493c2bec.js";import"./vendor-sortablejs-0b339223.js";const f={name:"DeviceOpenwbEvukitInverter",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(t,e=void 0){this.$emit("update:configuration",{value:t,object:e})}}},b={class:"device-openwb-evukit-inverter"},g={class:"small"};function h(t,e,i,w,x,a){const s=n("openwb-base-heading"),r=n("openwb-base-select-input");return d(),c("div",b,[o(s,null,{default:p(()=>[v(" Einstellungen für openWB EVU-Kit Wechselrichter "),_("span",g,"(Modul: "+m(t.$options.name)+")",1)]),_:1}),o(r,{title:"Zählermodell",notSelected:"Bitte auswählen",options:[{value:0,text:"MPM3PM"},{value:1,text:"Lovato"},{value:2,text:"SDM630/SDM72D-M"}],"model-value":i.configuration.version,"onUpdate:modelValue":e[0]||(e[0]=u=>a.updateConfiguration(u,"configuration.version"))},null,8,["model-value"])])}const k=l(f,[["render",h],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/openwb_evu_kit/inverter.vue"]]);export{k as default}; diff --git a/web/settings/assets/inverter-0fedac4e.js b/web/settings/assets/inverter-1594bd50.js similarity index 93% rename from web/settings/assets/inverter-0fedac4e.js rename to web/settings/assets/inverter-1594bd50.js index 868a69b934..48f7226afb 100644 --- a/web/settings/assets/inverter-0fedac4e.js +++ b/web/settings/assets/inverter-1594bd50.js @@ -1 +1 @@ -import{_ as c,q as t,k as p,l as d,B as o,M as s,x as a,u,y as l}from"./vendor-f0f38b48.js";import"./vendor-sortablejs-cbf37f8f.js";const _={name:"DeviceFemsInverter",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(e,n=void 0){this.$emit("update:configuration",{value:e,object:n})}}},f={class:"device-fems-inverter"},m={class:"small"};function b(e,n,v,g,h,w){const i=t("openwb-base-heading"),r=t("openwb-base-alert");return p(),d("div",f,[o(i,null,{default:s(()=>[a(" Einstellungen für openEMS, Fenecon FEMS, CENTURIO 10, Kaco Hy-Control Wechselrichter "),u("span",m,"(Modul: "+l(e.$options.name)+")",1)]),_:1}),o(r,{subtype:"info"},{default:s(()=>[a(" Diese Komponente benötigt keine Einstellungen. ")]),_:1})])}const x=c(_,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/fems/inverter.vue"]]);export{x as default}; +import{_ as c,q as t,k as p,l as d,B as o,M as s,x as a,u,y as l}from"./vendor-493c2bec.js";import"./vendor-sortablejs-0b339223.js";const _={name:"DeviceFemsInverter",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(e,n=void 0){this.$emit("update:configuration",{value:e,object:n})}}},f={class:"device-fems-inverter"},m={class:"small"};function b(e,n,v,g,h,w){const i=t("openwb-base-heading"),r=t("openwb-base-alert");return p(),d("div",f,[o(i,null,{default:s(()=>[a(" Einstellungen für openEMS, Fenecon FEMS, CENTURIO 10, Kaco Hy-Control Wechselrichter "),u("span",m,"(Modul: "+l(e.$options.name)+")",1)]),_:1}),o(r,{subtype:"info"},{default:s(()=>[a(" Diese Komponente benötigt keine Einstellungen. ")]),_:1})])}const x=c(_,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/fems/inverter.vue"]]);export{x as default}; diff --git a/web/settings/assets/inverter-5944e46d.js b/web/settings/assets/inverter-1d0f5934.js similarity index 87% rename from web/settings/assets/inverter-5944e46d.js rename to web/settings/assets/inverter-1d0f5934.js index f63ab330e5..94f0b173c3 100644 --- a/web/settings/assets/inverter-5944e46d.js +++ b/web/settings/assets/inverter-1d0f5934.js @@ -1 +1 @@ -import{_ as u,q as t,k as c,l as p,B as o,M as l,x as m,u as _,y as f}from"./vendor-f0f38b48.js";import"./vendor-sortablejs-cbf37f8f.js";const b={name:"DeviceDeyeInverter",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(n,e=void 0){this.$emit("update:configuration",{value:n,object:e})}}},v={class:"device-batterx-inverter"},g={class:"small"};function h(n,e,i,x,w,a){const s=t("openwb-base-heading"),r=t("openwb-base-number-input");return c(),p("div",v,[o(s,null,{default:l(()=>[m(" Einstellungen für Deye Wechselrichter "),_("span",g,"(Modul: "+f(n.$options.name)+")",1)]),_:1}),o(r,{title:"Modbus ID",required:"","model-value":i.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[0]||(e[0]=d=>a.updateConfiguration(d,"configuration.modbus_id"))},null,8,["model-value"])])}const D=u(b,[["render",h],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/deye/inverter.vue"]]);export{D as default}; +import{_ as u,q as t,k as c,l as p,B as o,M as l,x as m,u as _,y as f}from"./vendor-493c2bec.js";import"./vendor-sortablejs-0b339223.js";const b={name:"DeviceDeyeInverter",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(n,e=void 0){this.$emit("update:configuration",{value:n,object:e})}}},v={class:"device-batterx-inverter"},g={class:"small"};function h(n,e,i,x,w,a){const s=t("openwb-base-heading"),r=t("openwb-base-number-input");return c(),p("div",v,[o(s,null,{default:l(()=>[m(" Einstellungen für Deye Wechselrichter "),_("span",g,"(Modul: "+f(n.$options.name)+")",1)]),_:1}),o(r,{title:"Modbus ID",required:"","model-value":i.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[0]||(e[0]=d=>a.updateConfiguration(d,"configuration.modbus_id"))},null,8,["model-value"])])}const D=u(b,[["render",h],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/deye/inverter.vue"]]);export{D as default}; diff --git a/web/settings/assets/inverter-ddbd9ec1.js b/web/settings/assets/inverter-1d3cb0b9.js similarity index 90% rename from web/settings/assets/inverter-ddbd9ec1.js rename to web/settings/assets/inverter-1d3cb0b9.js index 3012107e7d..d62e65f20e 100644 --- a/web/settings/assets/inverter-ddbd9ec1.js +++ b/web/settings/assets/inverter-1d3cb0b9.js @@ -1 +1 @@ -import{_ as l,q as o,k as p,l as c,B as i,M as m,x as _,u as b,y as f}from"./vendor-f0f38b48.js";import"./vendor-sortablejs-cbf37f8f.js";const v={name:"DeviceVictronInverter",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(t,e=void 0){this.$emit("update:configuration",{value:t,object:e})}}},g={class:"device-victron-inverter"},V={class:"small"};function w(t,e,a,x,h,u){const r=o("openwb-base-heading"),s=o("openwb-base-number-input"),d=o("openwb-base-button-group-input");return p(),c("div",g,[i(r,null,{default:m(()=>[_(" Einstellungen für Victron Wechselrichter "),b("span",V,"(Modul: "+f(t.$options.name)+")",1)]),_:1}),i(s,{title:"Modbus ID",required:"","model-value":a.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[0]||(e[0]=n=>u.updateConfiguration(n,"configuration.modbus_id"))},null,8,["model-value"]),i(d,{title:"MPPT",buttons:[{buttonValue:!1,text:"Nein"},{buttonValue:!0,text:"Ja"}],"model-value":a.configuration.mppt,"onUpdate:modelValue":e[1]||(e[1]=n=>u.updateConfiguration(n,"configuration.mppt"))},null,8,["model-value"])])}const q=l(v,[["render",w],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/victron/inverter.vue"]]);export{q as default}; +import{_ as l,q as o,k as p,l as c,B as i,M as m,x as _,u as b,y as f}from"./vendor-493c2bec.js";import"./vendor-sortablejs-0b339223.js";const v={name:"DeviceVictronInverter",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(t,e=void 0){this.$emit("update:configuration",{value:t,object:e})}}},g={class:"device-victron-inverter"},V={class:"small"};function w(t,e,a,x,h,u){const r=o("openwb-base-heading"),s=o("openwb-base-number-input"),d=o("openwb-base-button-group-input");return p(),c("div",g,[i(r,null,{default:m(()=>[_(" Einstellungen für Victron Wechselrichter "),b("span",V,"(Modul: "+f(t.$options.name)+")",1)]),_:1}),i(s,{title:"Modbus ID",required:"","model-value":a.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[0]||(e[0]=n=>u.updateConfiguration(n,"configuration.modbus_id"))},null,8,["model-value"]),i(d,{title:"MPPT",buttons:[{buttonValue:!1,text:"Nein"},{buttonValue:!0,text:"Ja"}],"model-value":a.configuration.mppt,"onUpdate:modelValue":e[1]||(e[1]=n=>u.updateConfiguration(n,"configuration.mppt"))},null,8,["model-value"])])}const q=l(v,[["render",w],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/victron/inverter.vue"]]);export{q as default}; diff --git a/web/settings/assets/inverter-424a738b.js b/web/settings/assets/inverter-29a54820.js similarity index 93% rename from web/settings/assets/inverter-424a738b.js rename to web/settings/assets/inverter-29a54820.js index 9e9c46da6b..79694a8059 100644 --- a/web/settings/assets/inverter-424a738b.js +++ b/web/settings/assets/inverter-29a54820.js @@ -1 +1 @@ -import{_ as c,q as o,k as d,l,B as n,M as s,x as a,u as p,y as u}from"./vendor-f0f38b48.js";import"./vendor-sortablejs-cbf37f8f.js";const _={name:"DeviceKostalPikoOldInverter",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(e,t=void 0){this.$emit("update:configuration",{value:e,object:t})}}},f={class:"device-kostal-piko-old-inverter"},m={class:"small"};function b(e,t,v,g,h,k){const i=o("openwb-base-heading"),r=o("openwb-base-alert");return d(),l("div",f,[n(i,null,{default:s(()=>[a(" Einstellungen für Kostal Piko Wechselrichter (alte Generation) "),p("span",m,"(Modul: "+u(e.$options.name)+")",1)]),_:1}),n(r,{subtype:"info"},{default:s(()=>[a(" Diese Komponente benötigt keine Einstellungen. ")]),_:1})])}const x=c(_,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/kostal_piko_old/inverter.vue"]]);export{x as default}; +import{_ as c,q as o,k as d,l,B as n,M as s,x as a,u as p,y as u}from"./vendor-493c2bec.js";import"./vendor-sortablejs-0b339223.js";const _={name:"DeviceKostalPikoOldInverter",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(e,t=void 0){this.$emit("update:configuration",{value:e,object:t})}}},f={class:"device-kostal-piko-old-inverter"},m={class:"small"};function b(e,t,v,g,h,k){const i=o("openwb-base-heading"),r=o("openwb-base-alert");return d(),l("div",f,[n(i,null,{default:s(()=>[a(" Einstellungen für Kostal Piko Wechselrichter (alte Generation) "),p("span",m,"(Modul: "+u(e.$options.name)+")",1)]),_:1}),n(r,{subtype:"info"},{default:s(()=>[a(" Diese Komponente benötigt keine Einstellungen. ")]),_:1})])}const x=c(_,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/kostal_piko_old/inverter.vue"]]);export{x as default}; diff --git a/web/settings/assets/inverter-ffe5a718.js b/web/settings/assets/inverter-2a76c58f.js similarity index 88% rename from web/settings/assets/inverter-ffe5a718.js rename to web/settings/assets/inverter-2a76c58f.js index 848ffe161a..b9f0884dd0 100644 --- a/web/settings/assets/inverter-ffe5a718.js +++ b/web/settings/assets/inverter-2a76c58f.js @@ -1 +1 @@ -import{_ as l,q as n,k as c,l as d,B as o,M as p,x as _,u as f,y as m}from"./vendor-f0f38b48.js";import"./vendor-sortablejs-cbf37f8f.js";const b={name:"DeviceYoulessInverter",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(t,e=void 0){this.$emit("update:configuration",{value:t,object:e})}}},g={class:"device-youless-inverter"},v={class:"small"};function h(t,e,s,x,w,a){const u=n("openwb-base-heading"),i=n("openwb-base-button-group-input");return c(),d("div",g,[o(u,null,{default:p(()=>[_(" Einstellungen für Youless LS120 Wechselrichter "),f("span",v,"(Modul: "+m(t.$options.name)+")",1)]),_:1}),o(i,{title:"S0-Eingang auslesen",buttons:[{buttonValue:!1,text:"nein"},{buttonValue:!0,text:"ja"}],"model-value":s.configuration.source_s0,"onUpdate:modelValue":e[0]||(e[0]=r=>a.updateConfiguration(r,"configuration.source_s0"))},null,8,["model-value"])])}const B=l(b,[["render",h],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/youless/inverter.vue"]]);export{B as default}; +import{_ as l,q as n,k as c,l as d,B as o,M as p,x as _,u as f,y as m}from"./vendor-493c2bec.js";import"./vendor-sortablejs-0b339223.js";const b={name:"DeviceYoulessInverter",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(t,e=void 0){this.$emit("update:configuration",{value:t,object:e})}}},g={class:"device-youless-inverter"},v={class:"small"};function h(t,e,s,x,w,a){const u=n("openwb-base-heading"),i=n("openwb-base-button-group-input");return c(),d("div",g,[o(u,null,{default:p(()=>[_(" Einstellungen für Youless LS120 Wechselrichter "),f("span",v,"(Modul: "+m(t.$options.name)+")",1)]),_:1}),o(i,{title:"S0-Eingang auslesen",buttons:[{buttonValue:!1,text:"nein"},{buttonValue:!0,text:"ja"}],"model-value":s.configuration.source_s0,"onUpdate:modelValue":e[0]||(e[0]=r=>a.updateConfiguration(r,"configuration.source_s0"))},null,8,["model-value"])])}const B=l(b,[["render",h],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/youless/inverter.vue"]]);export{B as default}; diff --git a/web/settings/assets/inverter-6afc80ff.js b/web/settings/assets/inverter-2ea9ed3a.js similarity index 88% rename from web/settings/assets/inverter-6afc80ff.js rename to web/settings/assets/inverter-2ea9ed3a.js index 1685c03b75..40b732526d 100644 --- a/web/settings/assets/inverter-6afc80ff.js +++ b/web/settings/assets/inverter-2ea9ed3a.js @@ -1 +1 @@ -import{_ as u,q as n,k as d,l as p,B as o,M as c,x as v,u as _,y as m}from"./vendor-f0f38b48.js";import"./vendor-sortablejs-cbf37f8f.js";const f={name:"DeviceOpenwbPvkitInverter",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(t,e=void 0){this.$emit("update:configuration",{value:t,object:e})}}},b={class:"device-openwb-pvkit-inverter"},g={class:"small"};function h(t,e,i,w,x,a){const s=n("openwb-base-heading"),r=n("openwb-base-select-input");return d(),p("div",b,[o(s,null,{default:c(()=>[v(" Einstellungen für openWB PV-Kit Wechselrichter "),_("span",g,"(Modul: "+m(t.$options.name)+")",1)]),_:1}),o(r,{title:"Zählermodell",notSelected:"Bitte auswählen",options:[{value:0,text:"MPM3PM"},{value:1,text:"Lovato"},{value:2,text:"SDM630/SDM72D-M"}],"model-value":i.configuration.version,"onUpdate:modelValue":e[0]||(e[0]=l=>a.updateConfiguration(l,"configuration.version"))},null,8,["model-value"])])}const k=u(f,[["render",h],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/openwb_pv_kit/inverter.vue"]]);export{k as default}; +import{_ as u,q as n,k as d,l as p,B as o,M as c,x as v,u as _,y as m}from"./vendor-493c2bec.js";import"./vendor-sortablejs-0b339223.js";const f={name:"DeviceOpenwbPvkitInverter",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(t,e=void 0){this.$emit("update:configuration",{value:t,object:e})}}},b={class:"device-openwb-pvkit-inverter"},g={class:"small"};function h(t,e,i,w,x,a){const s=n("openwb-base-heading"),r=n("openwb-base-select-input");return d(),p("div",b,[o(s,null,{default:c(()=>[v(" Einstellungen für openWB PV-Kit Wechselrichter "),_("span",g,"(Modul: "+m(t.$options.name)+")",1)]),_:1}),o(r,{title:"Zählermodell",notSelected:"Bitte auswählen",options:[{value:0,text:"MPM3PM"},{value:1,text:"Lovato"},{value:2,text:"SDM630/SDM72D-M"}],"model-value":i.configuration.version,"onUpdate:modelValue":e[0]||(e[0]=l=>a.updateConfiguration(l,"configuration.version"))},null,8,["model-value"])])}const k=u(f,[["render",h],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/openwb_pv_kit/inverter.vue"]]);export{k as default}; diff --git a/web/settings/assets/inverter-8d241330.js b/web/settings/assets/inverter-30ab4ef3.js similarity index 90% rename from web/settings/assets/inverter-8d241330.js rename to web/settings/assets/inverter-30ab4ef3.js index 0535f6d822..dea12a39d1 100644 --- a/web/settings/assets/inverter-8d241330.js +++ b/web/settings/assets/inverter-30ab4ef3.js @@ -1 +1 @@ -import{_ as p,q as t,k as m,l as _,B as o,M as s,x as i,u as f,y as h}from"./vendor-f0f38b48.js";import"./vendor-sortablejs-cbf37f8f.js";const b={name:"DeviceSmahmInverter",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(n,e=void 0){this.$emit("update:configuration",{value:n,object:e})}}},g={class:"device-smahm-inverter"},v={class:"small"};function w(n,e,r,M,y,a){const u=t("openwb-base-heading"),d=t("openwb-base-alert"),c=t("openwb-base-number-input");return m(),_("div",g,[o(u,null,{default:s(()=>[i(" Einstellungen für SMA-HM/EM Wechselrichter "),f("span",v,"(Modul: "+h(n.$options.name)+")",1)]),_:1}),o(d,{subtype:"info"},{default:s(()=>[i(' Dies ist nur die richtige Komponente, wenn ein extra EnergyMeter ausschließlich für die PV-Messung vorhanden ist. Wenn nur ein HomeManager vorhanden ist, muss ein Gerät "SMA Sunny Boy" mit der entsprechenden Wechselrichter-Komponente angelegt werden. ')]),_:1}),o(c,{title:"Seriennummer",required:"","model-value":r.configuration.serials,"onUpdate:modelValue":e[0]||(e[0]=l=>a.updateConfiguration(l,"configuration.serials"))},null,8,["model-value"])])}const S=p(b,[["render",w],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/sma_shm/inverter.vue"]]);export{S as default}; +import{_ as p,q as t,k as m,l as _,B as o,M as s,x as i,u as f,y as h}from"./vendor-493c2bec.js";import"./vendor-sortablejs-0b339223.js";const b={name:"DeviceSmahmInverter",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(n,e=void 0){this.$emit("update:configuration",{value:n,object:e})}}},g={class:"device-smahm-inverter"},v={class:"small"};function w(n,e,r,M,y,a){const u=t("openwb-base-heading"),d=t("openwb-base-alert"),c=t("openwb-base-number-input");return m(),_("div",g,[o(u,null,{default:s(()=>[i(" Einstellungen für SMA-HM/EM Wechselrichter "),f("span",v,"(Modul: "+h(n.$options.name)+")",1)]),_:1}),o(d,{subtype:"info"},{default:s(()=>[i(' Dies ist nur die richtige Komponente, wenn ein extra EnergyMeter ausschließlich für die PV-Messung vorhanden ist. Wenn nur ein HomeManager vorhanden ist, muss ein Gerät "SMA Sunny Boy" mit der entsprechenden Wechselrichter-Komponente angelegt werden. ')]),_:1}),o(c,{title:"Seriennummer",required:"","model-value":r.configuration.serials,"onUpdate:modelValue":e[0]||(e[0]=l=>a.updateConfiguration(l,"configuration.serials"))},null,8,["model-value"])])}const S=p(b,[["render",w],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/sma_shm/inverter.vue"]]);export{S as default}; diff --git a/web/settings/assets/inverter-cb6725eb.js b/web/settings/assets/inverter-32d66b9c.js similarity index 88% rename from web/settings/assets/inverter-cb6725eb.js rename to web/settings/assets/inverter-32d66b9c.js index a72ef26ca1..d6583c07ac 100644 --- a/web/settings/assets/inverter-cb6725eb.js +++ b/web/settings/assets/inverter-32d66b9c.js @@ -1 +1 @@ -import{_ as c,q as t,k as l,l as _,B as o,M as a,x as i,u as m,y as f}from"./vendor-f0f38b48.js";import"./vendor-sortablejs-cbf37f8f.js";const v={name:"DeviceEnphaseInverter",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(n,e=void 0){this.$emit("update:configuration",{value:n,object:e})}}},b={class:"device-enphase-inverter"},h={class:"small"};function g(n,e,s,w,E,r){const d=t("openwb-base-heading"),u=t("openwb-base-number-input");return l(),_("div",b,[o(d,null,{default:a(()=>[i(" Einstellungen für Enphase Envoy / IQ Gateway Wechselrichter "),m("span",h,"(Modul: "+f(n.$options.name)+")",1)]),_:1}),o(u,{title:"EID",required:"","model-value":s.configuration.eid,"onUpdate:modelValue":e[0]||(e[0]=p=>r.updateConfiguration(p,"configuration.eid"))},{help:a(()=>[i(' EID für "production" ')]),_:1},8,["model-value"])])}const y=c(v,[["render",g],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/enphase/inverter.vue"]]);export{y as default}; +import{_ as c,q as t,k as l,l as _,B as o,M as a,x as i,u as m,y as f}from"./vendor-493c2bec.js";import"./vendor-sortablejs-0b339223.js";const v={name:"DeviceEnphaseInverter",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(n,e=void 0){this.$emit("update:configuration",{value:n,object:e})}}},b={class:"device-enphase-inverter"},h={class:"small"};function g(n,e,s,w,E,r){const d=t("openwb-base-heading"),u=t("openwb-base-number-input");return l(),_("div",b,[o(d,null,{default:a(()=>[i(" Einstellungen für Enphase Envoy / IQ Gateway Wechselrichter "),m("span",h,"(Modul: "+f(n.$options.name)+")",1)]),_:1}),o(u,{title:"EID",required:"","model-value":s.configuration.eid,"onUpdate:modelValue":e[0]||(e[0]=p=>r.updateConfiguration(p,"configuration.eid"))},{help:a(()=>[i(' EID für "production" ')]),_:1},8,["model-value"])])}const y=c(v,[["render",g],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/enphase/inverter.vue"]]);export{y as default}; diff --git a/web/settings/assets/inverter-46fef3f8.js b/web/settings/assets/inverter-3830ad8c.js similarity index 94% rename from web/settings/assets/inverter-46fef3f8.js rename to web/settings/assets/inverter-3830ad8c.js index 4e9fbf30f1..ca9b4967d3 100644 --- a/web/settings/assets/inverter-46fef3f8.js +++ b/web/settings/assets/inverter-3830ad8c.js @@ -1 +1 @@ -import{_ as p,q as u,k as m,l as h,B as a,M as o,x as t,u as n,y as g}from"./vendor-f0f38b48.js";import"./vendor-sortablejs-cbf37f8f.js";const _={name:"DeviceHttpInverter",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(i,e=void 0){this.$emit("update:configuration",{value:i,object:e})}}},f={class:"device-http-inverter"},b={class:"small"},v=n("br",null,null,-1),w=n("br",null,null,-1),z=n("br",null,null,-1);function x(i,e,s,k,y,l){const c=u("openwb-base-heading"),d=u("openwb-base-text-input");return m(),h("div",f,[a(c,null,{default:o(()=>[t(" Einstellungen für Http Wechselrichter "),n("span",b,"(Modul: "+g(i.$options.name)+")",1)]),_:1}),a(d,{title:"Pfad für Leistung",subtype:"text",required:"",pattern:"^/[-a-zA-Z0-9@:%_\\+.~#?&/=]*","model-value":s.configuration.power_path,"onUpdate:modelValue":e[0]||(e[0]=r=>l.updateConfiguration(r,"configuration.power_path"))},{help:o(()=>[t(' Diese Angabe wird an die Server-URL angehängt und muss mit einem Schrägstrich "/" beginnen.'),v,t(" Es wird vom Server eine Zahl mit oder ohne Nachkommastellen (Float, Integer) und einem Punkt als Dezimaltrennzeichen erwartet, welche die aktuelle Leistung in Watt darstellt. Produzierte Leistung muss ein negatives Vorzeichen haben. (In bestimmten Konstellationen, z.B. wenn ein Hybridsystem über einen zweiten Wechselrichter geladen wird, hat die Leistung ein positives Vorzeichen.) ")]),_:1},8,["model-value"]),a(d,{title:"Pfad für Zählerstand Erzeugung",subtype:"text",pattern:"^(/[-a-zA-Z0-9@:%_\\+.~#?&/=]*)","model-value":s.configuration.exported_path,"onUpdate:modelValue":e[1]||(e[1]=r=>l.updateConfiguration(r,"configuration.exported_path"))},{help:o(()=>[t(' Diese Angabe wird an die Server-URL angehängt und muss mit einem Schrägstrich "/" beginnen.'),w,t(" Es wird vom Server eine Zahl mit oder ohne Nachkommastellen (Float, Integer) und einem Punkt als Dezimaltrennzeichen erwartet, welche den aktuellen absoluten Zählerstand in Wh darstellt."),z,t(" Wird dieses Feld leer gelassen, wird der Zählerstand intern simuliert. ")]),_:1},8,["model-value"])])}const Z=p(_,[["render",x],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/http/inverter.vue"]]);export{Z as default}; +import{_ as p,q as u,k as m,l as h,B as a,M as o,x as t,u as n,y as g}from"./vendor-493c2bec.js";import"./vendor-sortablejs-0b339223.js";const _={name:"DeviceHttpInverter",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(i,e=void 0){this.$emit("update:configuration",{value:i,object:e})}}},f={class:"device-http-inverter"},b={class:"small"},v=n("br",null,null,-1),w=n("br",null,null,-1),z=n("br",null,null,-1);function x(i,e,s,k,y,l){const c=u("openwb-base-heading"),d=u("openwb-base-text-input");return m(),h("div",f,[a(c,null,{default:o(()=>[t(" Einstellungen für Http Wechselrichter "),n("span",b,"(Modul: "+g(i.$options.name)+")",1)]),_:1}),a(d,{title:"Pfad für Leistung",subtype:"text",required:"",pattern:"^/[-a-zA-Z0-9@:%_\\+.~#?&/=]*","model-value":s.configuration.power_path,"onUpdate:modelValue":e[0]||(e[0]=r=>l.updateConfiguration(r,"configuration.power_path"))},{help:o(()=>[t(' Diese Angabe wird an die Server-URL angehängt und muss mit einem Schrägstrich "/" beginnen.'),v,t(" Es wird vom Server eine Zahl mit oder ohne Nachkommastellen (Float, Integer) und einem Punkt als Dezimaltrennzeichen erwartet, welche die aktuelle Leistung in Watt darstellt. Produzierte Leistung muss ein negatives Vorzeichen haben. (In bestimmten Konstellationen, z.B. wenn ein Hybridsystem über einen zweiten Wechselrichter geladen wird, hat die Leistung ein positives Vorzeichen.) ")]),_:1},8,["model-value"]),a(d,{title:"Pfad für Zählerstand Erzeugung",subtype:"text",pattern:"^(/[-a-zA-Z0-9@:%_\\+.~#?&/=]*)","model-value":s.configuration.exported_path,"onUpdate:modelValue":e[1]||(e[1]=r=>l.updateConfiguration(r,"configuration.exported_path"))},{help:o(()=>[t(' Diese Angabe wird an die Server-URL angehängt und muss mit einem Schrägstrich "/" beginnen.'),w,t(" Es wird vom Server eine Zahl mit oder ohne Nachkommastellen (Float, Integer) und einem Punkt als Dezimaltrennzeichen erwartet, welche den aktuellen absoluten Zählerstand in Wh darstellt."),z,t(" Wird dieses Feld leer gelassen, wird der Zählerstand intern simuliert. ")]),_:1},8,["model-value"])])}const Z=p(_,[["render",x],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/http/inverter.vue"]]);export{Z as default}; diff --git a/web/settings/assets/inverter-10120033.js b/web/settings/assets/inverter-3afc0d28.js similarity index 86% rename from web/settings/assets/inverter-10120033.js rename to web/settings/assets/inverter-3afc0d28.js index bf9d68b16b..494a39e98d 100644 --- a/web/settings/assets/inverter-10120033.js +++ b/web/settings/assets/inverter-3afc0d28.js @@ -1 +1 @@ -import{_ as c,q as n,k as d,l as u,B as o,M as s,x as a,u as p,y as l}from"./vendor-f0f38b48.js";import"./vendor-sortablejs-cbf37f8f.js";const _={name:"DeviceHuaweiInverter",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(e,t=void 0){this.$emit("update:configuration",{value:e,object:t})}}},f={class:"device-huawei-inverter"},m={class:"small"};function v(e,t,b,h,g,w){const i=n("openwb-base-heading"),r=n("openwb-base-alert");return d(),u("div",f,[o(i,null,{default:s(()=>[a(" Einstellungen für Huawei Wechselrichter "),p("span",m,"(Modul: "+l(e.$options.name)+")",1)]),_:1}),o(r,{subtype:"info"},{default:s(()=>[a(" Diese Komponente erfordert keine Einstellungen. ")]),_:1})])}const B=c(_,[["render",v],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/huawei/inverter.vue"]]);export{B as default}; +import{_ as c,q as n,k as d,l as u,B as o,M as s,x as a,u as p,y as l}from"./vendor-493c2bec.js";import"./vendor-sortablejs-0b339223.js";const _={name:"DeviceHuaweiInverter",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(e,t=void 0){this.$emit("update:configuration",{value:e,object:t})}}},f={class:"device-huawei-inverter"},m={class:"small"};function v(e,t,b,h,g,w){const i=n("openwb-base-heading"),r=n("openwb-base-alert");return d(),u("div",f,[o(i,null,{default:s(()=>[a(" Einstellungen für Huawei Wechselrichter "),p("span",m,"(Modul: "+l(e.$options.name)+")",1)]),_:1}),o(r,{subtype:"info"},{default:s(()=>[a(" Diese Komponente erfordert keine Einstellungen. ")]),_:1})])}const B=c(_,[["render",v],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/huawei/inverter.vue"]]);export{B as default}; diff --git a/web/settings/assets/inverter-c305f2a2.js b/web/settings/assets/inverter-3dced907.js similarity index 89% rename from web/settings/assets/inverter-c305f2a2.js rename to web/settings/assets/inverter-3dced907.js index db0a31626f..7f55b14a9b 100644 --- a/web/settings/assets/inverter-c305f2a2.js +++ b/web/settings/assets/inverter-3dced907.js @@ -1 +1 @@ -import{_ as u,q as o,k as p,l as m,B as n,M as a,x as i,u as _,y as f}from"./vendor-f0f38b48.js";import"./vendor-sortablejs-cbf37f8f.js";const v={name:"DeviceSolarViewInverter",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(t,e=void 0){this.$emit("update:configuration",{value:t,object:e})}}},g={class:"device-solar-view-inverter"},h={class:"small"};function b(t,e,r,w,x,s){const d=o("openwb-base-heading"),c=o("openwb-base-text-input");return p(),m("div",g,[n(d,null,{default:a(()=>[i(" Einstellungen für SolarView Wechselrichter "),_("span",h,"(Modul: "+f(t.$options.name)+")",1)]),_:1}),n(c,{title:"Kommando für die Abfrage",required:"","model-value":r.configuration.command,"onUpdate:modelValue":e[0]||(e[0]=l=>s.updateConfiguration(l,"configuration.command"))},{help:a(()=>[i(" Kommandos gemäß SolarView-Dokumentation, z.B.: 00* (gesamte Anlage), 01* (Wechselrichter 1), 02* (Wechselrichter 2) ")]),_:1},8,["model-value"])])}const k=u(v,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/solar_view/inverter.vue"]]);export{k as default}; +import{_ as u,q as o,k as p,l as m,B as n,M as a,x as i,u as _,y as f}from"./vendor-493c2bec.js";import"./vendor-sortablejs-0b339223.js";const v={name:"DeviceSolarViewInverter",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(t,e=void 0){this.$emit("update:configuration",{value:t,object:e})}}},g={class:"device-solar-view-inverter"},h={class:"small"};function b(t,e,r,w,x,s){const d=o("openwb-base-heading"),c=o("openwb-base-text-input");return p(),m("div",g,[n(d,null,{default:a(()=>[i(" Einstellungen für SolarView Wechselrichter "),_("span",h,"(Modul: "+f(t.$options.name)+")",1)]),_:1}),n(c,{title:"Kommando für die Abfrage",required:"","model-value":r.configuration.command,"onUpdate:modelValue":e[0]||(e[0]=l=>s.updateConfiguration(l,"configuration.command"))},{help:a(()=>[i(" Kommandos gemäß SolarView-Dokumentation, z.B.: 00* (gesamte Anlage), 01* (Wechselrichter 1), 02* (Wechselrichter 2) ")]),_:1},8,["model-value"])])}const k=u(v,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/solar_view/inverter.vue"]]);export{k as default}; diff --git a/web/settings/assets/inverter-e356b3e7.js b/web/settings/assets/inverter-3e6d7e20.js similarity index 93% rename from web/settings/assets/inverter-e356b3e7.js rename to web/settings/assets/inverter-3e6d7e20.js index 4bba832b25..f36da2da39 100644 --- a/web/settings/assets/inverter-e356b3e7.js +++ b/web/settings/assets/inverter-3e6d7e20.js @@ -1 +1 @@ -import{_ as c,q as n,k as d,l as p,B as o,M as s,x as a,u,y as l}from"./vendor-f0f38b48.js";import"./vendor-sortablejs-cbf37f8f.js";const _={name:"DeviceRCTInverter",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(e,t=void 0){this.$emit("update:configuration",{value:e,object:t})}}},f={class:"device-rct-inverter"},m={class:"small"};function b(e,t,v,g,h,w){const i=n("openwb-base-heading"),r=n("openwb-base-alert");return d(),p("div",f,[o(i,null,{default:s(()=>[a(" Einstellungen für RCT Wechselrichter "),u("span",m,"(Modul: "+l(e.$options.name)+")",1)]),_:1}),o(r,{subtype:"info"},{default:s(()=>[a(" Diese Komponente benötigt keine Einstellungen. ")]),_:1})])}const B=c(_,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/rct/inverter.vue"]]);export{B as default}; +import{_ as c,q as n,k as d,l as p,B as o,M as s,x as a,u,y as l}from"./vendor-493c2bec.js";import"./vendor-sortablejs-0b339223.js";const _={name:"DeviceRCTInverter",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(e,t=void 0){this.$emit("update:configuration",{value:e,object:t})}}},f={class:"device-rct-inverter"},m={class:"small"};function b(e,t,v,g,h,w){const i=n("openwb-base-heading"),r=n("openwb-base-alert");return d(),p("div",f,[o(i,null,{default:s(()=>[a(" Einstellungen für RCT Wechselrichter "),u("span",m,"(Modul: "+l(e.$options.name)+")",1)]),_:1}),o(r,{subtype:"info"},{default:s(()=>[a(" Diese Komponente benötigt keine Einstellungen. ")]),_:1})])}const B=c(_,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/rct/inverter.vue"]]);export{B as default}; diff --git a/web/settings/assets/inverter-23476c16.js b/web/settings/assets/inverter-3ea8db52.js similarity index 96% rename from web/settings/assets/inverter-23476c16.js rename to web/settings/assets/inverter-3ea8db52.js index c3fa0a0a23..9f28253573 100644 --- a/web/settings/assets/inverter-23476c16.js +++ b/web/settings/assets/inverter-3ea8db52.js @@ -1 +1 @@ -import{_ as p,q as l,k as m,l as _,B as i,M as r,x as t,u,y as f}from"./vendor-f0f38b48.js";import"./vendor-sortablejs-cbf37f8f.js";const g={name:"DeviceJsonInverter",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(n,e=void 0){this.$emit("update:configuration",{value:n,object:e})}}},h={class:"device-json-inverter"},w={class:"small"},b=u("br",null,null,-1);function v(n,e,s,j,x,a){const c=l("openwb-base-heading"),d=l("openwb-base-text-input");return m(),_("div",h,[i(c,null,{default:r(()=>[t(" Einstellungen für JSON Wechselrichter "),u("span",w,"(Modul: "+f(n.$options.name)+")",1)]),_:1}),i(d,{title:"Abfrage für Leistung",subtype:"text",required:"","model-value":s.configuration.jq_power,"onUpdate:modelValue":e[0]||(e[0]=o=>a.updateConfiguration(o,"configuration.jq_power"))},{help:r(()=>[t(' Zur Analyse der Werte aus dem json-Objekt wird jq benutzt. Ist die Json Antwort z.B. {"PowerInstalledPeak":4655, "PowerProduced":132, "PowerOut":897.08172362555717, "PowerSelfSupplied":234.9182763744428} So muss hier .PowerOut eingetragen werden. '),b,t(" Es wird vom Server eine Zahl mit oder ohne Nachkommastellen (Float, Integer) und einem Punkt als Dezimaltrennzeichen erwartet, welche die aktuelle Leistung in Watt darstellt. Produzierte Leistung muss ein negatives Vorzeichen haben. (In bestimmten Konstellationen, z.B. wenn ein Hybridsystem über einen zweiten Wechselrichter geladen wird, hat die Leistung ein positives Vorzeichen.) ")]),_:1},8,["model-value"]),i(d,{title:"Abfrage für Zählerstand",subtype:"text","model-value":s.configuration.jq_exported,"onUpdate:modelValue":e[1]||(e[1]=o=>a.updateConfiguration(o,"configuration.jq_exported"))},{help:r(()=>[t(" Wird dieses Feld leer gelassen, dann werden Zählerstände intern simuliert. ")]),_:1},8,["model-value"])])}const P=p(g,[["render",v],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/json/inverter.vue"]]);export{P as default}; +import{_ as p,q as l,k as m,l as _,B as i,M as r,x as t,u,y as f}from"./vendor-493c2bec.js";import"./vendor-sortablejs-0b339223.js";const g={name:"DeviceJsonInverter",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(n,e=void 0){this.$emit("update:configuration",{value:n,object:e})}}},h={class:"device-json-inverter"},w={class:"small"},b=u("br",null,null,-1);function v(n,e,s,j,x,a){const c=l("openwb-base-heading"),d=l("openwb-base-text-input");return m(),_("div",h,[i(c,null,{default:r(()=>[t(" Einstellungen für JSON Wechselrichter "),u("span",w,"(Modul: "+f(n.$options.name)+")",1)]),_:1}),i(d,{title:"Abfrage für Leistung",subtype:"text",required:"","model-value":s.configuration.jq_power,"onUpdate:modelValue":e[0]||(e[0]=o=>a.updateConfiguration(o,"configuration.jq_power"))},{help:r(()=>[t(' Zur Analyse der Werte aus dem json-Objekt wird jq benutzt. Ist die Json Antwort z.B. {"PowerInstalledPeak":4655, "PowerProduced":132, "PowerOut":897.08172362555717, "PowerSelfSupplied":234.9182763744428} So muss hier .PowerOut eingetragen werden. '),b,t(" Es wird vom Server eine Zahl mit oder ohne Nachkommastellen (Float, Integer) und einem Punkt als Dezimaltrennzeichen erwartet, welche die aktuelle Leistung in Watt darstellt. Produzierte Leistung muss ein negatives Vorzeichen haben. (In bestimmten Konstellationen, z.B. wenn ein Hybridsystem über einen zweiten Wechselrichter geladen wird, hat die Leistung ein positives Vorzeichen.) ")]),_:1},8,["model-value"]),i(d,{title:"Abfrage für Zählerstand",subtype:"text","model-value":s.configuration.jq_exported,"onUpdate:modelValue":e[1]||(e[1]=o=>a.updateConfiguration(o,"configuration.jq_exported"))},{help:r(()=>[t(" Wird dieses Feld leer gelassen, dann werden Zählerstände intern simuliert. ")]),_:1},8,["model-value"])])}const P=p(g,[["render",v],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/json/inverter.vue"]]);export{P as default}; diff --git a/web/settings/assets/inverter-a9abe721.js b/web/settings/assets/inverter-411a2452.js similarity index 87% rename from web/settings/assets/inverter-a9abe721.js rename to web/settings/assets/inverter-411a2452.js index 91a217e41c..b0a6cb02c4 100644 --- a/web/settings/assets/inverter-a9abe721.js +++ b/web/settings/assets/inverter-411a2452.js @@ -1 +1 @@ -import{_ as u,q as n,k as c,l as p,B as o,M as l,x as m,u as _,y as f}from"./vendor-f0f38b48.js";import"./vendor-sortablejs-cbf37f8f.js";const v={name:"DeviceSmartMeInverter",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(t,e=void 0){this.$emit("update:configuration",{value:t,object:e})}}},g={class:"device-smart-me-inverter"},b={class:"small"};function h(t,e,a,x,w,i){const r=n("openwb-base-heading"),s=n("openwb-base-text-input");return c(),p("div",g,[o(r,null,{default:l(()=>[m(" Einstellungen für smart-me Wechselrichter "),_("span",b,"(Modul: "+f(t.$options.name)+")",1)]),_:1}),o(s,{title:"Geräte-ID",required:"","model-value":a.configuration.id,"onUpdate:modelValue":e[0]||(e[0]=d=>i.updateConfiguration(d,"configuration.id"))},null,8,["model-value"])])}const C=u(v,[["render",h],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/smart_me/inverter.vue"]]);export{C as default}; +import{_ as u,q as n,k as c,l as p,B as o,M as l,x as m,u as _,y as f}from"./vendor-493c2bec.js";import"./vendor-sortablejs-0b339223.js";const v={name:"DeviceSmartMeInverter",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(t,e=void 0){this.$emit("update:configuration",{value:t,object:e})}}},g={class:"device-smart-me-inverter"},b={class:"small"};function h(t,e,a,x,w,i){const r=n("openwb-base-heading"),s=n("openwb-base-text-input");return c(),p("div",g,[o(r,null,{default:l(()=>[m(" Einstellungen für smart-me Wechselrichter "),_("span",b,"(Modul: "+f(t.$options.name)+")",1)]),_:1}),o(s,{title:"Geräte-ID",required:"","model-value":a.configuration.id,"onUpdate:modelValue":e[0]||(e[0]=d=>i.updateConfiguration(d,"configuration.id"))},null,8,["model-value"])])}const C=u(v,[["render",h],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/smart_me/inverter.vue"]]);export{C as default}; diff --git a/web/settings/assets/inverter-0662361d.js b/web/settings/assets/inverter-48388152.js similarity index 93% rename from web/settings/assets/inverter-0662361d.js rename to web/settings/assets/inverter-48388152.js index d0f2f9b287..7b7ed6fa60 100644 --- a/web/settings/assets/inverter-0662361d.js +++ b/web/settings/assets/inverter-48388152.js @@ -1 +1 @@ -import{_ as c,q as n,k as d,l,B as o,M as s,x as a,u as p,y as u}from"./vendor-f0f38b48.js";import"./vendor-sortablejs-cbf37f8f.js";const _={name:"DeviceSolarLogInverter",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(e,t=void 0){this.$emit("update:configuration",{value:e,object:t})}}},f={class:"device-solar_log-inverter"},m={class:"small"};function g(e,t,b,v,h,w){const r=n("openwb-base-heading"),i=n("openwb-base-alert");return d(),l("div",f,[o(r,null,{default:s(()=>[a(" Einstellungen für Solar-Log Wechselrichter "),p("span",m,"(Modul: "+u(e.$options.name)+")",1)]),_:1}),o(i,{subtype:"info"},{default:s(()=>[a(" Diese Komponente benötigt keine Einstellungen. ")]),_:1})])}const B=c(_,[["render",g],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/solar_log/inverter.vue"]]);export{B as default}; +import{_ as c,q as n,k as d,l,B as o,M as s,x as a,u as p,y as u}from"./vendor-493c2bec.js";import"./vendor-sortablejs-0b339223.js";const _={name:"DeviceSolarLogInverter",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(e,t=void 0){this.$emit("update:configuration",{value:e,object:t})}}},f={class:"device-solar_log-inverter"},m={class:"small"};function g(e,t,b,v,h,w){const r=n("openwb-base-heading"),i=n("openwb-base-alert");return d(),l("div",f,[o(r,null,{default:s(()=>[a(" Einstellungen für Solar-Log Wechselrichter "),p("span",m,"(Modul: "+u(e.$options.name)+")",1)]),_:1}),o(i,{subtype:"info"},{default:s(()=>[a(" Diese Komponente benötigt keine Einstellungen. ")]),_:1})])}const B=c(_,[["render",g],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/solar_log/inverter.vue"]]);export{B as default}; diff --git a/web/settings/assets/inverter-d3b3e80b.js b/web/settings/assets/inverter-4fcfa366.js similarity index 93% rename from web/settings/assets/inverter-d3b3e80b.js rename to web/settings/assets/inverter-4fcfa366.js index 1289c6cbc7..1b1f080e8d 100644 --- a/web/settings/assets/inverter-d3b3e80b.js +++ b/web/settings/assets/inverter-4fcfa366.js @@ -1 +1 @@ -import{_ as c,q as n,k as d,l as p,B as o,M as s,x as a,u,y as l}from"./vendor-f0f38b48.js";import"./vendor-sortablejs-cbf37f8f.js";const _={name:"DeviceSofarInverter",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(e,t=void 0){this.$emit("update:configuration",{value:e,object:t})}}},f={class:"device-azzurro_sofar-inverter"},m={class:"small"};function b(e,t,v,g,h,w){const r=n("openwb-base-heading"),i=n("openwb-base-alert");return d(),p("div",f,[o(r,null,{default:s(()=>[a(" Einstellungen für Sofar Wechselrichter "),u("span",m,"(Modul: "+l(e.$options.name)+")",1)]),_:1}),o(i,{subtype:"info"},{default:s(()=>[a(" Diese Komponente benötigt keine Einstellungen. ")]),_:1})])}const B=c(_,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/azzurro_sofar/inverter.vue"]]);export{B as default}; +import{_ as c,q as n,k as d,l as p,B as o,M as s,x as a,u,y as l}from"./vendor-493c2bec.js";import"./vendor-sortablejs-0b339223.js";const _={name:"DeviceSofarInverter",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(e,t=void 0){this.$emit("update:configuration",{value:e,object:t})}}},f={class:"device-azzurro_sofar-inverter"},m={class:"small"};function b(e,t,v,g,h,w){const r=n("openwb-base-heading"),i=n("openwb-base-alert");return d(),p("div",f,[o(r,null,{default:s(()=>[a(" Einstellungen für Sofar Wechselrichter "),u("span",m,"(Modul: "+l(e.$options.name)+")",1)]),_:1}),o(i,{subtype:"info"},{default:s(()=>[a(" Diese Komponente benötigt keine Einstellungen. ")]),_:1})])}const B=c(_,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/azzurro_sofar/inverter.vue"]]);export{B as default}; diff --git a/web/settings/assets/inverter-13a811f8.js b/web/settings/assets/inverter-510165be.js similarity index 86% rename from web/settings/assets/inverter-13a811f8.js rename to web/settings/assets/inverter-510165be.js index 6a3c98fe9f..4499b3cca9 100644 --- a/web/settings/assets/inverter-13a811f8.js +++ b/web/settings/assets/inverter-510165be.js @@ -1 +1 @@ -import{_ as c,q as n,k as p,l as d,B as o,M as s,x as a,u as l,y as u}from"./vendor-f0f38b48.js";import"./vendor-sortablejs-cbf37f8f.js";const _={name:"DeviceAlphaessInverter",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(e,t=void 0){this.$emit("update:configuration",{value:e,object:t})}}},f={class:"device-alphaess-inverter"},m={class:"small"};function h(e,t,b,v,g,w){const i=n("openwb-base-heading"),r=n("openwb-base-alert");return p(),d("div",f,[o(i,null,{default:s(()=>[a(" Einstellungen für Alpha ESS Wechselrichter "),l("span",m,"(Modul: "+u(e.$options.name)+")",1)]),_:1}),o(r,{subtype:"info"},{default:s(()=>[a(" Diese Komponente benötigt keine Einstellungen. ")]),_:1})])}const B=c(_,[["render",h],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/alpha_ess/inverter.vue"]]);export{B as default}; +import{_ as c,q as n,k as p,l as d,B as o,M as s,x as a,u as l,y as u}from"./vendor-493c2bec.js";import"./vendor-sortablejs-0b339223.js";const _={name:"DeviceAlphaessInverter",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(e,t=void 0){this.$emit("update:configuration",{value:e,object:t})}}},f={class:"device-alphaess-inverter"},m={class:"small"};function h(e,t,b,v,g,w){const i=n("openwb-base-heading"),r=n("openwb-base-alert");return p(),d("div",f,[o(i,null,{default:s(()=>[a(" Einstellungen für Alpha ESS Wechselrichter "),l("span",m,"(Modul: "+u(e.$options.name)+")",1)]),_:1}),o(r,{subtype:"info"},{default:s(()=>[a(" Diese Komponente benötigt keine Einstellungen. ")]),_:1})])}const B=c(_,[["render",h],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/alpha_ess/inverter.vue"]]);export{B as default}; diff --git a/web/settings/assets/inverter-79051db9.js b/web/settings/assets/inverter-57ecd232.js similarity index 93% rename from web/settings/assets/inverter-79051db9.js rename to web/settings/assets/inverter-57ecd232.js index 6311cd8dea..4aa8793d37 100644 --- a/web/settings/assets/inverter-79051db9.js +++ b/web/settings/assets/inverter-57ecd232.js @@ -1 +1 @@ -import{_ as u,q as o,k as c,l,B as t,M as p,x as m,u as _,y as f}from"./vendor-f0f38b48.js";import"./vendor-sortablejs-cbf37f8f.js";const b={name:"DeviceSolarEdgeInverter",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(n,e=void 0){this.$emit("update:configuration",{value:n,object:e})}}},g={class:"device-solaredge-inverter"},v={class:"small"};function h(n,e,a,w,x,i){const s=o("openwb-base-heading"),r=o("openwb-base-number-input");return c(),l("div",g,[t(s,null,{default:p(()=>[m(" Einstellungen für SolarEdge Wechselrichter "),_("span",v,"(Modul: "+f(n.$options.name)+")",1)]),_:1}),t(r,{title:"Modbus ID",required:"","model-value":a.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[0]||(e[0]=d=>i.updateConfiguration(d,"configuration.modbus_id"))},null,8,["model-value"])])}const C=u(b,[["render",h],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/solaredge/inverter.vue"]]);export{C as default}; +import{_ as u,q as o,k as c,l,B as t,M as p,x as m,u as _,y as f}from"./vendor-493c2bec.js";import"./vendor-sortablejs-0b339223.js";const b={name:"DeviceSolarEdgeInverter",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(n,e=void 0){this.$emit("update:configuration",{value:n,object:e})}}},g={class:"device-solaredge-inverter"},v={class:"small"};function h(n,e,a,w,x,i){const s=o("openwb-base-heading"),r=o("openwb-base-number-input");return c(),l("div",g,[t(s,null,{default:p(()=>[m(" Einstellungen für SolarEdge Wechselrichter "),_("span",v,"(Modul: "+f(n.$options.name)+")",1)]),_:1}),t(r,{title:"Modbus ID",required:"","model-value":a.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[0]||(e[0]=d=>i.updateConfiguration(d,"configuration.modbus_id"))},null,8,["model-value"])])}const C=u(b,[["render",h],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/solaredge/inverter.vue"]]);export{C as default}; diff --git a/web/settings/assets/inverter-66489b96.js b/web/settings/assets/inverter-60949661.js similarity index 94% rename from web/settings/assets/inverter-66489b96.js rename to web/settings/assets/inverter-60949661.js index 61916cf6ef..e57b8b4483 100644 --- a/web/settings/assets/inverter-66489b96.js +++ b/web/settings/assets/inverter-60949661.js @@ -1 +1 @@ -import{_ as d,q as o,k as c,l,B as n,M as p,x as _,u as f,y as m}from"./vendor-f0f38b48.js";import"./vendor-sortablejs-cbf37f8f.js";const b={name:"DeviceKostalPikoInverter",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(t,e=void 0){this.$emit("update:configuration",{value:t,object:e})}}},v={class:"device-kostalpiko-inverter"},g={class:"small"};function h(t,e,a,k,x,i){const s=o("openwb-base-heading"),r=o("openwb-base-button-group-input");return c(),l("div",v,[n(s,null,{default:p(()=>[_(" Einstellungen für Kostal Piko Wechselrichter "),f("span",g,"(Modul: "+m(t.$options.name)+")",1)]),_:1}),n(r,{title:"Speicher",buttons:[{buttonValue:!1,text:"nicht vorhanden"},{buttonValue:!0,text:"vorhanden"}],"model-value":a.configuration.bat_configured,"onUpdate:modelValue":e[0]||(e[0]=u=>i.updateConfiguration(u,"configuration.bat_configured"))},null,8,["model-value"])])}const B=d(b,[["render",h],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/kostal_piko/inverter.vue"]]);export{B as default}; +import{_ as d,q as o,k as c,l,B as n,M as p,x as _,u as f,y as m}from"./vendor-493c2bec.js";import"./vendor-sortablejs-0b339223.js";const b={name:"DeviceKostalPikoInverter",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(t,e=void 0){this.$emit("update:configuration",{value:t,object:e})}}},v={class:"device-kostalpiko-inverter"},g={class:"small"};function h(t,e,a,k,x,i){const s=o("openwb-base-heading"),r=o("openwb-base-button-group-input");return c(),l("div",v,[n(s,null,{default:p(()=>[_(" Einstellungen für Kostal Piko Wechselrichter "),f("span",g,"(Modul: "+m(t.$options.name)+")",1)]),_:1}),n(r,{title:"Speicher",buttons:[{buttonValue:!1,text:"nicht vorhanden"},{buttonValue:!0,text:"vorhanden"}],"model-value":a.configuration.bat_configured,"onUpdate:modelValue":e[0]||(e[0]=u=>i.updateConfiguration(u,"configuration.bat_configured"))},null,8,["model-value"])])}const B=d(b,[["render",h],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/kostal_piko/inverter.vue"]]);export{B as default}; diff --git a/web/settings/assets/inverter-826d3567.js b/web/settings/assets/inverter-6efd5cb2.js similarity index 86% rename from web/settings/assets/inverter-826d3567.js rename to web/settings/assets/inverter-6efd5cb2.js index b36df2e3c0..e281822207 100644 --- a/web/settings/assets/inverter-826d3567.js +++ b/web/settings/assets/inverter-6efd5cb2.js @@ -1 +1 @@ -import{_ as c,q as n,k as d,l as p,B as o,M as s,x as a,u as l,y as u}from"./vendor-f0f38b48.js";import"./vendor-sortablejs-cbf37f8f.js";const _={name:"DeviceSolarwattInverter",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(e,t=void 0){this.$emit("update:configuration",{value:e,object:t})}}},f={class:"device-solarwatt-inverter"},m={class:"small"};function v(e,t,b,g,h,w){const r=n("openwb-base-heading"),i=n("openwb-base-alert");return d(),p("div",f,[o(r,null,{default:s(()=>[a(" Einstellungen für Solarwatt/My Reserve Wechselrichter "),l("span",m,"(Modul: "+u(e.$options.name)+")",1)]),_:1}),o(i,{subtype:"info"},{default:s(()=>[a(" Diese Komponente benötigt keine Einstellungen. ")]),_:1})])}const y=c(_,[["render",v],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/solar_watt/inverter.vue"]]);export{y as default}; +import{_ as c,q as n,k as d,l as p,B as o,M as s,x as a,u as l,y as u}from"./vendor-493c2bec.js";import"./vendor-sortablejs-0b339223.js";const _={name:"DeviceSolarwattInverter",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(e,t=void 0){this.$emit("update:configuration",{value:e,object:t})}}},f={class:"device-solarwatt-inverter"},m={class:"small"};function v(e,t,b,g,h,w){const r=n("openwb-base-heading"),i=n("openwb-base-alert");return d(),p("div",f,[o(r,null,{default:s(()=>[a(" Einstellungen für Solarwatt/My Reserve Wechselrichter "),l("span",m,"(Modul: "+u(e.$options.name)+")",1)]),_:1}),o(i,{subtype:"info"},{default:s(()=>[a(" Diese Komponente benötigt keine Einstellungen. ")]),_:1})])}const y=c(_,[["render",v],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/solar_watt/inverter.vue"]]);export{y as default}; diff --git a/web/settings/assets/inverter-ef42391b.js b/web/settings/assets/inverter-6ff72e01.js similarity index 93% rename from web/settings/assets/inverter-ef42391b.js rename to web/settings/assets/inverter-6ff72e01.js index 0f1597849d..54188c78c5 100644 --- a/web/settings/assets/inverter-ef42391b.js +++ b/web/settings/assets/inverter-6ff72e01.js @@ -1 +1 @@ -import{_ as c,q as n,k as d,l as p,B as o,M as s,x as a,u,y as l}from"./vendor-f0f38b48.js";import"./vendor-sortablejs-cbf37f8f.js";const _={name:"DeviceGoodWeInverter",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(e,t=void 0){this.$emit("update:configuration",{value:e,object:t})}}},f={class:"device-goodwe-inverter"},m={class:"small"};function b(e,t,g,v,h,w){const i=n("openwb-base-heading"),r=n("openwb-base-alert");return d(),p("div",f,[o(i,null,{default:s(()=>[a(" Einstellungen für GoodWe Wechselrichter "),u("span",m,"(Modul: "+l(e.$options.name)+")",1)]),_:1}),o(r,{subtype:"info"},{default:s(()=>[a(" Diese Komponente benötigt keine Einstellungen. ")]),_:1})])}const B=c(_,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/good_we/inverter.vue"]]);export{B as default}; +import{_ as c,q as n,k as d,l as p,B as o,M as s,x as a,u,y as l}from"./vendor-493c2bec.js";import"./vendor-sortablejs-0b339223.js";const _={name:"DeviceGoodWeInverter",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(e,t=void 0){this.$emit("update:configuration",{value:e,object:t})}}},f={class:"device-goodwe-inverter"},m={class:"small"};function b(e,t,g,v,h,w){const i=n("openwb-base-heading"),r=n("openwb-base-alert");return d(),p("div",f,[o(i,null,{default:s(()=>[a(" Einstellungen für GoodWe Wechselrichter "),u("span",m,"(Modul: "+l(e.$options.name)+")",1)]),_:1}),o(r,{subtype:"info"},{default:s(()=>[a(" Diese Komponente benötigt keine Einstellungen. ")]),_:1})])}const B=c(_,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/good_we/inverter.vue"]]);export{B as default}; diff --git a/web/settings/assets/inverter-ae7c14c3.js b/web/settings/assets/inverter-74c7ffc5.js similarity index 93% rename from web/settings/assets/inverter-ae7c14c3.js rename to web/settings/assets/inverter-74c7ffc5.js index dd01721dc3..0ae655a0a0 100644 --- a/web/settings/assets/inverter-ae7c14c3.js +++ b/web/settings/assets/inverter-74c7ffc5.js @@ -1 +1 @@ -import{_ as d,q as t,k as c,l as p,B as n,M as s,x as r,u,y as l}from"./vendor-f0f38b48.js";import"./vendor-sortablejs-cbf37f8f.js";const _={name:"DevicePowerdogInverter",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(e,o=void 0){this.$emit("update:configuration",{value:e,object:o})}}},f={class:"device-powerdog-inverter"},m={class:"small"};function g(e,o,v,b,h,w){const a=t("openwb-base-heading"),i=t("openwb-base-alert");return c(),p("div",f,[n(a,null,{default:s(()=>[r(" Einstellungen für Powerdog Wechselrichter "),u("span",m,"(Modul: "+l(e.$options.name)+")",1)]),_:1}),n(i,{subtype:"info"},{default:s(()=>[r(" Diese Komponente erfordert keine Einstellungen. ")]),_:1})])}const B=d(_,[["render",g],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/powerdog/inverter.vue"]]);export{B as default}; +import{_ as d,q as t,k as c,l as p,B as n,M as s,x as r,u,y as l}from"./vendor-493c2bec.js";import"./vendor-sortablejs-0b339223.js";const _={name:"DevicePowerdogInverter",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(e,o=void 0){this.$emit("update:configuration",{value:e,object:o})}}},f={class:"device-powerdog-inverter"},m={class:"small"};function g(e,o,v,b,h,w){const a=t("openwb-base-heading"),i=t("openwb-base-alert");return c(),p("div",f,[n(a,null,{default:s(()=>[r(" Einstellungen für Powerdog Wechselrichter "),u("span",m,"(Modul: "+l(e.$options.name)+")",1)]),_:1}),n(i,{subtype:"info"},{default:s(()=>[r(" Diese Komponente erfordert keine Einstellungen. ")]),_:1})])}const B=d(_,[["render",g],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/powerdog/inverter.vue"]]);export{B as default}; diff --git a/web/settings/assets/inverter-63d3d5dd.js b/web/settings/assets/inverter-74d81991.js similarity index 93% rename from web/settings/assets/inverter-63d3d5dd.js rename to web/settings/assets/inverter-74d81991.js index 84954fc05c..ddf609e564 100644 --- a/web/settings/assets/inverter-63d3d5dd.js +++ b/web/settings/assets/inverter-74d81991.js @@ -1 +1 @@ -import{_ as c,q as n,k as d,l as p,B as o,M as s,x as a,u,y as l}from"./vendor-f0f38b48.js";import"./vendor-sortablejs-cbf37f8f.js";const _={name:"DeviceE3dcInverter",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(e,t=void 0){this.$emit("update:configuration",{value:e,object:t})}}},f={class:"device-e3dc-inverter"},m={class:"small"};function b(e,t,v,g,h,w){const i=n("openwb-base-heading"),r=n("openwb-base-alert");return d(),p("div",f,[o(i,null,{default:s(()=>[a(" Einstellungen für E3DC Wechselrichter "),u("span",m,"(Modul: "+l(e.$options.name)+")",1)]),_:1}),o(r,{subtype:"info"},{default:s(()=>[a(" Diese Komponente benötigt keine Einstellungen. ")]),_:1})])}const B=c(_,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/e3dc/inverter.vue"]]);export{B as default}; +import{_ as c,q as n,k as d,l as p,B as o,M as s,x as a,u,y as l}from"./vendor-493c2bec.js";import"./vendor-sortablejs-0b339223.js";const _={name:"DeviceE3dcInverter",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(e,t=void 0){this.$emit("update:configuration",{value:e,object:t})}}},f={class:"device-e3dc-inverter"},m={class:"small"};function b(e,t,v,g,h,w){const i=n("openwb-base-heading"),r=n("openwb-base-alert");return d(),p("div",f,[o(i,null,{default:s(()=>[a(" Einstellungen für E3DC Wechselrichter "),u("span",m,"(Modul: "+l(e.$options.name)+")",1)]),_:1}),o(r,{subtype:"info"},{default:s(()=>[a(" Diese Komponente benötigt keine Einstellungen. ")]),_:1})])}const B=c(_,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/e3dc/inverter.vue"]]);export{B as default}; diff --git a/web/settings/assets/inverter-876f842a.js b/web/settings/assets/inverter-7ca73ead.js similarity index 93% rename from web/settings/assets/inverter-876f842a.js rename to web/settings/assets/inverter-7ca73ead.js index ea11efed82..72671cceb7 100644 --- a/web/settings/assets/inverter-876f842a.js +++ b/web/settings/assets/inverter-7ca73ead.js @@ -1 +1 @@ -import{_ as u,q as o,k as c,l,B as t,M as p,x as m,u as _,y as f}from"./vendor-f0f38b48.js";import"./vendor-sortablejs-cbf37f8f.js";const b={name:"DeviceSolarmaxInverter",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(n,e=void 0){this.$emit("update:configuration",{value:n,object:e})}}},v={class:"device-solarmax-inverter"},g={class:"small"};function x(n,e,a,h,w,i){const s=o("openwb-base-heading"),r=o("openwb-base-number-input");return c(),l("div",v,[t(s,null,{default:p(()=>[m(" Einstellungen für Solarmax Wechselrichter "),_("span",g,"(Modul: "+f(n.$options.name)+")",1)]),_:1}),t(r,{title:"Modbus ID",required:"","model-value":a.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[0]||(e[0]=d=>i.updateConfiguration(d,"configuration.modbus_id"))},null,8,["model-value"])])}const C=u(b,[["render",x],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/solarmax/inverter.vue"]]);export{C as default}; +import{_ as u,q as o,k as c,l,B as t,M as p,x as m,u as _,y as f}from"./vendor-493c2bec.js";import"./vendor-sortablejs-0b339223.js";const b={name:"DeviceSolarmaxInverter",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(n,e=void 0){this.$emit("update:configuration",{value:n,object:e})}}},v={class:"device-solarmax-inverter"},g={class:"small"};function x(n,e,a,h,w,i){const s=o("openwb-base-heading"),r=o("openwb-base-number-input");return c(),l("div",v,[t(s,null,{default:p(()=>[m(" Einstellungen für Solarmax Wechselrichter "),_("span",g,"(Modul: "+f(n.$options.name)+")",1)]),_:1}),t(r,{title:"Modbus ID",required:"","model-value":a.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[0]||(e[0]=d=>i.updateConfiguration(d,"configuration.modbus_id"))},null,8,["model-value"])])}const C=u(b,[["render",x],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/solarmax/inverter.vue"]]);export{C as default}; diff --git a/web/settings/assets/inverter-a067ba39.js b/web/settings/assets/inverter-8d5bbc54.js similarity index 89% rename from web/settings/assets/inverter-a067ba39.js rename to web/settings/assets/inverter-8d5bbc54.js index ad389893d7..086d1cfa14 100644 --- a/web/settings/assets/inverter-a067ba39.js +++ b/web/settings/assets/inverter-8d5bbc54.js @@ -1 +1 @@ -import{_ as c,q as o,k as l,l as d,B as n,M as p,x as _,u as f,y as m}from"./vendor-f0f38b48.js";import"./vendor-sortablejs-cbf37f8f.js";const b={name:"DeviceKostalStecaInverter",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(t,e=void 0){this.$emit("update:configuration",{value:t,object:e})}}},v={class:"device-kostal-steca-inverter"},g={class:"small"};function h(t,e,a,k,x,s){const i=o("openwb-base-heading"),r=o("openwb-base-button-group-input");return l(),d("div",v,[n(i,null,{default:p(()=>[_(" Einstellungen für Kostal Piko MP oder Steca Grid Coolcept Wechselrichter "),f("span",g,"(Modul: "+m(t.$options.name)+")",1)]),_:1}),n(r,{title:"Variante",buttons:[{buttonValue:!1,text:"Kostal Piko MP (non-plus)"},{buttonValue:!0,text:"Kostal Piko MP oder Steca Grid Coolcept"}],"model-value":a.configuration.variant_steca,"onUpdate:modelValue":e[0]||(e[0]=u=>s.updateConfiguration(u,"configuration.variant_steca"))},null,8,["buttons","model-value"])])}const C=c(b,[["render",h],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/kostal_steca/inverter.vue"]]);export{C as default}; +import{_ as c,q as o,k as l,l as d,B as n,M as p,x as _,u as f,y as m}from"./vendor-493c2bec.js";import"./vendor-sortablejs-0b339223.js";const b={name:"DeviceKostalStecaInverter",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(t,e=void 0){this.$emit("update:configuration",{value:t,object:e})}}},v={class:"device-kostal-steca-inverter"},g={class:"small"};function h(t,e,a,k,x,s){const i=o("openwb-base-heading"),r=o("openwb-base-button-group-input");return l(),d("div",v,[n(i,null,{default:p(()=>[_(" Einstellungen für Kostal Piko MP oder Steca Grid Coolcept Wechselrichter "),f("span",g,"(Modul: "+m(t.$options.name)+")",1)]),_:1}),n(r,{title:"Variante",buttons:[{buttonValue:!1,text:"Kostal Piko MP (non-plus)"},{buttonValue:!0,text:"Kostal Piko MP oder Steca Grid Coolcept"}],"model-value":a.configuration.variant_steca,"onUpdate:modelValue":e[0]||(e[0]=u=>s.updateConfiguration(u,"configuration.variant_steca"))},null,8,["buttons","model-value"])])}const C=c(b,[["render",h],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/kostal_steca/inverter.vue"]]);export{C as default}; diff --git a/web/settings/assets/inverter-25e387df.js b/web/settings/assets/inverter-8dd02731.js similarity index 86% rename from web/settings/assets/inverter-25e387df.js rename to web/settings/assets/inverter-8dd02731.js index d065eacd76..46dd88620f 100644 --- a/web/settings/assets/inverter-25e387df.js +++ b/web/settings/assets/inverter-8dd02731.js @@ -1 +1 @@ -import{_ as c,q as n,k as l,l as d,B as o,M as s,x as a,u as p,y as u}from"./vendor-f0f38b48.js";import"./vendor-sortablejs-cbf37f8f.js";const _={name:"DeviceQCelllsInverter",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(e,t=void 0){this.$emit("update:configuration",{value:e,object:t})}}},f={class:"device-qcells-inverter"},m={class:"small"};function b(e,t,v,g,h,w){const i=n("openwb-base-heading"),r=n("openwb-base-alert");return l(),d("div",f,[o(i,null,{default:s(()=>[a(" Einstellungen für QCells ESS Wechselrichter "),p("span",m,"(Modul: "+u(e.$options.name)+")",1)]),_:1}),o(r,{subtype:"info"},{default:s(()=>[a(" Diese Komponente benötigt keine Einstellungen. ")]),_:1})])}const x=c(_,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/qcells/inverter.vue"]]);export{x as default}; +import{_ as c,q as n,k as l,l as d,B as o,M as s,x as a,u as p,y as u}from"./vendor-493c2bec.js";import"./vendor-sortablejs-0b339223.js";const _={name:"DeviceQCelllsInverter",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(e,t=void 0){this.$emit("update:configuration",{value:e,object:t})}}},f={class:"device-qcells-inverter"},m={class:"small"};function b(e,t,v,g,h,w){const i=n("openwb-base-heading"),r=n("openwb-base-alert");return l(),d("div",f,[o(i,null,{default:s(()=>[a(" Einstellungen für QCells ESS Wechselrichter "),p("span",m,"(Modul: "+u(e.$options.name)+")",1)]),_:1}),o(r,{subtype:"info"},{default:s(()=>[a(" Diese Komponente benötigt keine Einstellungen. ")]),_:1})])}const x=c(_,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/qcells/inverter.vue"]]);export{x as default}; diff --git a/web/settings/assets/inverter-3c461e89.js b/web/settings/assets/inverter-9719f3b8.js similarity index 90% rename from web/settings/assets/inverter-3c461e89.js rename to web/settings/assets/inverter-9719f3b8.js index bcb9f49b0c..8a5c86649f 100644 --- a/web/settings/assets/inverter-3c461e89.js +++ b/web/settings/assets/inverter-9719f3b8.js @@ -1 +1 @@ -import{_ as l,q as o,k as m,l as _,B as r,M as i,x as n,u as s,y as f}from"./vendor-f0f38b48.js";import"./vendor-sortablejs-cbf37f8f.js";const v={name:"DeviceDiscovergyInverter",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(t,e=void 0){this.$emit("update:configuration",{value:t,object:e})}}},g={class:"device-discovergy-inverter"},b={class:"small"},h=s("a",{href:"https://api.discovergy.com/public/v1/meters",target:"_blank",rel:"noopener noreferrer"}," https://api.discovergy.com/public/v1/meters ",-1);function w(t,e,a,y,x,d){const u=o("openwb-base-heading"),c=o("openwb-base-text-input");return m(),_("div",g,[r(u,null,{default:i(()=>[n(" Einstellungen für Discovergy Wechselrichter "),s("span",b,"(Modul: "+f(t.$options.name)+")",1)]),_:1}),r(c,{title:"Meter-ID",required:"","model-value":a.configuration.meter_id,"onUpdate:modelValue":e[0]||(e[0]=p=>d.updateConfiguration(p,"configuration.meter_id"))},{help:i(()=>[n(" Um die ID herauszufinden mit dem Browser die Adresse "),h,n(" aufrufen und dort Benutzername und Passwort eingeben. Hier wird nun u.a. die ID des Zählers angezeigt. ")]),_:1},8,["model-value"])])}const I=l(v,[["render",w],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/discovergy/inverter.vue"]]);export{I as default}; +import{_ as l,q as o,k as m,l as _,B as r,M as i,x as n,u as s,y as f}from"./vendor-493c2bec.js";import"./vendor-sortablejs-0b339223.js";const v={name:"DeviceDiscovergyInverter",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(t,e=void 0){this.$emit("update:configuration",{value:t,object:e})}}},g={class:"device-discovergy-inverter"},b={class:"small"},h=s("a",{href:"https://api.discovergy.com/public/v1/meters",target:"_blank",rel:"noopener noreferrer"}," https://api.discovergy.com/public/v1/meters ",-1);function w(t,e,a,y,x,d){const u=o("openwb-base-heading"),c=o("openwb-base-text-input");return m(),_("div",g,[r(u,null,{default:i(()=>[n(" Einstellungen für Discovergy Wechselrichter "),s("span",b,"(Modul: "+f(t.$options.name)+")",1)]),_:1}),r(c,{title:"Meter-ID",required:"","model-value":a.configuration.meter_id,"onUpdate:modelValue":e[0]||(e[0]=p=>d.updateConfiguration(p,"configuration.meter_id"))},{help:i(()=>[n(" Um die ID herauszufinden mit dem Browser die Adresse "),h,n(" aufrufen und dort Benutzername und Passwort eingeben. Hier wird nun u.a. die ID des Zählers angezeigt. ")]),_:1},8,["model-value"])])}const I=l(v,[["render",w],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/discovergy/inverter.vue"]]);export{I as default}; diff --git a/web/settings/assets/inverter-2577f480.js b/web/settings/assets/inverter-a3cf5fad.js similarity index 93% rename from web/settings/assets/inverter-2577f480.js rename to web/settings/assets/inverter-a3cf5fad.js index 3e2b256f9d..8aa6bae698 100644 --- a/web/settings/assets/inverter-2577f480.js +++ b/web/settings/assets/inverter-a3cf5fad.js @@ -1 +1 @@ -import{_ as c,q as n,k as d,l as p,B as o,M as s,x as r,u,y as l}from"./vendor-f0f38b48.js";import"./vendor-sortablejs-cbf37f8f.js";const _={name:"DeviceZCSInverter",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(e,t=void 0){this.$emit("update:configuration",{value:e,object:t})}}},f={class:"device-azzurro_zcs-inverter"},m={class:"small"};function b(e,t,v,g,h,z){const a=n("openwb-base-heading"),i=n("openwb-base-alert");return d(),p("div",f,[o(a,null,{default:s(()=>[r(" Einstellungen für Azzurro ZCS Wechselrichter "),u("span",m,"(Modul: "+l(e.$options.name)+")",1)]),_:1}),o(i,{subtype:"info"},{default:s(()=>[r(" Diese Komponente benötigt keine Einstellungen. ")]),_:1})])}const x=c(_,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/azzurro_zcs/inverter.vue"]]);export{x as default}; +import{_ as c,q as n,k as d,l as p,B as o,M as s,x as r,u,y as l}from"./vendor-493c2bec.js";import"./vendor-sortablejs-0b339223.js";const _={name:"DeviceZCSInverter",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(e,t=void 0){this.$emit("update:configuration",{value:e,object:t})}}},f={class:"device-azzurro_zcs-inverter"},m={class:"small"};function b(e,t,v,g,h,z){const a=n("openwb-base-heading"),i=n("openwb-base-alert");return d(),p("div",f,[o(a,null,{default:s(()=>[r(" Einstellungen für Azzurro ZCS Wechselrichter "),u("span",m,"(Modul: "+l(e.$options.name)+")",1)]),_:1}),o(i,{subtype:"info"},{default:s(()=>[r(" Diese Komponente benötigt keine Einstellungen. ")]),_:1})])}const x=c(_,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/azzurro_zcs/inverter.vue"]]);export{x as default}; diff --git a/web/settings/assets/inverter-918c88a8.js b/web/settings/assets/inverter-a5b4895f.js similarity index 93% rename from web/settings/assets/inverter-918c88a8.js rename to web/settings/assets/inverter-a5b4895f.js index d6b4b3ec39..5f6cc85f98 100644 --- a/web/settings/assets/inverter-918c88a8.js +++ b/web/settings/assets/inverter-a5b4895f.js @@ -1 +1 @@ -import{_ as c,q as n,k as d,l as p,B as o,M as s,x as a,u,y as l}from"./vendor-f0f38b48.js";import"./vendor-sortablejs-cbf37f8f.js";const _={name:"DeviceBatterXInverter",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(e,t=void 0){this.$emit("update:configuration",{value:e,object:t})}}},f={class:"device-batterx-inverter"},m={class:"small"};function b(e,t,v,g,h,x){const r=n("openwb-base-heading"),i=n("openwb-base-alert");return d(),p("div",f,[o(r,null,{default:s(()=>[a(" Einstellungen für BatterX Wechselrichter "),u("span",m,"(Modul: "+l(e.$options.name)+")",1)]),_:1}),o(i,{subtype:"info"},{default:s(()=>[a(" Diese Komponente benötigt keine Einstellungen. ")]),_:1})])}const $=c(_,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/batterx/inverter.vue"]]);export{$ as default}; +import{_ as c,q as n,k as d,l as p,B as o,M as s,x as a,u,y as l}from"./vendor-493c2bec.js";import"./vendor-sortablejs-0b339223.js";const _={name:"DeviceBatterXInverter",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(e,t=void 0){this.$emit("update:configuration",{value:e,object:t})}}},f={class:"device-batterx-inverter"},m={class:"small"};function b(e,t,v,g,h,x){const r=n("openwb-base-heading"),i=n("openwb-base-alert");return d(),p("div",f,[o(r,null,{default:s(()=>[a(" Einstellungen für BatterX Wechselrichter "),u("span",m,"(Modul: "+l(e.$options.name)+")",1)]),_:1}),o(i,{subtype:"info"},{default:s(()=>[a(" Diese Komponente benötigt keine Einstellungen. ")]),_:1})])}const $=c(_,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/batterx/inverter.vue"]]);export{$ as default}; diff --git a/web/settings/assets/inverter-f4907df2.js b/web/settings/assets/inverter-a96b6d01.js similarity index 92% rename from web/settings/assets/inverter-f4907df2.js rename to web/settings/assets/inverter-a96b6d01.js index 8df4ce6a05..2cbf0edc53 100644 --- a/web/settings/assets/inverter-f4907df2.js +++ b/web/settings/assets/inverter-a96b6d01.js @@ -1 +1 @@ -import{_ as l,q as i,k as f,l as _,B as r,M as s,x as n,u as o,y as m}from"./vendor-f0f38b48.js";import"./vendor-sortablejs-cbf37f8f.js";const h={name:"DevicePowerfoxInverter",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(t,e=void 0){this.$emit("update:configuration",{value:t,object:e})}}},g={class:"device-powerfox-inverter"},b={class:"small"},v=o("a",{href:"https://backend.powerfox.energy/api/2.0/my/all/devices",target:"_blank",rel:"noopener noreferrer"}," https://backend.powerfox.energy/api/2.0/my/all/devices ",-1),w=o("span",{class:"font-weight-bold text-monospace",style:{display:"contents"}},' "DeviceID" ',-1);function x(t,e,a,D,k,d){const u=i("openwb-base-heading"),c=i("openwb-base-text-input");return f(),_("div",g,[r(u,null,{default:s(()=>[n(" Einstellungen für Powerfox Wechselrichter "),o("span",b,"(Modul: "+m(t.$options.name)+")",1)]),_:1}),r(c,{title:"ID",required:"","model-value":a.configuration.id,"onUpdate:modelValue":e[0]||(e[0]=p=>d.updateConfiguration(p,"configuration.id"))},{help:s(()=>[n(" Um die ID herauszufinden mit dem Browser die Adresse "),v,n(" aufrufen und dort Benutzername und Passwort eingeben. Die DeviceID ist exakt so einzutragen, wie in der Antwort des Servers. Das bedeutet insbesondere auch, die Groß-/Kleinschreibung ist zu beachten! In dem Feld ist nur die Zeichenfolge direkt hinter "),w,n(" ohne den Doppelpunkt und Anführungszeichen einzutragen. ")]),_:1},8,["model-value"])])}const B=l(h,[["render",x],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/powerfox/inverter.vue"]]);export{B as default}; +import{_ as l,q as i,k as f,l as _,B as r,M as s,x as n,u as o,y as m}from"./vendor-493c2bec.js";import"./vendor-sortablejs-0b339223.js";const h={name:"DevicePowerfoxInverter",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(t,e=void 0){this.$emit("update:configuration",{value:t,object:e})}}},g={class:"device-powerfox-inverter"},b={class:"small"},v=o("a",{href:"https://backend.powerfox.energy/api/2.0/my/all/devices",target:"_blank",rel:"noopener noreferrer"}," https://backend.powerfox.energy/api/2.0/my/all/devices ",-1),w=o("span",{class:"font-weight-bold text-monospace",style:{display:"contents"}},' "DeviceID" ',-1);function x(t,e,a,D,k,d){const u=i("openwb-base-heading"),c=i("openwb-base-text-input");return f(),_("div",g,[r(u,null,{default:s(()=>[n(" Einstellungen für Powerfox Wechselrichter "),o("span",b,"(Modul: "+m(t.$options.name)+")",1)]),_:1}),r(c,{title:"ID",required:"","model-value":a.configuration.id,"onUpdate:modelValue":e[0]||(e[0]=p=>d.updateConfiguration(p,"configuration.id"))},{help:s(()=>[n(" Um die ID herauszufinden mit dem Browser die Adresse "),v,n(" aufrufen und dort Benutzername und Passwort eingeben. Die DeviceID ist exakt so einzutragen, wie in der Antwort des Servers. Das bedeutet insbesondere auch, die Groß-/Kleinschreibung ist zu beachten! In dem Feld ist nur die Zeichenfolge direkt hinter "),w,n(" ohne den Doppelpunkt und Anführungszeichen einzutragen. ")]),_:1},8,["model-value"])])}const B=l(h,[["render",x],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/powerfox/inverter.vue"]]);export{B as default}; diff --git a/web/settings/assets/inverter-9bf3268a.js b/web/settings/assets/inverter-aa1b4ac1.js similarity index 86% rename from web/settings/assets/inverter-9bf3268a.js rename to web/settings/assets/inverter-aa1b4ac1.js index a44521d922..34763c6b31 100644 --- a/web/settings/assets/inverter-9bf3268a.js +++ b/web/settings/assets/inverter-aa1b4ac1.js @@ -1 +1 @@ -import{_ as c,q as t,k as d,l as u,B as o,M as s,x as r,u as p,y as l}from"./vendor-f0f38b48.js";import"./vendor-sortablejs-cbf37f8f.js";const _={name:"DeviceFroniusInverter",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(e,n=void 0){this.$emit("update:configuration",{value:e,object:n})}}},f={class:"device-fronius-inverter"},m={class:"small"};function v(e,n,b,g,h,w){const i=t("openwb-base-heading"),a=t("openwb-base-alert");return d(),u("div",f,[o(i,null,{default:s(()=>[r(" Einstellungen für Fronius Wechselrichter "),p("span",m,"(Modul: "+l(e.$options.name)+")",1)]),_:1}),o(a,{subtype:"info"},{default:s(()=>[r(" Diese Komponente erfordert keine Einstellungen. ")]),_:1})])}const B=c(_,[["render",v],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/fronius/inverter.vue"]]);export{B as default}; +import{_ as c,q as t,k as d,l as u,B as o,M as s,x as r,u as p,y as l}from"./vendor-493c2bec.js";import"./vendor-sortablejs-0b339223.js";const _={name:"DeviceFroniusInverter",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(e,n=void 0){this.$emit("update:configuration",{value:e,object:n})}}},f={class:"device-fronius-inverter"},m={class:"small"};function v(e,n,b,g,h,w){const i=t("openwb-base-heading"),a=t("openwb-base-alert");return d(),u("div",f,[o(i,null,{default:s(()=>[r(" Einstellungen für Fronius Wechselrichter "),p("span",m,"(Modul: "+l(e.$options.name)+")",1)]),_:1}),o(a,{subtype:"info"},{default:s(()=>[r(" Diese Komponente erfordert keine Einstellungen. ")]),_:1})])}const B=c(_,[["render",v],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/fronius/inverter.vue"]]);export{B as default}; diff --git a/web/settings/assets/inverter-50052a1a.js b/web/settings/assets/inverter-abc6a37e.js similarity index 86% rename from web/settings/assets/inverter-50052a1a.js rename to web/settings/assets/inverter-abc6a37e.js index 1cd21c96b4..b627f9327a 100644 --- a/web/settings/assets/inverter-50052a1a.js +++ b/web/settings/assets/inverter-abc6a37e.js @@ -1 +1 @@ -import{_ as c,q as n,k as d,l as p,B as o,M as s,x as a,u as l,y as u}from"./vendor-f0f38b48.js";import"./vendor-sortablejs-cbf37f8f.js";const _={name:"DeviceSolaxInverter",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(e,t=void 0){this.$emit("update:configuration",{value:e,object:t})}}},f={class:"device-solax-inverter"},m={class:"small"};function v(e,t,b,g,h,x){const r=n("openwb-base-heading"),i=n("openwb-base-alert");return d(),p("div",f,[o(r,null,{default:s(()=>[a(" Einstellungen für Solax Wechselrichter "),l("span",m,"(Modul: "+u(e.$options.name)+")",1)]),_:1}),o(i,{subtype:"info"},{default:s(()=>[a(" Diese Komponente erfordert keine Einstellungen. ")]),_:1})])}const B=c(_,[["render",v],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/solax/inverter.vue"]]);export{B as default}; +import{_ as c,q as n,k as d,l as p,B as o,M as s,x as a,u as l,y as u}from"./vendor-493c2bec.js";import"./vendor-sortablejs-0b339223.js";const _={name:"DeviceSolaxInverter",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(e,t=void 0){this.$emit("update:configuration",{value:e,object:t})}}},f={class:"device-solax-inverter"},m={class:"small"};function v(e,t,b,g,h,x){const r=n("openwb-base-heading"),i=n("openwb-base-alert");return d(),p("div",f,[o(r,null,{default:s(()=>[a(" Einstellungen für Solax Wechselrichter "),l("span",m,"(Modul: "+u(e.$options.name)+")",1)]),_:1}),o(i,{subtype:"info"},{default:s(()=>[a(" Diese Komponente erfordert keine Einstellungen. ")]),_:1})])}const B=c(_,[["render",v],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/solax/inverter.vue"]]);export{B as default}; diff --git a/web/settings/assets/inverter-5f14ad8a.js b/web/settings/assets/inverter-b0b0b85e.js similarity index 93% rename from web/settings/assets/inverter-5f14ad8a.js rename to web/settings/assets/inverter-b0b0b85e.js index bc0b0deb3d..fc01b3db2f 100644 --- a/web/settings/assets/inverter-5f14ad8a.js +++ b/web/settings/assets/inverter-b0b0b85e.js @@ -1 +1 @@ -import{_ as c,q as t,k as d,l as p,B as o,M as s,x as i,u,y as l}from"./vendor-f0f38b48.js";import"./vendor-sortablejs-cbf37f8f.js";const _={name:"DeviceBenningInverter",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(e,n=void 0){this.$emit("update:configuration",{value:e,object:n})}}},f={class:"device-benning-inverter"},m={class:"small"};function b(e,n,g,v,h,B){const a=t("openwb-base-heading"),r=t("openwb-base-alert");return d(),p("div",f,[o(a,null,{default:s(()=>[i(" Einstellungen für Benning Wechselrichter "),u("span",m,"(Modul: "+l(e.$options.name)+")",1)]),_:1}),o(r,{subtype:"info"},{default:s(()=>[i(" Diese Komponente benötigt keine Einstellungen. ")]),_:1})])}const x=c(_,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/benning/inverter.vue"]]);export{x as default}; +import{_ as c,q as t,k as d,l as p,B as o,M as s,x as i,u,y as l}from"./vendor-493c2bec.js";import"./vendor-sortablejs-0b339223.js";const _={name:"DeviceBenningInverter",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(e,n=void 0){this.$emit("update:configuration",{value:e,object:n})}}},f={class:"device-benning-inverter"},m={class:"small"};function b(e,n,g,v,h,B){const a=t("openwb-base-heading"),r=t("openwb-base-alert");return d(),p("div",f,[o(a,null,{default:s(()=>[i(" Einstellungen für Benning Wechselrichter "),u("span",m,"(Modul: "+l(e.$options.name)+")",1)]),_:1}),o(r,{subtype:"info"},{default:s(()=>[i(" Diese Komponente benötigt keine Einstellungen. ")]),_:1})])}const x=c(_,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/benning/inverter.vue"]]);export{x as default}; diff --git a/web/settings/assets/inverter-ecc53d83.js b/web/settings/assets/inverter-b67da9a7.js similarity index 86% rename from web/settings/assets/inverter-ecc53d83.js rename to web/settings/assets/inverter-b67da9a7.js index 9dd1711644..9133b17e32 100644 --- a/web/settings/assets/inverter-ecc53d83.js +++ b/web/settings/assets/inverter-b67da9a7.js @@ -1 +1 @@ -import{_ as c,q as t,k as d,l as u,B as o,M as s,x as a,u as p,y as l}from"./vendor-f0f38b48.js";import"./vendor-sortablejs-cbf37f8f.js";const _={name:"DeviceSunwaysInverter",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(e,n=void 0){this.$emit("update:configuration",{value:e,object:n})}}},f={class:"device-sunways-inverter"},m={class:"small"};function v(e,n,b,g,h,w){const r=t("openwb-base-heading"),i=t("openwb-base-alert");return d(),u("div",f,[o(r,null,{default:s(()=>[a(" Einstellungen für Sunways Wechselrichter "),p("span",m,"(Modul: "+l(e.$options.name)+")",1)]),_:1}),o(i,{subtype:"info"},{default:s(()=>[a(" Diese Komponente erfordert keine Einstellungen. ")]),_:1})])}const x=c(_,[["render",v],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/sunways/inverter.vue"]]);export{x as default}; +import{_ as c,q as t,k as d,l as u,B as o,M as s,x as a,u as p,y as l}from"./vendor-493c2bec.js";import"./vendor-sortablejs-0b339223.js";const _={name:"DeviceSunwaysInverter",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(e,n=void 0){this.$emit("update:configuration",{value:e,object:n})}}},f={class:"device-sunways-inverter"},m={class:"small"};function v(e,n,b,g,h,w){const r=t("openwb-base-heading"),i=t("openwb-base-alert");return d(),u("div",f,[o(r,null,{default:s(()=>[a(" Einstellungen für Sunways Wechselrichter "),p("span",m,"(Modul: "+l(e.$options.name)+")",1)]),_:1}),o(i,{subtype:"info"},{default:s(()=>[a(" Diese Komponente erfordert keine Einstellungen. ")]),_:1})])}const x=c(_,[["render",v],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/sunways/inverter.vue"]]);export{x as default}; diff --git a/web/settings/assets/inverter-7d38470e.js b/web/settings/assets/inverter-b84245b5.js similarity index 93% rename from web/settings/assets/inverter-7d38470e.js rename to web/settings/assets/inverter-b84245b5.js index 9b59f93e08..a00738381b 100644 --- a/web/settings/assets/inverter-7d38470e.js +++ b/web/settings/assets/inverter-b84245b5.js @@ -1 +1 @@ -import{_ as c,q as n,k as d,l,B as o,M as s,x as r,u as p,y as u}from"./vendor-f0f38b48.js";import"./vendor-sortablejs-cbf37f8f.js";const _={name:"DeviceSolarWorldInverter",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(e,t=void 0){this.$emit("update:configuration",{value:e,object:t})}}},f={class:"device-solar_world-inverter"},m={class:"small"};function b(e,t,v,g,h,w){const a=n("openwb-base-heading"),i=n("openwb-base-alert");return d(),l("div",f,[o(a,null,{default:s(()=>[r(" Einstellungen für SolarWorld Wechselrichter "),p("span",m,"(Modul: "+u(e.$options.name)+")",1)]),_:1}),o(i,{subtype:"info"},{default:s(()=>[r(" Diese Komponente benötigt keine Einstellungen. ")]),_:1})])}const B=c(_,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/solar_world/inverter.vue"]]);export{B as default}; +import{_ as c,q as n,k as d,l,B as o,M as s,x as r,u as p,y as u}from"./vendor-493c2bec.js";import"./vendor-sortablejs-0b339223.js";const _={name:"DeviceSolarWorldInverter",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(e,t=void 0){this.$emit("update:configuration",{value:e,object:t})}}},f={class:"device-solar_world-inverter"},m={class:"small"};function b(e,t,v,g,h,w){const a=n("openwb-base-heading"),i=n("openwb-base-alert");return d(),l("div",f,[o(a,null,{default:s(()=>[r(" Einstellungen für SolarWorld Wechselrichter "),p("span",m,"(Modul: "+u(e.$options.name)+")",1)]),_:1}),o(i,{subtype:"info"},{default:s(()=>[r(" Diese Komponente benötigt keine Einstellungen. ")]),_:1})])}const B=c(_,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/solar_world/inverter.vue"]]);export{B as default}; diff --git a/web/settings/assets/inverter-7b2ee5a1.js b/web/settings/assets/inverter-bd49cadc.js similarity index 91% rename from web/settings/assets/inverter-7b2ee5a1.js rename to web/settings/assets/inverter-bd49cadc.js index 474ae6487c..230bc29429 100644 --- a/web/settings/assets/inverter-7b2ee5a1.js +++ b/web/settings/assets/inverter-bd49cadc.js @@ -1 +1 @@ -import{_ as c,q as r,k as g,l as _,B as n,M as s,x as u,u as m,y as f}from"./vendor-f0f38b48.js";import"./vendor-sortablejs-cbf37f8f.js";const v={name:"DeviceVZLoggerInverter",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(t,e=void 0){this.$emit("update:configuration",{value:t,object:e})}}},b={class:"device-vzlogger-inverter"},h={class:"small"};function w(t,e,i,x,V,a){const d=r("openwb-base-heading"),p=r("openwb-base-alert"),l=r("openwb-base-number-input");return g(),_("div",b,[n(d,null,{default:s(()=>[u(" Einstellungen für VZLogger Wechselrichter "),m("span",h,"(Modul: "+f(t.$options.name)+")",1)]),_:1}),n(p,{subtype:"info"},{default:s(()=>[u(' Bitte auf der Shell ausführen: "curl -s IPdesVZLogger:Port | jq .|cat -n" Zählen, in welcher Zeile der gesuchte Wert steht. Bei der ersten Zeile mit 1 anfangen zu zählen. ')]),_:1}),n(l,{title:"Zeile der Leistung",required:"",min:0,"model-value":i.configuration.line_power,"onUpdate:modelValue":e[0]||(e[0]=o=>a.updateConfiguration(o,"configuration.line_power"))},null,8,["model-value"]),n(l,{title:"Zeile der exportierten Energie (Ertrag)",min:0,"model-value":i.configuration.line_exported,"onUpdate:modelValue":e[1]||(e[1]=o=>a.updateConfiguration(o,"configuration.line_exported"))},null,8,["model-value"])])}const q=c(v,[["render",w],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/vzlogger/inverter.vue"]]);export{q as default}; +import{_ as c,q as r,k as g,l as _,B as n,M as s,x as u,u as m,y as f}from"./vendor-493c2bec.js";import"./vendor-sortablejs-0b339223.js";const v={name:"DeviceVZLoggerInverter",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(t,e=void 0){this.$emit("update:configuration",{value:t,object:e})}}},b={class:"device-vzlogger-inverter"},h={class:"small"};function w(t,e,i,x,V,a){const d=r("openwb-base-heading"),p=r("openwb-base-alert"),l=r("openwb-base-number-input");return g(),_("div",b,[n(d,null,{default:s(()=>[u(" Einstellungen für VZLogger Wechselrichter "),m("span",h,"(Modul: "+f(t.$options.name)+")",1)]),_:1}),n(p,{subtype:"info"},{default:s(()=>[u(' Bitte auf der Shell ausführen: "curl -s IPdesVZLogger:Port | jq .|cat -n" Zählen, in welcher Zeile der gesuchte Wert steht. Bei der ersten Zeile mit 1 anfangen zu zählen. ')]),_:1}),n(l,{title:"Zeile der Leistung",required:"",min:0,"model-value":i.configuration.line_power,"onUpdate:modelValue":e[0]||(e[0]=o=>a.updateConfiguration(o,"configuration.line_power"))},null,8,["model-value"]),n(l,{title:"Zeile der exportierten Energie (Ertrag)",min:0,"model-value":i.configuration.line_exported,"onUpdate:modelValue":e[1]||(e[1]=o=>a.updateConfiguration(o,"configuration.line_exported"))},null,8,["model-value"])])}const q=c(v,[["render",w],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/vzlogger/inverter.vue"]]);export{q as default}; diff --git a/web/settings/assets/inverter-e8664868.js b/web/settings/assets/inverter-bea32474.js similarity index 90% rename from web/settings/assets/inverter-e8664868.js rename to web/settings/assets/inverter-bea32474.js index 4f5b6997a8..64b5c4ab8c 100644 --- a/web/settings/assets/inverter-e8664868.js +++ b/web/settings/assets/inverter-bea32474.js @@ -1 +1 @@ -import{_ as d,q as o,k as p,l as c,B as i,M as m,x as _,u as f,y as v}from"./vendor-f0f38b48.js";import"./vendor-sortablejs-cbf37f8f.js";const b={name:"DeviceOpenwbFlexInverter",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(t,e=void 0){this.$emit("update:configuration",{value:t,object:e})}}},g={class:"device-openwb-flex-inverter"},x={class:"small"};function w(t,e,a,M,h,s){const u=o("openwb-base-heading"),l=o("openwb-base-select-input"),r=o("openwb-base-number-input");return p(),c("div",g,[i(u,null,{default:m(()=>[_(" Einstellungen für openWB-Flex Wechselrichter "),f("span",x,"(Modul: "+v(t.$options.name)+")",1)]),_:1}),i(l,{title:"Zählermodell",notSelected:"Bitte auswählen",options:[{value:0,text:"MPM3PM"},{value:1,text:"Lovato"},{value:2,text:"SDM630/SDM72D-M"},{value:3,text:"SDM120"}],"model-value":a.configuration.version,"onUpdate:modelValue":e[0]||(e[0]=n=>s.updateConfiguration(n,"configuration.version"))},null,8,["model-value"]),i(r,{title:"Modbus-ID",required:"",min:1,max:255,"model-value":a.configuration.id,"onUpdate:modelValue":e[1]||(e[1]=n=>s.updateConfiguration(n,"configuration.id"))},null,8,["model-value"])])}const C=d(b,[["render",w],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/openwb_flex/inverter.vue"]]);export{C as default}; +import{_ as d,q as o,k as p,l as c,B as i,M as m,x as _,u as f,y as v}from"./vendor-493c2bec.js";import"./vendor-sortablejs-0b339223.js";const b={name:"DeviceOpenwbFlexInverter",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(t,e=void 0){this.$emit("update:configuration",{value:t,object:e})}}},g={class:"device-openwb-flex-inverter"},x={class:"small"};function w(t,e,a,M,h,s){const u=o("openwb-base-heading"),l=o("openwb-base-select-input"),r=o("openwb-base-number-input");return p(),c("div",g,[i(u,null,{default:m(()=>[_(" Einstellungen für openWB-Flex Wechselrichter "),f("span",x,"(Modul: "+v(t.$options.name)+")",1)]),_:1}),i(l,{title:"Zählermodell",notSelected:"Bitte auswählen",options:[{value:0,text:"MPM3PM"},{value:1,text:"Lovato"},{value:2,text:"SDM630/SDM72D-M"},{value:3,text:"SDM120"}],"model-value":a.configuration.version,"onUpdate:modelValue":e[0]||(e[0]=n=>s.updateConfiguration(n,"configuration.version"))},null,8,["model-value"]),i(r,{title:"Modbus-ID",required:"",min:1,max:255,"model-value":a.configuration.id,"onUpdate:modelValue":e[1]||(e[1]=n=>s.updateConfiguration(n,"configuration.id"))},null,8,["model-value"])])}const C=d(b,[["render",w],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/openwb_flex/inverter.vue"]]);export{C as default}; diff --git a/web/settings/assets/inverter-87ffebcd.js b/web/settings/assets/inverter-bff1e3e5.js similarity index 86% rename from web/settings/assets/inverter-87ffebcd.js rename to web/settings/assets/inverter-bff1e3e5.js index cb2a2a50fd..719b35b7ed 100644 --- a/web/settings/assets/inverter-87ffebcd.js +++ b/web/settings/assets/inverter-bff1e3e5.js @@ -1 +1 @@ -import{_ as c,q as n,k as l,l as d,B as o,M as s,x as a,u as p,y as u}from"./vendor-f0f38b48.js";import"./vendor-sortablejs-cbf37f8f.js";const _={name:"DeviceShellyInverter",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(e,t=void 0){this.$emit("update:configuration",{value:e,object:t})}}},f={class:"device-shelly-inverter"},m={class:"small"};function h(e,t,b,v,g,y){const i=n("openwb-base-heading"),r=n("openwb-base-alert");return l(),d("div",f,[o(i,null,{default:s(()=>[a(" Einstellungen für Shelly Wechselrichter "),p("span",m,"(Modul: "+u(e.$options.name)+")",1)]),_:1}),o(r,{subtype:"info"},{default:s(()=>[a(" Diese Komponente benötigt keine Einstellungen. ")]),_:1})])}const x=c(_,[["render",h],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/shelly/inverter.vue"]]);export{x as default}; +import{_ as c,q as n,k as l,l as d,B as o,M as s,x as a,u as p,y as u}from"./vendor-493c2bec.js";import"./vendor-sortablejs-0b339223.js";const _={name:"DeviceShellyInverter",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(e,t=void 0){this.$emit("update:configuration",{value:e,object:t})}}},f={class:"device-shelly-inverter"},m={class:"small"};function h(e,t,b,v,g,y){const i=n("openwb-base-heading"),r=n("openwb-base-alert");return l(),d("div",f,[o(i,null,{default:s(()=>[a(" Einstellungen für Shelly Wechselrichter "),p("span",m,"(Modul: "+u(e.$options.name)+")",1)]),_:1}),o(r,{subtype:"info"},{default:s(()=>[a(" Diese Komponente benötigt keine Einstellungen. ")]),_:1})])}const x=c(_,[["render",h],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/shelly/inverter.vue"]]);export{x as default}; diff --git a/web/settings/assets/inverter-738c2377.js b/web/settings/assets/inverter-c75914c8.js similarity index 93% rename from web/settings/assets/inverter-738c2377.js rename to web/settings/assets/inverter-c75914c8.js index caddf2d30a..0ffa7f1084 100644 --- a/web/settings/assets/inverter-738c2377.js +++ b/web/settings/assets/inverter-c75914c8.js @@ -1 +1 @@ -import{_ as c,q as n,k as d,l as p,B as o,M as s,x as a,u,y as l}from"./vendor-f0f38b48.js";import"./vendor-sortablejs-cbf37f8f.js";const _={name:"DeviceLGInverter",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(e,t=void 0){this.$emit("update:configuration",{value:e,object:t})}}},f={class:"device-lg-inverter"},m={class:"small"};function b(e,t,g,v,h,w){const i=n("openwb-base-heading"),r=n("openwb-base-alert");return d(),p("div",f,[o(i,null,{default:s(()=>[a(" Einstellungen für LG ESS V1.0 Wechselrichter "),u("span",m,"(Modul: "+l(e.$options.name)+")",1)]),_:1}),o(r,{subtype:"info"},{default:s(()=>[a(" Diese Komponente benötigt keine Einstellungen. ")]),_:1})])}const B=c(_,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/lg/inverter.vue"]]);export{B as default}; +import{_ as c,q as n,k as d,l as p,B as o,M as s,x as a,u,y as l}from"./vendor-493c2bec.js";import"./vendor-sortablejs-0b339223.js";const _={name:"DeviceLGInverter",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(e,t=void 0){this.$emit("update:configuration",{value:e,object:t})}}},f={class:"device-lg-inverter"},m={class:"small"};function b(e,t,g,v,h,w){const i=n("openwb-base-heading"),r=n("openwb-base-alert");return d(),p("div",f,[o(i,null,{default:s(()=>[a(" Einstellungen für LG ESS V1.0 Wechselrichter "),u("span",m,"(Modul: "+l(e.$options.name)+")",1)]),_:1}),o(r,{subtype:"info"},{default:s(()=>[a(" Diese Komponente benötigt keine Einstellungen. ")]),_:1})])}const B=c(_,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/lg/inverter.vue"]]);export{B as default}; diff --git a/web/settings/assets/inverter-60cb8900.js b/web/settings/assets/inverter-c949dfaf.js similarity index 93% rename from web/settings/assets/inverter-60cb8900.js rename to web/settings/assets/inverter-c949dfaf.js index 66e556a36a..6964f4e5d4 100644 --- a/web/settings/assets/inverter-60cb8900.js +++ b/web/settings/assets/inverter-c949dfaf.js @@ -1 +1 @@ -import{_ as u,q as s,k as _,l as m,B as t,M as o,x as n,u as e,y as a}from"./vendor-f0f38b48.js";import"./vendor-sortablejs-cbf37f8f.js";const h={name:"DeviceMqttInverter",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(i,l=void 0){this.$emit("update:configuration",{value:i,object:l})}}},b={class:"device-mqtt-inverter"},f={class:"small"},g=e("br",null,null,-1),v=e("span",{class:"text-info"},"-123",-1),w=e("br",null,null,-1),x=e("br",null,null,-1),z=e("span",{class:"text-info"},"123.45",-1);function B(i,l,r,k,y,I){const p=s("openwb-base-heading"),c=s("openwb-base-copy-to-clipboard"),d=s("openwb-base-alert");return _(),m("div",b,[t(p,null,{default:o(()=>[n(" Einstellungen für MQTT Wechselrichter "),e("span",f,"(Modul: "+a(i.$options.name)+")",1)]),_:1}),t(d,{subtype:"info"},{default:o(()=>[e("ul",null,[e("li",null,[t(c,{class:"text-info",tooltip:"Topic kopieren"},{default:o(()=>[n("openWB/set/pv/"+a(r.componentId)+"/get/power",1)]),_:1}),g,n(" PV-Leistung in Watt als Zahl mit oder ohne Nachkommastellen (Float, Integer) und einem Punkt als Dezimaltrennzeichen. Produzierte Leistung muss ein negatives Vorzeichen haben. (In bestimmten Konstellationen, z.B. wenn ein Hybridsystem über einen zweiten Wechselrichter geladen wird, hat die Leistung ein positives Vorzeichen.) Beispiel: "),v]),e("li",null,[t(c,{class:"text-info",tooltip:"Topic kopieren"},{default:o(()=>[n("openWB/set/pv/"+a(r.componentId)+"/get/exported",1)]),_:1}),w,n(" Erzeugte Energie in Wh, Zahl mit oder ohne Nachkommastellen (Float, Integer) und einem Punkt als Dezimaltrennzeichen, nur positiv"),x,n(" Beispiel: "),z])])]),_:1})])}const V=u(h,[["render",B],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/mqtt/inverter.vue"]]);export{V as default}; +import{_ as u,q as s,k as _,l as m,B as t,M as o,x as n,u as e,y as a}from"./vendor-493c2bec.js";import"./vendor-sortablejs-0b339223.js";const h={name:"DeviceMqttInverter",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(i,l=void 0){this.$emit("update:configuration",{value:i,object:l})}}},b={class:"device-mqtt-inverter"},f={class:"small"},g=e("br",null,null,-1),v=e("span",{class:"text-info"},"-123",-1),w=e("br",null,null,-1),x=e("br",null,null,-1),z=e("span",{class:"text-info"},"123.45",-1);function B(i,l,r,k,y,I){const p=s("openwb-base-heading"),c=s("openwb-base-copy-to-clipboard"),d=s("openwb-base-alert");return _(),m("div",b,[t(p,null,{default:o(()=>[n(" Einstellungen für MQTT Wechselrichter "),e("span",f,"(Modul: "+a(i.$options.name)+")",1)]),_:1}),t(d,{subtype:"info"},{default:o(()=>[e("ul",null,[e("li",null,[t(c,{class:"text-info",tooltip:"Topic kopieren"},{default:o(()=>[n("openWB/set/pv/"+a(r.componentId)+"/get/power",1)]),_:1}),g,n(" PV-Leistung in Watt als Zahl mit oder ohne Nachkommastellen (Float, Integer) und einem Punkt als Dezimaltrennzeichen. Produzierte Leistung muss ein negatives Vorzeichen haben. (In bestimmten Konstellationen, z.B. wenn ein Hybridsystem über einen zweiten Wechselrichter geladen wird, hat die Leistung ein positives Vorzeichen.) Beispiel: "),v]),e("li",null,[t(c,{class:"text-info",tooltip:"Topic kopieren"},{default:o(()=>[n("openWB/set/pv/"+a(r.componentId)+"/get/exported",1)]),_:1}),w,n(" Erzeugte Energie in Wh, Zahl mit oder ohne Nachkommastellen (Float, Integer) und einem Punkt als Dezimaltrennzeichen, nur positiv"),x,n(" Beispiel: "),z])])]),_:1})])}const V=u(h,[["render",B],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/mqtt/inverter.vue"]]);export{V as default}; diff --git a/web/settings/assets/inverter-ed134c21.js b/web/settings/assets/inverter-cff98b7b.js similarity index 93% rename from web/settings/assets/inverter-ed134c21.js rename to web/settings/assets/inverter-cff98b7b.js index 19372e08ac..8018404d4e 100644 --- a/web/settings/assets/inverter-ed134c21.js +++ b/web/settings/assets/inverter-cff98b7b.js @@ -1 +1 @@ -import{_ as b,q as t,k as m,l as _,B as o,M as u,x as s,u as f,y as v}from"./vendor-f0f38b48.js";import"./vendor-sortablejs-cbf37f8f.js";const g={name:"DeviceSunnyBoyInverter",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(a,e=void 0){this.$emit("update:configuration",{value:a,object:e})}}},y={class:"device-sunnyboy-inverter"},w={class:"small"};function h(a,e,i,S,C,r){const d=t("openwb-base-heading"),l=t("openwb-base-button-group-input"),p=t("openwb-base-select-input"),c=t("openwb-base-number-input");return m(),_("div",y,[o(d,null,{default:u(()=>[s(" Einstellungen für SMA Sunny Boy/Tripower Wechselrichter "),f("span",w,"(Modul: "+v(a.$options.name)+")",1)]),_:1}),o(l,{title:"Hybrid-System",buttons:[{buttonValue:!1,text:"nicht vorhanden"},{buttonValue:!0,text:"vorhanden"}],"model-value":i.configuration.hybrid,"onUpdate:modelValue":e[0]||(e[0]=n=>r.updateConfiguration(n,"configuration.hybrid"))},{help:u(()=>[s(" Diese Option aktivieren, wenn ein Tripower Smart Energy, Sunny Boy Smart Energy oder ein anderes Hybrid-System verbaut ist. ")]),_:1},8,["model-value"]),o(p,{title:"Version",notSelected:"Bitte auswählen",options:[{value:0,text:"Standard"},{value:1,text:"Core-2"},{value:2,text:"Data Manager/Cluster Controller"}],"model-value":i.configuration.version,"onUpdate:modelValue":e[1]||(e[1]=n=>r.updateConfiguration(n,"configuration.version"))},null,8,["model-value"]),o(c,{title:"Modbus ID",required:"","model-value":i.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[2]||(e[2]=n=>r.updateConfiguration(n,"configuration.modbus_id"))},{help:u(()=>[s(" Für die Standardversion ist die Standardmodbus-ID 3, für Core-2 ist sie 1 und für Data Manager/Cluster Controller 2. Wurde eine abweichende Modbus ID konfiguriert, entsprechend anpassen. ")]),_:1},8,["model-value"])])}const V=b(g,[["render",h],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/sma_sunny_boy/inverter.vue"]]);export{V as default}; +import{_ as b,q as t,k as m,l as _,B as o,M as u,x as s,u as f,y as v}from"./vendor-493c2bec.js";import"./vendor-sortablejs-0b339223.js";const g={name:"DeviceSunnyBoyInverter",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(a,e=void 0){this.$emit("update:configuration",{value:a,object:e})}}},y={class:"device-sunnyboy-inverter"},w={class:"small"};function h(a,e,i,S,C,r){const d=t("openwb-base-heading"),l=t("openwb-base-button-group-input"),p=t("openwb-base-select-input"),c=t("openwb-base-number-input");return m(),_("div",y,[o(d,null,{default:u(()=>[s(" Einstellungen für SMA Sunny Boy/Tripower Wechselrichter "),f("span",w,"(Modul: "+v(a.$options.name)+")",1)]),_:1}),o(l,{title:"Hybrid-System",buttons:[{buttonValue:!1,text:"nicht vorhanden"},{buttonValue:!0,text:"vorhanden"}],"model-value":i.configuration.hybrid,"onUpdate:modelValue":e[0]||(e[0]=n=>r.updateConfiguration(n,"configuration.hybrid"))},{help:u(()=>[s(" Diese Option aktivieren, wenn ein Tripower Smart Energy, Sunny Boy Smart Energy oder ein anderes Hybrid-System verbaut ist. ")]),_:1},8,["model-value"]),o(p,{title:"Version",notSelected:"Bitte auswählen",options:[{value:0,text:"Standard"},{value:1,text:"Core-2"},{value:2,text:"Data Manager/Cluster Controller"}],"model-value":i.configuration.version,"onUpdate:modelValue":e[1]||(e[1]=n=>r.updateConfiguration(n,"configuration.version"))},null,8,["model-value"]),o(c,{title:"Modbus ID",required:"","model-value":i.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[2]||(e[2]=n=>r.updateConfiguration(n,"configuration.modbus_id"))},{help:u(()=>[s(" Für die Standardversion ist die Standardmodbus-ID 3, für Core-2 ist sie 1 und für Data Manager/Cluster Controller 2. Wurde eine abweichende Modbus ID konfiguriert, entsprechend anpassen. ")]),_:1},8,["model-value"])])}const V=b(g,[["render",h],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/sma_sunny_boy/inverter.vue"]]);export{V as default}; diff --git a/web/settings/assets/inverter-48159805.js b/web/settings/assets/inverter-d0416472.js similarity index 94% rename from web/settings/assets/inverter-48159805.js rename to web/settings/assets/inverter-d0416472.js index 2c31379df3..55923010eb 100644 --- a/web/settings/assets/inverter-48159805.js +++ b/web/settings/assets/inverter-d0416472.js @@ -1 +1 @@ -import{_ as d,q as n,k as c,l,B as o,M as p,x as m,u as _,y as g}from"./vendor-f0f38b48.js";import"./vendor-sortablejs-cbf37f8f.js";const f={name:"DeviceHuaweiSmartLoggerInverter",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(t,e=void 0){this.$emit("update:configuration",{value:t,object:e})}}},b={class:"device-huawei-smart-logger-inverter"},v={class:"small"};function h(t,e,a,w,x,i){const r=n("openwb-base-heading"),s=n("openwb-base-number-input");return c(),l("div",b,[o(r,null,{default:p(()=>[m(" Einstellungen für Huawei SmartLogger Wechselrichter "),_("span",v,"(Modul: "+g(t.$options.name)+")",1)]),_:1}),o(s,{title:"Modbus ID",required:"","model-value":a.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[0]||(e[0]=u=>i.updateConfiguration(u,"configuration.modbus_id"))},null,8,["model-value"])])}const C=d(f,[["render",h],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/huawei_smartlogger/inverter.vue"]]);export{C as default}; +import{_ as d,q as n,k as c,l,B as o,M as p,x as m,u as _,y as g}from"./vendor-493c2bec.js";import"./vendor-sortablejs-0b339223.js";const f={name:"DeviceHuaweiSmartLoggerInverter",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(t,e=void 0){this.$emit("update:configuration",{value:t,object:e})}}},b={class:"device-huawei-smart-logger-inverter"},v={class:"small"};function h(t,e,a,w,x,i){const r=n("openwb-base-heading"),s=n("openwb-base-number-input");return c(),l("div",b,[o(r,null,{default:p(()=>[m(" Einstellungen für Huawei SmartLogger Wechselrichter "),_("span",v,"(Modul: "+g(t.$options.name)+")",1)]),_:1}),o(s,{title:"Modbus ID",required:"","model-value":a.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[0]||(e[0]=u=>i.updateConfiguration(u,"configuration.modbus_id"))},null,8,["model-value"])])}const C=d(f,[["render",h],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/huawei_smartlogger/inverter.vue"]]);export{C as default}; diff --git a/web/settings/assets/inverter-d7f6f892.js b/web/settings/assets/inverter-d2181aca.js similarity index 93% rename from web/settings/assets/inverter-d7f6f892.js rename to web/settings/assets/inverter-d2181aca.js index 6936590703..ab4331a5e2 100644 --- a/web/settings/assets/inverter-d7f6f892.js +++ b/web/settings/assets/inverter-d2181aca.js @@ -1 +1 @@ -import{_ as c,q as t,k as d,l as p,B as o,M as s,x as i,u,y as l}from"./vendor-f0f38b48.js";import"./vendor-sortablejs-cbf37f8f.js";const _={name:"DeviceSiemensInverter",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(e,n=void 0){this.$emit("update:configuration",{value:e,object:n})}}},m={class:"device-siemens-inverter"},f={class:"small"};function v(e,n,b,g,h,w){const a=t("openwb-base-heading"),r=t("openwb-base-alert");return d(),p("div",m,[o(a,null,{default:s(()=>[i(" Einstellungen für Siemens Wechselrichter "),u("span",f,"(Modul: "+l(e.$options.name)+")",1)]),_:1}),o(r,{subtype:"info"},{default:s(()=>[i(" Diese Komponente erfordert keine Einstellungen. ")]),_:1})])}const B=c(_,[["render",v],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/siemens/inverter.vue"]]);export{B as default}; +import{_ as c,q as t,k as d,l as p,B as o,M as s,x as i,u,y as l}from"./vendor-493c2bec.js";import"./vendor-sortablejs-0b339223.js";const _={name:"DeviceSiemensInverter",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(e,n=void 0){this.$emit("update:configuration",{value:e,object:n})}}},m={class:"device-siemens-inverter"},f={class:"small"};function v(e,n,b,g,h,w){const a=t("openwb-base-heading"),r=t("openwb-base-alert");return d(),p("div",m,[o(a,null,{default:s(()=>[i(" Einstellungen für Siemens Wechselrichter "),u("span",f,"(Modul: "+l(e.$options.name)+")",1)]),_:1}),o(r,{subtype:"info"},{default:s(()=>[i(" Diese Komponente erfordert keine Einstellungen. ")]),_:1})])}const B=c(_,[["render",v],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/siemens/inverter.vue"]]);export{B as default}; diff --git a/web/settings/assets/inverter-cd521c2b.js b/web/settings/assets/inverter-d3260bbc.js similarity index 93% rename from web/settings/assets/inverter-cd521c2b.js rename to web/settings/assets/inverter-d3260bbc.js index e47c033764..46340ceb4f 100644 --- a/web/settings/assets/inverter-cd521c2b.js +++ b/web/settings/assets/inverter-d3260bbc.js @@ -1 +1 @@ -import{_ as c,q as t,k as p,l as d,B as o,M as s,x as a,u,y as l}from"./vendor-f0f38b48.js";import"./vendor-sortablejs-cbf37f8f.js";const _={name:"DeviceOpenDTUInverter",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(e,n=void 0){this.$emit("update:configuration",{value:e,object:n})}}},f={class:"device-opendtu-inverter"},m={class:"small"};function b(e,n,v,g,h,w){const i=t("openwb-base-heading"),r=t("openwb-base-alert");return p(),d("div",f,[o(i,null,{default:s(()=>[a(" Einstellungen für OpenDTU Wechselrichter "),u("span",m,"(Modul: "+l(e.$options.name)+")",1)]),_:1}),o(r,{subtype:"info"},{default:s(()=>[a(" Diese Komponente benötigt keine Einstellungen. ")]),_:1})])}const B=c(_,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/opendtu/inverter.vue"]]);export{B as default}; +import{_ as c,q as t,k as p,l as d,B as o,M as s,x as a,u,y as l}from"./vendor-493c2bec.js";import"./vendor-sortablejs-0b339223.js";const _={name:"DeviceOpenDTUInverter",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(e,n=void 0){this.$emit("update:configuration",{value:e,object:n})}}},f={class:"device-opendtu-inverter"},m={class:"small"};function b(e,n,v,g,h,w){const i=t("openwb-base-heading"),r=t("openwb-base-alert");return p(),d("div",f,[o(i,null,{default:s(()=>[a(" Einstellungen für OpenDTU Wechselrichter "),u("span",m,"(Modul: "+l(e.$options.name)+")",1)]),_:1}),o(r,{subtype:"info"},{default:s(()=>[a(" Diese Komponente benötigt keine Einstellungen. ")]),_:1})])}const B=c(_,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/opendtu/inverter.vue"]]);export{B as default}; diff --git a/web/settings/assets/inverter-16975675.js b/web/settings/assets/inverter-db9e9897.js similarity index 91% rename from web/settings/assets/inverter-16975675.js rename to web/settings/assets/inverter-db9e9897.js index e7e0d086d6..d473bf7ad6 100644 --- a/web/settings/assets/inverter-16975675.js +++ b/web/settings/assets/inverter-db9e9897.js @@ -1 +1 @@ -import{_ as p,q as o,k as _,l as m,B as a,M as i,x as s,u as b,y as f}from"./vendor-f0f38b48.js";import"./vendor-sortablejs-cbf37f8f.js";const g={name:"DeviceStuderInverter",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(t,e=void 0){this.$emit("update:configuration",{value:t,object:e})}}},v={class:"device-studer-inverter"},V={class:"small"};function S(t,e,r,T,h,u){const d=o("openwb-base-heading"),l=o("openwb-base-button-group-input"),c=o("openwb-base-number-input");return _(),m("div",v,[a(d,null,{default:i(()=>[s(" Einstellungen für Studer Wechselrichter "),b("span",V,"(Modul: "+f(t.$options.name)+")",1)]),_:1}),a(l,{title:"Typ der MPPT Solarladeregler",buttons:[{buttonValue:"VT",text:"Variotrack (VT-40/VT-65/VT-80)"},{buttonValue:"VS",text:"VarioString (VS-70/VS-120)"}],"model-value":r.configuration.vc_type,"onUpdate:modelValue":e[0]||(e[0]=n=>u.updateConfiguration(n,"configuration.vc_type"))},null,8,["buttons","model-value"]),a(c,{title:"Anzahl MPPT Solarladeregler",required:"",min:1,max:9,"model-value":r.configuration.vc_count,"onUpdate:modelValue":e[1]||(e[1]=n=>u.updateConfiguration(n,"configuration.vc_count"))},{help:i(()=>[s(" Anzahl (1-9) der Studer MPPT Solarladeregler im System (VS/VT) ")]),_:1},8,["model-value"])])}const y=p(g,[["render",S],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/studer/inverter.vue"]]);export{y as default}; +import{_ as p,q as o,k as _,l as m,B as a,M as i,x as s,u as b,y as f}from"./vendor-493c2bec.js";import"./vendor-sortablejs-0b339223.js";const g={name:"DeviceStuderInverter",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(t,e=void 0){this.$emit("update:configuration",{value:t,object:e})}}},v={class:"device-studer-inverter"},V={class:"small"};function S(t,e,r,T,h,u){const d=o("openwb-base-heading"),l=o("openwb-base-button-group-input"),c=o("openwb-base-number-input");return _(),m("div",v,[a(d,null,{default:i(()=>[s(" Einstellungen für Studer Wechselrichter "),b("span",V,"(Modul: "+f(t.$options.name)+")",1)]),_:1}),a(l,{title:"Typ der MPPT Solarladeregler",buttons:[{buttonValue:"VT",text:"Variotrack (VT-40/VT-65/VT-80)"},{buttonValue:"VS",text:"VarioString (VS-70/VS-120)"}],"model-value":r.configuration.vc_type,"onUpdate:modelValue":e[0]||(e[0]=n=>u.updateConfiguration(n,"configuration.vc_type"))},null,8,["buttons","model-value"]),a(c,{title:"Anzahl MPPT Solarladeregler",required:"",min:1,max:9,"model-value":r.configuration.vc_count,"onUpdate:modelValue":e[1]||(e[1]=n=>u.updateConfiguration(n,"configuration.vc_count"))},{help:i(()=>[s(" Anzahl (1-9) der Studer MPPT Solarladeregler im System (VS/VT) ")]),_:1},8,["model-value"])])}const y=p(g,[["render",S],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/studer/inverter.vue"]]);export{y as default}; diff --git a/web/settings/assets/inverter-bfb4fba6.js b/web/settings/assets/inverter-e03a8c0a.js similarity index 93% rename from web/settings/assets/inverter-bfb4fba6.js rename to web/settings/assets/inverter-e03a8c0a.js index 6716248be8..b416726bdf 100644 --- a/web/settings/assets/inverter-bfb4fba6.js +++ b/web/settings/assets/inverter-e03a8c0a.js @@ -1 +1 @@ -import{_ as c,q as t,k as d,l as p,B as o,M as s,x as a,u,y as l}from"./vendor-f0f38b48.js";import"./vendor-sortablejs-cbf37f8f.js";const _={name:"DeviceSonnenbatterieInverter",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(e,n=void 0){this.$emit("update:configuration",{value:e,object:n})}}},f={class:"device-sonnenbatterie-inverter"},m={class:"small"};function b(e,n,v,g,h,w){const r=t("openwb-base-heading"),i=t("openwb-base-alert");return d(),p("div",f,[o(r,null,{default:s(()=>[a(" Einstellungen für SonnenBatterie Wechselrichter "),u("span",m,"(Modul: "+l(e.$options.name)+")",1)]),_:1}),o(i,{subtype:"info"},{default:s(()=>[a(" Diese Komponente erfordert keine Einstellungen. ")]),_:1})])}const x=c(_,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/sonnenbatterie/inverter.vue"]]);export{x as default}; +import{_ as c,q as t,k as d,l as p,B as o,M as s,x as a,u,y as l}from"./vendor-493c2bec.js";import"./vendor-sortablejs-0b339223.js";const _={name:"DeviceSonnenbatterieInverter",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(e,n=void 0){this.$emit("update:configuration",{value:e,object:n})}}},f={class:"device-sonnenbatterie-inverter"},m={class:"small"};function b(e,n,v,g,h,w){const r=t("openwb-base-heading"),i=t("openwb-base-alert");return d(),p("div",f,[o(r,null,{default:s(()=>[a(" Einstellungen für SonnenBatterie Wechselrichter "),u("span",m,"(Modul: "+l(e.$options.name)+")",1)]),_:1}),o(i,{subtype:"info"},{default:s(()=>[a(" Diese Komponente erfordert keine Einstellungen. ")]),_:1})])}const x=c(_,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/sonnenbatterie/inverter.vue"]]);export{x as default}; diff --git a/web/settings/assets/inverter-7e6e2822.js b/web/settings/assets/inverter-e1443559.js similarity index 86% rename from web/settings/assets/inverter-7e6e2822.js rename to web/settings/assets/inverter-e1443559.js index f690e2622d..32820c20bc 100644 --- a/web/settings/assets/inverter-7e6e2822.js +++ b/web/settings/assets/inverter-e1443559.js @@ -1 +1 @@ -import{_ as c,q as n,k as l,l as p,B as o,M as s,x as a,u as d,y as u}from"./vendor-f0f38b48.js";import"./vendor-sortablejs-cbf37f8f.js";const _={name:"DeviceKostalPlenticoreInverter",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(e,t=void 0){this.$emit("update:configuration",{value:e,object:t})}}},f={class:"device-kostalplenticore-inverter"},m={class:"small"};function b(e,t,v,g,h,k){const i=n("openwb-base-heading"),r=n("openwb-base-alert");return l(),p("div",f,[o(i,null,{default:s(()=>[a(" Einstellungen für Kostal Plenticore Wechselrichter "),d("span",m,"(Modul: "+u(e.$options.name)+")",1)]),_:1}),o(r,{subtype:"info"},{default:s(()=>[a(" Diese Komponente benötigt keine Einstellungen. ")]),_:1})])}const x=c(_,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/kostal_plenticore/inverter.vue"]]);export{x as default}; +import{_ as c,q as n,k as l,l as p,B as o,M as s,x as a,u as d,y as u}from"./vendor-493c2bec.js";import"./vendor-sortablejs-0b339223.js";const _={name:"DeviceKostalPlenticoreInverter",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(e,t=void 0){this.$emit("update:configuration",{value:e,object:t})}}},f={class:"device-kostalplenticore-inverter"},m={class:"small"};function b(e,t,v,g,h,k){const i=n("openwb-base-heading"),r=n("openwb-base-alert");return l(),p("div",f,[o(i,null,{default:s(()=>[a(" Einstellungen für Kostal Plenticore Wechselrichter "),d("span",m,"(Modul: "+u(e.$options.name)+")",1)]),_:1}),o(r,{subtype:"info"},{default:s(()=>[a(" Diese Komponente benötigt keine Einstellungen. ")]),_:1})])}const x=c(_,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/kostal_plenticore/inverter.vue"]]);export{x as default}; diff --git a/web/settings/assets/inverter-3ab3ab70.js b/web/settings/assets/inverter-e272d076.js similarity index 93% rename from web/settings/assets/inverter-3ab3ab70.js rename to web/settings/assets/inverter-e272d076.js index 2093b8f7bc..8828adc777 100644 --- a/web/settings/assets/inverter-3ab3ab70.js +++ b/web/settings/assets/inverter-e272d076.js @@ -1 +1 @@ -import{_ as c,q as n,k as d,l as p,B as o,M as s,x as a,u,y as l}from"./vendor-f0f38b48.js";import"./vendor-sortablejs-cbf37f8f.js";const _={name:"DeviceSmaWebboxInverter",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(e,t=void 0){this.$emit("update:configuration",{value:e,object:t})}}},b={class:"device-sma-webbox-inverter"},m={class:"small"};function f(e,t,v,g,h,x){const r=n("openwb-base-heading"),i=n("openwb-base-alert");return d(),p("div",b,[o(r,null,{default:s(()=>[a(" Einstellungen für SMA Webbox Wechselrichter "),u("span",m,"(Modul: "+l(e.$options.name)+")",1)]),_:1}),o(i,{subtype:"info"},{default:s(()=>[a(" Diese Komponente erfordert keine Einstellungen. ")]),_:1})])}const B=c(_,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/sma_webbox/inverter.vue"]]);export{B as default}; +import{_ as c,q as n,k as d,l as p,B as o,M as s,x as a,u,y as l}from"./vendor-493c2bec.js";import"./vendor-sortablejs-0b339223.js";const _={name:"DeviceSmaWebboxInverter",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(e,t=void 0){this.$emit("update:configuration",{value:e,object:t})}}},b={class:"device-sma-webbox-inverter"},m={class:"small"};function f(e,t,v,g,h,x){const r=n("openwb-base-heading"),i=n("openwb-base-alert");return d(),p("div",b,[o(r,null,{default:s(()=>[a(" Einstellungen für SMA Webbox Wechselrichter "),u("span",m,"(Modul: "+l(e.$options.name)+")",1)]),_:1}),o(i,{subtype:"info"},{default:s(()=>[a(" Diese Komponente erfordert keine Einstellungen. ")]),_:1})])}const B=c(_,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/sma_webbox/inverter.vue"]]);export{B as default}; diff --git a/web/settings/assets/inverter-6635a557.js b/web/settings/assets/inverter-f6e88eab.js similarity index 86% rename from web/settings/assets/inverter-6635a557.js rename to web/settings/assets/inverter-f6e88eab.js index 8767514c1a..b6cbf093b2 100644 --- a/web/settings/assets/inverter-6635a557.js +++ b/web/settings/assets/inverter-f6e88eab.js @@ -1 +1 @@ -import{_ as c,q as n,k as d,l as p,B as o,M as s,x as a,u as l,y as u}from"./vendor-f0f38b48.js";import"./vendor-sortablejs-cbf37f8f.js";const _={name:"DeviceTeslaInverter",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(e,t=void 0){this.$emit("update:configuration",{value:e,object:t})}}},f={class:"device-tesla-inverter"},m={class:"small"};function b(e,t,v,g,h,w){const i=n("openwb-base-heading"),r=n("openwb-base-alert");return d(),p("div",f,[o(i,null,{default:s(()=>[a(" Einstellungen für Tesla Wechselrichter "),l("span",m,"(Modul: "+u(e.$options.name)+")",1)]),_:1}),o(r,{subtype:"info"},{default:s(()=>[a(" Diese Komponente benötigt keine Einstellungen. ")]),_:1})])}const B=c(_,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/tesla/inverter.vue"]]);export{B as default}; +import{_ as c,q as n,k as d,l as p,B as o,M as s,x as a,u as l,y as u}from"./vendor-493c2bec.js";import"./vendor-sortablejs-0b339223.js";const _={name:"DeviceTeslaInverter",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},methods:{updateConfiguration(e,t=void 0){this.$emit("update:configuration",{value:e,object:t})}}},f={class:"device-tesla-inverter"},m={class:"small"};function b(e,t,v,g,h,w){const i=n("openwb-base-heading"),r=n("openwb-base-alert");return d(),p("div",f,[o(i,null,{default:s(()=>[a(" Einstellungen für Tesla Wechselrichter "),l("span",m,"(Modul: "+u(e.$options.name)+")",1)]),_:1}),o(r,{subtype:"info"},{default:s(()=>[a(" Diese Komponente benötigt keine Einstellungen. ")]),_:1})])}const B=c(_,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/tesla/inverter.vue"]]);export{B as default}; diff --git a/web/settings/assets/inverter_secondary-60af9f4d.js b/web/settings/assets/inverter_secondary-e5c8d921.js similarity index 93% rename from web/settings/assets/inverter_secondary-60af9f4d.js rename to web/settings/assets/inverter_secondary-e5c8d921.js index 45de839e9b..8da1312921 100644 --- a/web/settings/assets/inverter_secondary-60af9f4d.js +++ b/web/settings/assets/inverter_secondary-e5c8d921.js @@ -1 +1 @@ -import{_ as m,q as i,k as _,l as f,B as s,M as d,x as r,u as o,y as a}from"./vendor-f0f38b48.js";import"./vendor-sortablejs-cbf37f8f.js";const g={name:"DeviceFroniusSecondaryInverter",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},computed:{powerFlowUrl:{get(){return`http://${this.deviceIpAddress}/solar_api/v1/GetPowerFlowRealtimeData.fcgi?Scope=System`}},deviceIpAddress:{get(){var e;return(e=this.$store.state.mqtt[`openWB/system/device/${this.deviceId}/config`])==null?void 0:e.configuration.ip_address}}},methods:{updateConfiguration(e,n=void 0){this.$emit("update:configuration",{value:e,object:n})}}},h={class:"device-fronius-inverter-secondary"},v={class:"small"},w=["href"],b=o("br",null,null,-1);function D(e,n,l,I,k,t){const u=i("openwb-base-heading"),c=i("openwb-base-number-input");return _(),f("div",h,[s(u,null,{default:d(()=>[r(" Einstellungen für einen sekundären Wechselrichter "),o("span",v,"(Modul: "+a(e.$options.name)+")",1)]),_:1}),s(c,{title:"ID","model-value":l.configuration.id,min:"0","onUpdate:modelValue":n[0]||(n[0]=p=>t.updateConfiguration(p,"configuration.id"))},{help:d(()=>[r(" Die ID des sekundären Wechselrichters. Diese ist für jede Installation individuell und muss ermittelt werden. Dafür kann der folgende Link verwendet werden. Die ID kann den zurückgegebenen JSON entnommen werden. "),o("a",{href:t.powerFlowUrl,target:"_blank",rel:"noopener noreferrer"},a(t.powerFlowUrl),9,w),b,r(' Im Abschnitt "Body" -> "Data" -> "SecondaryMeters" werden die installierten Zähler angezeigt. Die ID ist die Zahl vor dem Doppelpunkt und den zugehörigen Daten. ')]),_:1},8,["model-value"])])}const S=m(g,[["render",D],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/fronius/inverter_secondary.vue"]]);export{S as default}; +import{_ as m,q as i,k as _,l as f,B as s,M as d,x as r,u as o,y as a}from"./vendor-493c2bec.js";import"./vendor-sortablejs-0b339223.js";const g={name:"DeviceFroniusSecondaryInverter",emits:["update:configuration"],props:{configuration:{type:Object,required:!0},deviceId:{default:void 0},componentId:{required:!0}},computed:{powerFlowUrl:{get(){return`http://${this.deviceIpAddress}/solar_api/v1/GetPowerFlowRealtimeData.fcgi?Scope=System`}},deviceIpAddress:{get(){var e;return(e=this.$store.state.mqtt[`openWB/system/device/${this.deviceId}/config`])==null?void 0:e.configuration.ip_address}}},methods:{updateConfiguration(e,n=void 0){this.$emit("update:configuration",{value:e,object:n})}}},h={class:"device-fronius-inverter-secondary"},v={class:"small"},w=["href"],b=o("br",null,null,-1);function D(e,n,l,I,k,t){const u=i("openwb-base-heading"),c=i("openwb-base-number-input");return _(),f("div",h,[s(u,null,{default:d(()=>[r(" Einstellungen für einen sekundären Wechselrichter "),o("span",v,"(Modul: "+a(e.$options.name)+")",1)]),_:1}),s(c,{title:"ID","model-value":l.configuration.id,min:"0","onUpdate:modelValue":n[0]||(n[0]=p=>t.updateConfiguration(p,"configuration.id"))},{help:d(()=>[r(" Die ID des sekundären Wechselrichters. Diese ist für jede Installation individuell und muss ermittelt werden. Dafür kann der folgende Link verwendet werden. Die ID kann den zurückgegebenen JSON entnommen werden. "),o("a",{href:t.powerFlowUrl,target:"_blank",rel:"noopener noreferrer"},a(t.powerFlowUrl),9,w),b,r(' Im Abschnitt "Body" -> "Data" -> "SecondaryMeters" werden die installierten Zähler angezeigt. Die ID ist die Zahl vor dem Doppelpunkt und den zugehörigen Daten. ')]),_:1},8,["model-value"])])}const S=m(g,[["render",D],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/fronius/inverter_secondary.vue"]]);export{S as default}; diff --git a/web/settings/assets/ripple_control_receiver-8b8f9ef4.js b/web/settings/assets/ripple_control_receiver-51118774.js similarity index 92% rename from web/settings/assets/ripple_control_receiver-8b8f9ef4.js rename to web/settings/assets/ripple_control_receiver-51118774.js index fa9e13ea38..d6245f0aef 100644 --- a/web/settings/assets/ripple_control_receiver-8b8f9ef4.js +++ b/web/settings/assets/ripple_control_receiver-51118774.js @@ -1 +1 @@ -import{_ as n,q as r,k as i,l as s,B as p,M as a,x as c}from"./vendor-f0f38b48.js";import"./vendor-sortablejs-cbf37f8f.js";const d={name:"RippleControlReceiverGpio",emits:["update:configuration"],props:{rippleControlReceiver:{type:Object,required:!0}},data(){return{}},methods:{updateConfiguration(e,t=void 0){this.$emit("update:configuration",{value:e,object:t})}}},l={class:"ripple-control-receiver-gpio"};function _(e,t,u,f,m,v){const o=r("openwb-base-alert");return i(),s("div",l,[p(o,{subtype:"info"},{default:a(()=>[c(" Wenn mindestens ein Kontakt geschlossen ist, wird die Ladung gesperrt. Wenn beide Kontakte offen sind, darf geladen werden. ")]),_:1})])}const h=n(d,[["render",_],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/ripple_control_receivers/gpio/ripple_control_receiver.vue"]]);export{h as default}; +import{_ as n,q as r,k as i,l as s,B as p,M as a,x as c}from"./vendor-493c2bec.js";import"./vendor-sortablejs-0b339223.js";const d={name:"RippleControlReceiverGpio",emits:["update:configuration"],props:{rippleControlReceiver:{type:Object,required:!0}},data(){return{}},methods:{updateConfiguration(e,t=void 0){this.$emit("update:configuration",{value:e,object:t})}}},l={class:"ripple-control-receiver-gpio"};function _(e,t,u,f,m,v){const o=r("openwb-base-alert");return i(),s("div",l,[p(o,{subtype:"info"},{default:a(()=>[c(" Wenn mindestens ein Kontakt geschlossen ist, wird die Ladung gesperrt. Wenn beide Kontakte offen sind, darf geladen werden. ")]),_:1})])}const h=n(d,[["render",_],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/ripple_control_receivers/gpio/ripple_control_receiver.vue"]]);export{h as default}; diff --git a/web/settings/assets/ripple_control_receiver-bd6d3e2c.js b/web/settings/assets/ripple_control_receiver-b8a18a85.js similarity index 96% rename from web/settings/assets/ripple_control_receiver-bd6d3e2c.js rename to web/settings/assets/ripple_control_receiver-b8a18a85.js index 15e5e873d2..aa80c34365 100644 --- a/web/settings/assets/ripple_control_receiver-bd6d3e2c.js +++ b/web/settings/assets/ripple_control_receiver-b8a18a85.js @@ -1 +1 @@ -import{_ as p,q as r,k as s,l as m,B as n,M as c,x as _}from"./vendor-f0f38b48.js";import"./vendor-sortablejs-cbf37f8f.js";const f={name:"RippleControlReceiverDimmKit",emits:["update:configuration"],props:{rippleControlReceiver:{type:Object,required:!0}},data(){return{}},methods:{updateConfiguration(a,e=void 0){this.$emit("update:configuration",{value:a,object:e})}}},b={class:"ripple-control-receiver-dimm-kit"};function v(a,e,o,g,w,i){const d=r("openwb-base-alert"),u=r("openwb-base-text-input"),l=r("openwb-base-number-input");return s(),m("div",b,[n(d,{subtype:"info"},{default:c(()=>[_(" In der aktuellen Implementierung werden Kontakt 1 und 2 des Dimm-Kits ausgewertet. Wenn mindestens ein Kontakt offen ist, wird die Ladung gesperrt. Wenn beide Kontakte geschlossen sind, darf geladen werden. ")]),_:1}),n(u,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.rippleControlReceiver.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=t=>i.updateConfiguration(t,"configuration.ip_address"))},null,8,["model-value"]),n(l,{title:"Port",required:"","model-value":o.rippleControlReceiver.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=t=>i.updateConfiguration(t,"configuration.port"))},null,8,["model-value"]),n(l,{title:"Modbus-ID",required:"",min:1,max:255,"model-value":o.rippleControlReceiver.configuration.modbus_id,"onUpdate:modelValue":e[2]||(e[2]=t=>i.updateConfiguration(t,"configuration.modbus_id"))},null,8,["model-value"])])}const x=p(f,[["render",v],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/ripple_control_receivers/dimm_kit/ripple_control_receiver.vue"]]);export{x as default}; +import{_ as p,q as r,k as s,l as m,B as n,M as c,x as _}from"./vendor-493c2bec.js";import"./vendor-sortablejs-0b339223.js";const f={name:"RippleControlReceiverDimmKit",emits:["update:configuration"],props:{rippleControlReceiver:{type:Object,required:!0}},data(){return{}},methods:{updateConfiguration(a,e=void 0){this.$emit("update:configuration",{value:a,object:e})}}},b={class:"ripple-control-receiver-dimm-kit"};function v(a,e,o,g,w,i){const d=r("openwb-base-alert"),u=r("openwb-base-text-input"),l=r("openwb-base-number-input");return s(),m("div",b,[n(d,{subtype:"info"},{default:c(()=>[_(" In der aktuellen Implementierung werden Kontakt 1 und 2 des Dimm-Kits ausgewertet. Wenn mindestens ein Kontakt offen ist, wird die Ladung gesperrt. Wenn beide Kontakte geschlossen sind, darf geladen werden. ")]),_:1}),n(u,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.rippleControlReceiver.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=t=>i.updateConfiguration(t,"configuration.ip_address"))},null,8,["model-value"]),n(l,{title:"Port",required:"","model-value":o.rippleControlReceiver.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=t=>i.updateConfiguration(t,"configuration.port"))},null,8,["model-value"]),n(l,{title:"Modbus-ID",required:"",min:1,max:255,"model-value":o.rippleControlReceiver.configuration.modbus_id,"onUpdate:modelValue":e[2]||(e[2]=t=>i.updateConfiguration(t,"configuration.modbus_id"))},null,8,["model-value"])])}const x=p(f,[["render",v],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/ripple_control_receivers/dimm_kit/ripple_control_receiver.vue"]]);export{x as default}; diff --git a/web/settings/assets/vehicle-688baecd.js b/web/settings/assets/vehicle-037807d9.js similarity index 95% rename from web/settings/assets/vehicle-688baecd.js rename to web/settings/assets/vehicle-037807d9.js index 80d0e456be..18c12dba81 100644 --- a/web/settings/assets/vehicle-688baecd.js +++ b/web/settings/assets/vehicle-037807d9.js @@ -1 +1 @@ -import{_ as l,q as s,k as m,l as p,B as r,M as a,x as u}from"./vendor-f0f38b48.js";import"./vendor-sortablejs-cbf37f8f.js";const c={name:"VehicleSocBmw",emits:["update:configuration"],props:{vehicleId:{required:!0,type:Number},vehicle:{required:!0,type:Object}},data(){return{}},methods:{updateConfiguration(d,e=void 0){this.$emit("update:configuration",{value:d,object:e})}}},v={class:"vehicle-soc-bmw"};function f(d,e,n,g,_,o){const i=s("openwb-base-text-input");return m(),p("div",v,[r(i,{title:"Benutzername",required:"",subtype:"user","model-value":n.vehicle.configuration.user_id,"onUpdate:modelValue":e[0]||(e[0]=t=>o.updateConfiguration(t,"configuration.user_id"))},{help:a(()=>[u(" Der Benutzername für die Anmeldung an den BMW-Servern. ")]),_:1},8,["model-value"]),r(i,{title:"Kennwort",required:"",subtype:"password","model-value":n.vehicle.configuration.password,"onUpdate:modelValue":e[1]||(e[1]=t=>o.updateConfiguration(t,"configuration.password"))},{help:a(()=>[u(" Das Passwort für die Anmeldung an den BMW-Servern. ")]),_:1},8,["model-value"]),r(i,{title:"VIN",required:"","model-value":n.vehicle.configuration.vin,"onUpdate:modelValue":e[2]||(e[2]=t=>o.updateConfiguration(t,"configuration.vin"))},{help:a(()=>[u(" Die Fahrgestellnummer des Fahrzeugs. ")]),_:1},8,["model-value"])])}const w=l(c,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/vehicles/bmw/vehicle.vue"]]);export{w as default}; +import{_ as l,q as s,k as m,l as p,B as r,M as a,x as u}from"./vendor-493c2bec.js";import"./vendor-sortablejs-0b339223.js";const c={name:"VehicleSocBmw",emits:["update:configuration"],props:{vehicleId:{required:!0,type:Number},vehicle:{required:!0,type:Object}},data(){return{}},methods:{updateConfiguration(d,e=void 0){this.$emit("update:configuration",{value:d,object:e})}}},v={class:"vehicle-soc-bmw"};function f(d,e,n,g,_,o){const i=s("openwb-base-text-input");return m(),p("div",v,[r(i,{title:"Benutzername",required:"",subtype:"user","model-value":n.vehicle.configuration.user_id,"onUpdate:modelValue":e[0]||(e[0]=t=>o.updateConfiguration(t,"configuration.user_id"))},{help:a(()=>[u(" Der Benutzername für die Anmeldung an den BMW-Servern. ")]),_:1},8,["model-value"]),r(i,{title:"Kennwort",required:"",subtype:"password","model-value":n.vehicle.configuration.password,"onUpdate:modelValue":e[1]||(e[1]=t=>o.updateConfiguration(t,"configuration.password"))},{help:a(()=>[u(" Das Passwort für die Anmeldung an den BMW-Servern. ")]),_:1},8,["model-value"]),r(i,{title:"VIN",required:"","model-value":n.vehicle.configuration.vin,"onUpdate:modelValue":e[2]||(e[2]=t=>o.updateConfiguration(t,"configuration.vin"))},{help:a(()=>[u(" Die Fahrgestellnummer des Fahrzeugs. ")]),_:1},8,["model-value"])])}const w=l(c,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/vehicles/bmw/vehicle.vue"]]);export{w as default}; diff --git a/web/settings/assets/vehicle-a5aedfc2.js b/web/settings/assets/vehicle-081e8fb1.js similarity index 95% rename from web/settings/assets/vehicle-a5aedfc2.js rename to web/settings/assets/vehicle-081e8fb1.js index 58b46ab5c4..31e4cd4db7 100644 --- a/web/settings/assets/vehicle-a5aedfc2.js +++ b/web/settings/assets/vehicle-081e8fb1.js @@ -1 +1 @@ -import{_ as l,q as s,k as m,l as p,B as i,M as a,x as u}from"./vendor-f0f38b48.js";import"./vendor-sortablejs-cbf37f8f.js";const c={name:"VehicleSocSmarteq",emits:["update:configuration"],props:{vehicleId:{required:!0,type:Number},vehicle:{required:!0,type:Object}},data(){return{}},methods:{updateConfiguration(d,e=void 0){this.$emit("update:configuration",{value:d,object:e})}}},v={class:"vehicle-soc-smarteq"};function f(d,e,n,g,_,o){const r=s("openwb-base-text-input");return m(),p("div",v,[i(r,{title:"Benutzername",required:"",subtype:"user","model-value":n.vehicle.configuration.user_id,"onUpdate:modelValue":e[0]||(e[0]=t=>o.updateConfiguration(t,"configuration.user_id"))},{help:a(()=>[u(" Der Benutzername für die Anmeldung an den Servern. ")]),_:1},8,["model-value"]),i(r,{title:"Kennwort",required:"",subtype:"password","model-value":n.vehicle.configuration.password,"onUpdate:modelValue":e[1]||(e[1]=t=>o.updateConfiguration(t,"configuration.password"))},{help:a(()=>[u(" Das Passwort für die Anmeldung an den Servern. ")]),_:1},8,["model-value"]),i(r,{title:"VIN",required:"","model-value":n.vehicle.configuration.vin,"onUpdate:modelValue":e[2]||(e[2]=t=>o.updateConfiguration(t,"configuration.vin"))},{help:a(()=>[u(" Die Fahrgestellnummer des Fahrzeugs. ")]),_:1},8,["model-value"])])}const q=l(c,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/vehicles/smarteq/vehicle.vue"]]);export{q as default}; +import{_ as l,q as s,k as m,l as p,B as i,M as a,x as u}from"./vendor-493c2bec.js";import"./vendor-sortablejs-0b339223.js";const c={name:"VehicleSocSmarteq",emits:["update:configuration"],props:{vehicleId:{required:!0,type:Number},vehicle:{required:!0,type:Object}},data(){return{}},methods:{updateConfiguration(d,e=void 0){this.$emit("update:configuration",{value:d,object:e})}}},v={class:"vehicle-soc-smarteq"};function f(d,e,n,g,_,o){const r=s("openwb-base-text-input");return m(),p("div",v,[i(r,{title:"Benutzername",required:"",subtype:"user","model-value":n.vehicle.configuration.user_id,"onUpdate:modelValue":e[0]||(e[0]=t=>o.updateConfiguration(t,"configuration.user_id"))},{help:a(()=>[u(" Der Benutzername für die Anmeldung an den Servern. ")]),_:1},8,["model-value"]),i(r,{title:"Kennwort",required:"",subtype:"password","model-value":n.vehicle.configuration.password,"onUpdate:modelValue":e[1]||(e[1]=t=>o.updateConfiguration(t,"configuration.password"))},{help:a(()=>[u(" Das Passwort für die Anmeldung an den Servern. ")]),_:1},8,["model-value"]),i(r,{title:"VIN",required:"","model-value":n.vehicle.configuration.vin,"onUpdate:modelValue":e[2]||(e[2]=t=>o.updateConfiguration(t,"configuration.vin"))},{help:a(()=>[u(" Die Fahrgestellnummer des Fahrzeugs. ")]),_:1},8,["model-value"])])}const q=l(c,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/vehicles/smarteq/vehicle.vue"]]);export{q as default}; diff --git a/web/settings/assets/vehicle-21c4a1de.js b/web/settings/assets/vehicle-4c33a0da.js similarity index 92% rename from web/settings/assets/vehicle-21c4a1de.js rename to web/settings/assets/vehicle-4c33a0da.js index 40b99a7625..ab47f50077 100644 --- a/web/settings/assets/vehicle-21c4a1de.js +++ b/web/settings/assets/vehicle-4c33a0da.js @@ -1 +1 @@ -import{_ as p,q as c,k as u,l as _,B as o,M as n,x as t,u as e,y as r}from"./vendor-f0f38b48.js";import"./vendor-sortablejs-cbf37f8f.js";const h={name:"VehicleSocMqtt",emits:["update:configuration"],props:{vehicleId:{required:!0,type:Number},vehicle:{required:!0,type:Object}},data(){return{}},methods:{updateConfiguration(i,l=void 0){this.$emit("update:configuration",{value:i,object:l})}}},m={class:"vehicle-soc-mqtt"},f=e("br",null,null,-1),b=e("br",null,null,-1),v=e("span",{class:"text-info"},"89.5",-1),g=e("br",null,null,-1),w=e("br",null,null,-1),k=e("br",null,null,-1),x=e("span",{class:"text-info"},"356.5",-1);function B(i,l,s,y,q,z){const a=c("openwb-base-copy-to-clipboard"),d=c("openwb-base-alert");return u(),_("div",m,[o(d,{subtype:"info"},{default:n(()=>[t(" Die Daten werden immer dann aktualisiert, wenn das Topic veröffentlicht wird. Die Abfrageintervalle werden nicht berücksichtigt, da das Intervall vom sendenden Client festgelegt wird. "),e("ul",null,[e("li",null,[o(a,{class:"text-info",tooltip:"Topic kopieren"},{default:n(()=>[t("openWB/set/vehicle/"+r(s.vehicleId)+"/get/soc",1)]),_:1}),f,t(" Fahrzeug-SoC mit Nachkommastellen (Float) oder Ganzzahl"),b,t(" Beispiel: "),v]),e("li",null,[o(a,{class:"text-info",tooltip:"Topic kopieren"},{default:n(()=>[t("openWB/set/vehicle/"+r(s.vehicleId)+"/get/range",1)]),_:1}),g,t(" Reichweite des Fahrzeugs in km mit Nachkommastellen (Float) oder Ganzzahl"),w,t(" Diese Info ist optional."),k,t(" Beispiel: "),x])])]),_:1})])}const D=p(h,[["render",B],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/vehicles/mqtt/vehicle.vue"]]);export{D as default}; +import{_ as p,q as c,k as u,l as _,B as o,M as n,x as t,u as e,y as r}from"./vendor-493c2bec.js";import"./vendor-sortablejs-0b339223.js";const h={name:"VehicleSocMqtt",emits:["update:configuration"],props:{vehicleId:{required:!0,type:Number},vehicle:{required:!0,type:Object}},data(){return{}},methods:{updateConfiguration(i,l=void 0){this.$emit("update:configuration",{value:i,object:l})}}},m={class:"vehicle-soc-mqtt"},f=e("br",null,null,-1),b=e("br",null,null,-1),v=e("span",{class:"text-info"},"89.5",-1),g=e("br",null,null,-1),w=e("br",null,null,-1),k=e("br",null,null,-1),x=e("span",{class:"text-info"},"356.5",-1);function B(i,l,s,y,q,z){const a=c("openwb-base-copy-to-clipboard"),d=c("openwb-base-alert");return u(),_("div",m,[o(d,{subtype:"info"},{default:n(()=>[t(" Die Daten werden immer dann aktualisiert, wenn das Topic veröffentlicht wird. Die Abfrageintervalle werden nicht berücksichtigt, da das Intervall vom sendenden Client festgelegt wird. "),e("ul",null,[e("li",null,[o(a,{class:"text-info",tooltip:"Topic kopieren"},{default:n(()=>[t("openWB/set/vehicle/"+r(s.vehicleId)+"/get/soc",1)]),_:1}),f,t(" Fahrzeug-SoC mit Nachkommastellen (Float) oder Ganzzahl"),b,t(" Beispiel: "),v]),e("li",null,[o(a,{class:"text-info",tooltip:"Topic kopieren"},{default:n(()=>[t("openWB/set/vehicle/"+r(s.vehicleId)+"/get/range",1)]),_:1}),g,t(" Reichweite des Fahrzeugs in km mit Nachkommastellen (Float) oder Ganzzahl"),w,t(" Diese Info ist optional."),k,t(" Beispiel: "),x])])]),_:1})])}const D=p(h,[["render",B],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/vehicles/mqtt/vehicle.vue"]]);export{D as default}; diff --git a/web/settings/assets/vehicle-f197ab7b.js b/web/settings/assets/vehicle-5538cbac.js similarity index 93% rename from web/settings/assets/vehicle-f197ab7b.js rename to web/settings/assets/vehicle-5538cbac.js index 03544c7835..c5699d84d8 100644 --- a/web/settings/assets/vehicle-f197ab7b.js +++ b/web/settings/assets/vehicle-5538cbac.js @@ -1 +1 @@ -import{_ as a,q as s,k as r,l as i,B as o,M as d,x as u}from"./vendor-f0f38b48.js";import"./vendor-sortablejs-cbf37f8f.js";const c={name:"VehicleSocManual",emits:["update:configuration"],props:{vehicleId:{required:!0,type:Number},vehicle:{required:!0,type:Object}},data(){return{}},methods:{updateConfiguration(e,t=void 0){this.$emit("update:configuration",{value:e,object:t})}}},l={class:"vehicle-soc-tesla"};function p(e,t,h,m,_,f){const n=s("openwb-base-alert");return r(),i("div",l,[o(n,{subtype:"info"},{default:d(()=>[u(' Beim Anstecken des Fahrzeugs muss der aktuelle SoC über die Hauptseite angegeben werden. Anhand des Zählers im Ladepunkt wird dann der aktuelle SoC errechnet. Ausschlaggebend für die Qualität dieses Moduls sind die beiden Einstellungen "Kapazität der Batterie" in dem Fahrzeug-Profil und "Wirkungsgrad der Ladeelektronik". ')]),_:1})])}const v=a(c,[["render",p],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/vehicles/manual/vehicle.vue"]]);export{v as default}; +import{_ as a,q as s,k as r,l as i,B as o,M as d,x as u}from"./vendor-493c2bec.js";import"./vendor-sortablejs-0b339223.js";const c={name:"VehicleSocManual",emits:["update:configuration"],props:{vehicleId:{required:!0,type:Number},vehicle:{required:!0,type:Object}},data(){return{}},methods:{updateConfiguration(e,t=void 0){this.$emit("update:configuration",{value:e,object:t})}}},l={class:"vehicle-soc-tesla"};function p(e,t,h,m,_,f){const n=s("openwb-base-alert");return r(),i("div",l,[o(n,{subtype:"info"},{default:d(()=>[u(' Beim Anstecken des Fahrzeugs muss der aktuelle SoC über die Hauptseite angegeben werden. Anhand des Zählers im Ladepunkt wird dann der aktuelle SoC errechnet. Ausschlaggebend für die Qualität dieses Moduls sind die beiden Einstellungen "Kapazität der Batterie" in dem Fahrzeug-Profil und "Wirkungsgrad der Ladeelektronik". ')]),_:1})])}const v=a(c,[["render",p],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/vehicles/manual/vehicle.vue"]]);export{v as default}; diff --git a/web/settings/assets/vehicle-eda3e1da.js b/web/settings/assets/vehicle-7293dd85.js similarity index 95% rename from web/settings/assets/vehicle-eda3e1da.js rename to web/settings/assets/vehicle-7293dd85.js index 6d11119797..ec3d32df55 100644 --- a/web/settings/assets/vehicle-eda3e1da.js +++ b/web/settings/assets/vehicle-7293dd85.js @@ -1 +1 @@ -import{_ as l,q as s,k as p,l as c,B as r,M as a,x as u}from"./vendor-f0f38b48.js";import"./vendor-sortablejs-cbf37f8f.js";const m={name:"VehicleSocVwid",emits:["update:configuration"],props:{vehicleId:{required:!0,type:Number},vehicle:{required:!0,type:Object}},data(){return{}},methods:{updateConfiguration(d,e=void 0){this.$emit("update:configuration",{value:d,object:e})}}},v={class:"vehicle-soc-vwid"};function f(d,e,n,g,_,o){const i=s("openwb-base-text-input");return p(),c("div",v,[r(i,{title:"Benutzername",required:"",subtype:"user","model-value":n.vehicle.configuration.user_id,"onUpdate:modelValue":e[0]||(e[0]=t=>o.updateConfiguration(t,"configuration.user_id"))},{help:a(()=>[u(" Der Benutzername für die Anmeldung an den VW-Servern. ")]),_:1},8,["model-value"]),r(i,{title:"Kennwort",required:"",subtype:"password","model-value":n.vehicle.configuration.password,"onUpdate:modelValue":e[1]||(e[1]=t=>o.updateConfiguration(t,"configuration.password"))},{help:a(()=>[u(" Das Passwort für die Anmeldung an den VW-Servern. ")]),_:1},8,["model-value"]),r(i,{title:"VIN",required:"","model-value":n.vehicle.configuration.vin,"onUpdate:modelValue":e[2]||(e[2]=t=>o.updateConfiguration(t,"configuration.vin"))},{help:a(()=>[u(" Die Fahrgestellnummer des Fahrzeugs. ")]),_:1},8,["model-value"])])}const b=l(m,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/vehicles/vwid/vehicle.vue"]]);export{b as default}; +import{_ as l,q as s,k as p,l as c,B as r,M as a,x as u}from"./vendor-493c2bec.js";import"./vendor-sortablejs-0b339223.js";const m={name:"VehicleSocVwid",emits:["update:configuration"],props:{vehicleId:{required:!0,type:Number},vehicle:{required:!0,type:Object}},data(){return{}},methods:{updateConfiguration(d,e=void 0){this.$emit("update:configuration",{value:d,object:e})}}},v={class:"vehicle-soc-vwid"};function f(d,e,n,g,_,o){const i=s("openwb-base-text-input");return p(),c("div",v,[r(i,{title:"Benutzername",required:"",subtype:"user","model-value":n.vehicle.configuration.user_id,"onUpdate:modelValue":e[0]||(e[0]=t=>o.updateConfiguration(t,"configuration.user_id"))},{help:a(()=>[u(" Der Benutzername für die Anmeldung an den VW-Servern. ")]),_:1},8,["model-value"]),r(i,{title:"Kennwort",required:"",subtype:"password","model-value":n.vehicle.configuration.password,"onUpdate:modelValue":e[1]||(e[1]=t=>o.updateConfiguration(t,"configuration.password"))},{help:a(()=>[u(" Das Passwort für die Anmeldung an den VW-Servern. ")]),_:1},8,["model-value"]),r(i,{title:"VIN",required:"","model-value":n.vehicle.configuration.vin,"onUpdate:modelValue":e[2]||(e[2]=t=>o.updateConfiguration(t,"configuration.vin"))},{help:a(()=>[u(" Die Fahrgestellnummer des Fahrzeugs. ")]),_:1},8,["model-value"])])}const b=l(m,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/vehicles/vwid/vehicle.vue"]]);export{b as default}; diff --git a/web/settings/assets/vehicle-fff88f39.js b/web/settings/assets/vehicle-8701ca11.js similarity index 97% rename from web/settings/assets/vehicle-fff88f39.js rename to web/settings/assets/vehicle-8701ca11.js index efa1cdeeb2..f2ea05555a 100644 --- a/web/settings/assets/vehicle-fff88f39.js +++ b/web/settings/assets/vehicle-8701ca11.js @@ -1 +1 @@ -import{_ as c,q as d,k as p,l as g,B as u,M as a,x as n,u as f}from"./vendor-f0f38b48.js";import"./vendor-sortablejs-cbf37f8f.js";const b={name:"VehicleSocTronity",emits:["update:configuration"],props:{vehicleId:{required:!0,type:Number},vehicle:{required:!0,type:Object}},data(){return{}},methods:{updateConfiguration(r,e=void 0){this.$emit("update:configuration",{value:r,object:e})}}},_={class:"vehicle-soc-tronity"},m=f("br",null,null,-1);function h(r,e,i,v,C,o){const l=d("openwb-base-text-input"),s=d("openwb-base-button-group-input");return p(),g("div",_,[u(l,{title:"Vehicle ID",subtype:"text",required:"","model-value":i.vehicle.configuration.vehicle_id,"onUpdate:modelValue":e[0]||(e[0]=t=>o.updateConfiguration(t,"configuration.vehicle_id"))},{help:a(()=>[n(' Vehicle ID aus Tronity angeben. Diese ist in den "Assigned Vehicles" zu finden. ')]),_:1},8,["model-value"]),u(l,{title:"Client ID",subtype:"text",required:"","model-value":i.vehicle.configuration.client_id,"onUpdate:modelValue":e[1]||(e[1]=t=>o.updateConfiguration(t,"configuration.client_id"))},{help:a(()=>[n(' Client ID aus Tronity angeben. Diese ist in den "Application Settings" zu finden. ')]),_:1},8,["model-value"]),u(l,{title:"Client Secret",subtype:"password",required:"","model-value":i.vehicle.configuration.client_secret,"onUpdate:modelValue":e[2]||(e[2]=t=>o.updateConfiguration(t,"configuration.client_secret"))},{help:a(()=>[n(' Client Secret aus Tronity angeben. Diese ist in den "Application Settings" zu finden. Das Client Secret kann nur einmalig abgerufen werden. Ggf. neu erzeugen, womit frühere Client Secrets ungültig werden. ')]),_:1},8,["model-value"]),u(s,{title:"SoC während der Ladung berechnen",buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":i.vehicle.configuration.calculate_soc,"onUpdate:modelValue":e[3]||(e[3]=t=>o.updateConfiguration(t,"configuration.calculate_soc"))},{help:a(()=>[n(" Berechnet den Ladestand (SoC) während der Ladung. Dies ist notwendig, wenn der SoC nicht über die Schnittstelle des Fahrzeugs abgerufen werden kann. Die Berechnung erfolgt über die Ladeleistung und die Ladedauer. "),m,n(" Derzeit notwendig für Peugeot, Opel, Citroen und DS. ")]),_:1},8,["model-value"])])}const x=c(b,[["render",h],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/vehicles/tronity/vehicle.vue"]]);export{x as default}; +import{_ as c,q as d,k as p,l as g,B as u,M as a,x as n,u as f}from"./vendor-493c2bec.js";import"./vendor-sortablejs-0b339223.js";const b={name:"VehicleSocTronity",emits:["update:configuration"],props:{vehicleId:{required:!0,type:Number},vehicle:{required:!0,type:Object}},data(){return{}},methods:{updateConfiguration(r,e=void 0){this.$emit("update:configuration",{value:r,object:e})}}},_={class:"vehicle-soc-tronity"},m=f("br",null,null,-1);function h(r,e,i,v,C,o){const l=d("openwb-base-text-input"),s=d("openwb-base-button-group-input");return p(),g("div",_,[u(l,{title:"Vehicle ID",subtype:"text",required:"","model-value":i.vehicle.configuration.vehicle_id,"onUpdate:modelValue":e[0]||(e[0]=t=>o.updateConfiguration(t,"configuration.vehicle_id"))},{help:a(()=>[n(' Vehicle ID aus Tronity angeben. Diese ist in den "Assigned Vehicles" zu finden. ')]),_:1},8,["model-value"]),u(l,{title:"Client ID",subtype:"text",required:"","model-value":i.vehicle.configuration.client_id,"onUpdate:modelValue":e[1]||(e[1]=t=>o.updateConfiguration(t,"configuration.client_id"))},{help:a(()=>[n(' Client ID aus Tronity angeben. Diese ist in den "Application Settings" zu finden. ')]),_:1},8,["model-value"]),u(l,{title:"Client Secret",subtype:"password",required:"","model-value":i.vehicle.configuration.client_secret,"onUpdate:modelValue":e[2]||(e[2]=t=>o.updateConfiguration(t,"configuration.client_secret"))},{help:a(()=>[n(' Client Secret aus Tronity angeben. Diese ist in den "Application Settings" zu finden. Das Client Secret kann nur einmalig abgerufen werden. Ggf. neu erzeugen, womit frühere Client Secrets ungültig werden. ')]),_:1},8,["model-value"]),u(s,{title:"SoC während der Ladung berechnen",buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":i.vehicle.configuration.calculate_soc,"onUpdate:modelValue":e[3]||(e[3]=t=>o.updateConfiguration(t,"configuration.calculate_soc"))},{help:a(()=>[n(" Berechnet den Ladestand (SoC) während der Ladung. Dies ist notwendig, wenn der SoC nicht über die Schnittstelle des Fahrzeugs abgerufen werden kann. Die Berechnung erfolgt über die Ladeleistung und die Ladedauer. "),m,n(" Derzeit notwendig für Peugeot, Opel, Citroen und DS. ")]),_:1},8,["model-value"])])}const x=c(b,[["render",h],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/vehicles/tronity/vehicle.vue"]]);export{x as default}; diff --git a/web/settings/assets/vehicle-cec3e4fe.js b/web/settings/assets/vehicle-96abfd01.js similarity index 95% rename from web/settings/assets/vehicle-cec3e4fe.js rename to web/settings/assets/vehicle-96abfd01.js index ef759f3bb7..28163f3bae 100644 --- a/web/settings/assets/vehicle-cec3e4fe.js +++ b/web/settings/assets/vehicle-96abfd01.js @@ -1 +1 @@ -import{_ as l,q as s,k as c,l as p,B as i,M as r,x as u}from"./vendor-f0f38b48.js";import"./vendor-sortablejs-cbf37f8f.js";const m={name:"VehicleSocSkodaconnect",emits:["update:configuration"],props:{vehicleId:{required:!0,type:Number},vehicle:{required:!0,type:Object}},data(){return{}},methods:{updateConfiguration(d,e=void 0){this.$emit("update:configuration",{value:d,object:e})}}},v={class:"vehicle-soc-skodaconnect"};function f(d,e,t,g,_,o){const a=s("openwb-base-text-input");return c(),p("div",v,[i(a,{title:"Benutzername",required:"",subtype:"user","model-value":t.vehicle.configuration.user_id,"onUpdate:modelValue":e[0]||(e[0]=n=>o.updateConfiguration(n,"configuration.user_id"))},{help:r(()=>[u(" Der Benutzername für die Anmeldung an den SkodaConnect-Servern. ")]),_:1},8,["model-value"]),i(a,{title:"Kennwort",required:"",subtype:"password","model-value":t.vehicle.configuration.password,"onUpdate:modelValue":e[1]||(e[1]=n=>o.updateConfiguration(n,"configuration.password"))},{help:r(()=>[u(" Das Passwort für die Anmeldung an den SkodaConnect-Servern. ")]),_:1},8,["model-value"]),i(a,{title:"VIN",required:"","model-value":t.vehicle.configuration.vin,"onUpdate:modelValue":e[2]||(e[2]=n=>o.updateConfiguration(n,"configuration.vin"))},{help:r(()=>[u(" Die Fahrgestellnummer des Fahrzeugs. ")]),_:1},8,["model-value"])])}const w=l(m,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/vehicles/skodaconnect/vehicle.vue"]]);export{w as default}; +import{_ as l,q as s,k as c,l as p,B as i,M as r,x as u}from"./vendor-493c2bec.js";import"./vendor-sortablejs-0b339223.js";const m={name:"VehicleSocSkodaconnect",emits:["update:configuration"],props:{vehicleId:{required:!0,type:Number},vehicle:{required:!0,type:Object}},data(){return{}},methods:{updateConfiguration(d,e=void 0){this.$emit("update:configuration",{value:d,object:e})}}},v={class:"vehicle-soc-skodaconnect"};function f(d,e,t,g,_,o){const a=s("openwb-base-text-input");return c(),p("div",v,[i(a,{title:"Benutzername",required:"",subtype:"user","model-value":t.vehicle.configuration.user_id,"onUpdate:modelValue":e[0]||(e[0]=n=>o.updateConfiguration(n,"configuration.user_id"))},{help:r(()=>[u(" Der Benutzername für die Anmeldung an den SkodaConnect-Servern. ")]),_:1},8,["model-value"]),i(a,{title:"Kennwort",required:"",subtype:"password","model-value":t.vehicle.configuration.password,"onUpdate:modelValue":e[1]||(e[1]=n=>o.updateConfiguration(n,"configuration.password"))},{help:r(()=>[u(" Das Passwort für die Anmeldung an den SkodaConnect-Servern. ")]),_:1},8,["model-value"]),i(a,{title:"VIN",required:"","model-value":t.vehicle.configuration.vin,"onUpdate:modelValue":e[2]||(e[2]=n=>o.updateConfiguration(n,"configuration.vin"))},{help:r(()=>[u(" Die Fahrgestellnummer des Fahrzeugs. ")]),_:1},8,["model-value"])])}const w=l(m,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/vehicles/skodaconnect/vehicle.vue"]]);export{w as default}; diff --git a/web/settings/assets/vehicle-2eb1b3a8.js b/web/settings/assets/vehicle-9b43a910.js similarity index 89% rename from web/settings/assets/vehicle-2eb1b3a8.js rename to web/settings/assets/vehicle-9b43a910.js index cf0a32721f..4bc2a900cf 100644 --- a/web/settings/assets/vehicle-2eb1b3a8.js +++ b/web/settings/assets/vehicle-9b43a910.js @@ -1 +1 @@ -import{_ as d,q as l,k as c,l as s,B as i}from"./vendor-f0f38b48.js";import"./vendor-sortablejs-cbf37f8f.js";const p={name:"VehicleSocEvnotify",emits:["update:configuration"],props:{vehicleId:{required:!0,type:Number},vehicle:{required:!0,type:Object}},data(){return{}},methods:{updateConfiguration(u,e=void 0){this.$emit("update:configuration",{value:u,object:e})}}},m={class:"vehicle-soc-evnotify"};function f(u,e,n,v,_,o){const r=l("openwb-base-number-input"),a=l("openwb-base-text-input");return c(),s("div",m,[i(r,{title:"ID",required:"",min:0,"model-value":n.vehicle.configuration.id,"onUpdate:modelValue":e[0]||(e[0]=t=>o.updateConfiguration(t,"configuration.id"))},null,8,["model-value"]),i(a,{title:"AKey",required:"","model-value":n.vehicle.configuration.akey,"onUpdate:modelValue":e[1]||(e[1]=t=>o.updateConfiguration(t,"configuration.akey"))},null,8,["model-value"]),i(a,{title:"Token",required:"","model-value":n.vehicle.configuration.token,"onUpdate:modelValue":e[2]||(e[2]=t=>o.updateConfiguration(t,"configuration.token"))},null,8,["model-value"])])}const h=d(p,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/vehicles/evnotify/vehicle.vue"]]);export{h as default}; +import{_ as d,q as l,k as c,l as s,B as i}from"./vendor-493c2bec.js";import"./vendor-sortablejs-0b339223.js";const p={name:"VehicleSocEvnotify",emits:["update:configuration"],props:{vehicleId:{required:!0,type:Number},vehicle:{required:!0,type:Object}},data(){return{}},methods:{updateConfiguration(u,e=void 0){this.$emit("update:configuration",{value:u,object:e})}}},m={class:"vehicle-soc-evnotify"};function f(u,e,n,v,_,o){const r=l("openwb-base-number-input"),a=l("openwb-base-text-input");return c(),s("div",m,[i(r,{title:"ID",required:"",min:0,"model-value":n.vehicle.configuration.id,"onUpdate:modelValue":e[0]||(e[0]=t=>o.updateConfiguration(t,"configuration.id"))},null,8,["model-value"]),i(a,{title:"AKey",required:"","model-value":n.vehicle.configuration.akey,"onUpdate:modelValue":e[1]||(e[1]=t=>o.updateConfiguration(t,"configuration.akey"))},null,8,["model-value"]),i(a,{title:"Token",required:"","model-value":n.vehicle.configuration.token,"onUpdate:modelValue":e[2]||(e[2]=t=>o.updateConfiguration(t,"configuration.token"))},null,8,["model-value"])])}const h=d(p,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/vehicles/evnotify/vehicle.vue"]]);export{h as default}; diff --git a/web/settings/assets/vehicle-90519bcb.js b/web/settings/assets/vehicle-a1ca66bc.js similarity index 97% rename from web/settings/assets/vehicle-90519bcb.js rename to web/settings/assets/vehicle-a1ca66bc.js index 80acd17b79..1f5413b54c 100644 --- a/web/settings/assets/vehicle-90519bcb.js +++ b/web/settings/assets/vehicle-a1ca66bc.js @@ -1 +1 @@ -import{_ as v,q as s,k as p,l as c,B as n,M as u,x as l}from"./vendor-f0f38b48.js";import"./vendor-sortablejs-cbf37f8f.js";const m={name:"VehicleSocEVCC",emits:["update:configuration"],props:{vehicleId:{required:!0,type:Number},vehicle:{required:!0,type:Object}},data(){return{}},methods:{updateConfiguration(r,e=void 0){this.$emit("update:configuration",{value:r,object:e})}}},x={class:"vehicle-soc-evcc"};function g(r,e,a,f,h,o){const i=s("openwb-base-text-input"),d=s("openwb-base-select-input");return p(),c("div",x,[n(i,{title:"EVCC Sponsor Token",subtype:"password",required:"","model-value":a.vehicle.configuration.sponsor_token,"onUpdate:modelValue":e[0]||(e[0]=t=>o.updateConfiguration(t,"configuration.sponsor_token"))},{help:u(()=>[l(" EVCC Sponsor Token angeben, dies ist notwendig um SoC über EVCC abrufen zu können. https://sponsor.evcc.io/ ")]),_:1},8,["model-value"]),n(i,{title:"Benutzername",subtype:"text",required:"","model-value":a.vehicle.configuration.user_id,"onUpdate:modelValue":e[1]||(e[1]=t=>o.updateConfiguration(t,"configuration.user_id"))},{help:u(()=>[l(" Benutzername beim Fahrzeughersteller. ")]),_:1},8,["model-value"]),n(i,{title:"Kennwort",subtype:"password",required:"","model-value":a.vehicle.configuration.password,"onUpdate:modelValue":e[2]||(e[2]=t=>o.updateConfiguration(t,"configuration.password"))},{help:u(()=>[l(" Kennwort beim Fahrzeughersteller. ")]),_:1},8,["model-value"]),n(d,{title:"Marke",required:"",notSelected:"Bitte auswählen",options:[{value:"aiways",text:"Aiways"},{value:"audi",text:"Audi"},{value:"etron",text:"Audi e-tron"},{value:"bmw",text:"BMW"},{value:"dacia",text:"Dacia"},{value:"fiat",text:"Fiat"},{value:"ford",text:"Ford"},{value:"hyundai",text:"Hyundai"},{value:"jaguar",text:"Jaguar"},{value:"kia",text:"Kia"},{value:"landrover",text:"Landrover"},{value:"mg",text:"Mg"},{value:"mini",text:"Mini"},{value:"nissan",text:"Nissan"},{value:"carwings",text:"Nissan (Leaf pre 2019)"},{value:"ovms",text:"OVMS"},{value:"polestar",text:"Polestar"},{value:"porsche",text:"Porsche"},{value:"renault",text:"Renault"},{value:"seat",text:"Seat"},{value:"cupra",text:"Seat Cupra"},{value:"skoda",text:"Škoda"},{value:"enyaq",text:"Škoda Enyaq"},{value:"smart",text:"Smart"},{value:"smart-hello",text:"Smart-Hello"},{value:"template",text:"Template"},{value:"volvo",text:"Volvo"},{value:"volvo-connected",text:"Volvo-Connected"},{value:"vw",text:"VW"},{value:"id",text:"VW ID"}],"model-value":a.vehicle.configuration.vehicle_type,"onUpdate:modelValue":e[3]||(e[3]=t=>o.updateConfiguration(t,"configuration.vehicle_type"))},{help:u(()=>[l(" Marke aus des Fahrzeugs.")]),_:1},8,["options","model-value"]),n(i,{title:"VIN",subtype:"text","model-value":a.vehicle.configuration.VIN,"onUpdate:modelValue":e[4]||(e[4]=t=>o.updateConfiguration(t,"configuration.VIN"))},{help:u(()=>[l(" Fahrgestellnummer (VIN) des Fahrzeugs. Notwendig falls mehrere Fahrzeuge im Account des Herstellers vorhanden sind. ")]),_:1},8,["model-value"])])}const V=v(m,[["render",g],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/vehicles/evcc/vehicle.vue"]]);export{V as default}; +import{_ as v,q as s,k as p,l as c,B as n,M as u,x as l}from"./vendor-493c2bec.js";import"./vendor-sortablejs-0b339223.js";const m={name:"VehicleSocEVCC",emits:["update:configuration"],props:{vehicleId:{required:!0,type:Number},vehicle:{required:!0,type:Object}},data(){return{}},methods:{updateConfiguration(r,e=void 0){this.$emit("update:configuration",{value:r,object:e})}}},x={class:"vehicle-soc-evcc"};function g(r,e,a,f,h,o){const i=s("openwb-base-text-input"),d=s("openwb-base-select-input");return p(),c("div",x,[n(i,{title:"EVCC Sponsor Token",subtype:"password",required:"","model-value":a.vehicle.configuration.sponsor_token,"onUpdate:modelValue":e[0]||(e[0]=t=>o.updateConfiguration(t,"configuration.sponsor_token"))},{help:u(()=>[l(" EVCC Sponsor Token angeben, dies ist notwendig um SoC über EVCC abrufen zu können. https://sponsor.evcc.io/ ")]),_:1},8,["model-value"]),n(i,{title:"Benutzername",subtype:"text",required:"","model-value":a.vehicle.configuration.user_id,"onUpdate:modelValue":e[1]||(e[1]=t=>o.updateConfiguration(t,"configuration.user_id"))},{help:u(()=>[l(" Benutzername beim Fahrzeughersteller. ")]),_:1},8,["model-value"]),n(i,{title:"Kennwort",subtype:"password",required:"","model-value":a.vehicle.configuration.password,"onUpdate:modelValue":e[2]||(e[2]=t=>o.updateConfiguration(t,"configuration.password"))},{help:u(()=>[l(" Kennwort beim Fahrzeughersteller. ")]),_:1},8,["model-value"]),n(d,{title:"Marke",required:"",notSelected:"Bitte auswählen",options:[{value:"aiways",text:"Aiways"},{value:"audi",text:"Audi"},{value:"etron",text:"Audi e-tron"},{value:"bmw",text:"BMW"},{value:"dacia",text:"Dacia"},{value:"fiat",text:"Fiat"},{value:"ford",text:"Ford"},{value:"hyundai",text:"Hyundai"},{value:"jaguar",text:"Jaguar"},{value:"kia",text:"Kia"},{value:"landrover",text:"Landrover"},{value:"mg",text:"Mg"},{value:"mini",text:"Mini"},{value:"nissan",text:"Nissan"},{value:"carwings",text:"Nissan (Leaf pre 2019)"},{value:"ovms",text:"OVMS"},{value:"polestar",text:"Polestar"},{value:"porsche",text:"Porsche"},{value:"renault",text:"Renault"},{value:"seat",text:"Seat"},{value:"cupra",text:"Seat Cupra"},{value:"skoda",text:"Škoda"},{value:"enyaq",text:"Škoda Enyaq"},{value:"smart",text:"Smart"},{value:"smart-hello",text:"Smart-Hello"},{value:"template",text:"Template"},{value:"volvo",text:"Volvo"},{value:"volvo-connected",text:"Volvo-Connected"},{value:"vw",text:"VW"},{value:"id",text:"VW ID"}],"model-value":a.vehicle.configuration.vehicle_type,"onUpdate:modelValue":e[3]||(e[3]=t=>o.updateConfiguration(t,"configuration.vehicle_type"))},{help:u(()=>[l(" Marke aus des Fahrzeugs.")]),_:1},8,["options","model-value"]),n(i,{title:"VIN",subtype:"text","model-value":a.vehicle.configuration.VIN,"onUpdate:modelValue":e[4]||(e[4]=t=>o.updateConfiguration(t,"configuration.VIN"))},{help:u(()=>[l(" Fahrgestellnummer (VIN) des Fahrzeugs. Notwendig falls mehrere Fahrzeuge im Account des Herstellers vorhanden sind. ")]),_:1},8,["model-value"])])}const V=v(m,[["render",g],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/vehicles/evcc/vehicle.vue"]]);export{V as default}; diff --git a/web/settings/assets/vehicle-645f20ff.js b/web/settings/assets/vehicle-a6d66396.js similarity index 97% rename from web/settings/assets/vehicle-645f20ff.js rename to web/settings/assets/vehicle-a6d66396.js index 0719a396c8..7a84b2b5bf 100644 --- a/web/settings/assets/vehicle-645f20ff.js +++ b/web/settings/assets/vehicle-a6d66396.js @@ -1 +1 @@ -import{_ as b,q as r,k as m,l as h,B as i,M as o,x as t,y as g,u}from"./vendor-f0f38b48.js";import"./vendor-sortablejs-cbf37f8f.js";const v={name:"VehicleSocMercedesEq",emits:["update:configuration"],props:{vehicleId:{required:!0,type:Number},vehicle:{required:!0,type:Object}},data(){return{}},computed:{callback_url(){return`${location.origin}/openWB/web/settings/modules/vehicles/mercedeseq/callback_vehicle.php`},login_url(){return`https://ssoalpha.dvb.corpinter.net/v1/auth?response_type=code&state=${this.vehicleId}&client_id=${this.vehicle.configuration.client_id}&redirect_uri=${this.callback_url}&scope=mb:vehicle:mbdata:evstatus%20offline_access%20openid`},input_complete(){return this.vehicle.configuration.client_id&&this.vehicle.configuration.client_secret&&this.vehicle.configuration.vin}},methods:{updateConfiguration(s,e=void 0){this.$emit("update:configuration",{value:s,object:e})},login_window(){console.debug("callback url",this.callback_url),console.debug("login url",this.login_url);var s=window.open(this.login_url,"MercedesLogin","width=800,height=600,status=yes,scrollbars=yes,resizable=yes");s.focus()}}},f={class:"vehicle-soc-mercedeseq"},w=u("br",null,null,-1),k=u("br",null,null,-1),y=u("br",null,null,-1);function C(s,e,a,q,x,n){const c=r("openwb-base-text-input"),d=r("openwb-base-copy-to-clipboard"),p=r("openwb-base-alert"),_=r("openwb-base-button-input");return m(),h("div",f,[i(c,{title:"Client-ID",required:"",subtype:"user","model-value":a.vehicle.configuration.client_id,"onUpdate:modelValue":e[0]||(e[0]=l=>n.updateConfiguration(l,"configuration.client_id"))},{help:o(()=>[t(" Die im Developer Portal angelegte Client-ID. ")]),_:1},8,["model-value"]),i(c,{title:"Client Secret",required:"",subtype:"password","model-value":a.vehicle.configuration.client_secret,"onUpdate:modelValue":e[1]||(e[1]=l=>n.updateConfiguration(l,"configuration.client_secret"))},{help:o(()=>[t(" Das im Developer Portal angelegte Client Secret. ")]),_:1},8,["model-value"]),i(c,{title:"VIN",required:"","model-value":a.vehicle.configuration.vin,"onUpdate:modelValue":e[2]||(e[2]=l=>n.updateConfiguration(l,"configuration.vin"))},{help:o(()=>[t(" Die Fahrgestellnummer des Fahrzeugs. ")]),_:1},8,["model-value"]),i(p,{subtype:"info"},{default:o(()=>[t(" Vor dem Anmelden bitte die Angaben speichern."),w,t(" Die Callback-URL für die Anmeldung lautet:"),k,i(d,{class:"text-info",tooltip:"URL kopieren"},{default:o(()=>[t(g(n.callback_url),1)]),_:1})]),_:1}),i(_,{title:"Anmelden",buttonText:"Bei Mercedes Anmelden",subtype:"success",disabled:!n.input_complete,onButtonClicked:n.login_window},{help:o(()=>[t(" Es wird ein neues Browserfenster geöffnet, in dem Sie sich bei Mercedes mit Ihren Zugangsdaten anmelden können."),y]),_:1},8,["disabled","onButtonClicked"])])}const V=b(v,[["render",C],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/vehicles/mercedeseq/vehicle.vue"]]);export{V as default}; +import{_ as b,q as r,k as m,l as h,B as i,M as o,x as t,y as g,u}from"./vendor-493c2bec.js";import"./vendor-sortablejs-0b339223.js";const v={name:"VehicleSocMercedesEq",emits:["update:configuration"],props:{vehicleId:{required:!0,type:Number},vehicle:{required:!0,type:Object}},data(){return{}},computed:{callback_url(){return`${location.origin}/openWB/web/settings/modules/vehicles/mercedeseq/callback_vehicle.php`},login_url(){return`https://ssoalpha.dvb.corpinter.net/v1/auth?response_type=code&state=${this.vehicleId}&client_id=${this.vehicle.configuration.client_id}&redirect_uri=${this.callback_url}&scope=mb:vehicle:mbdata:evstatus%20offline_access%20openid`},input_complete(){return this.vehicle.configuration.client_id&&this.vehicle.configuration.client_secret&&this.vehicle.configuration.vin}},methods:{updateConfiguration(s,e=void 0){this.$emit("update:configuration",{value:s,object:e})},login_window(){console.debug("callback url",this.callback_url),console.debug("login url",this.login_url);var s=window.open(this.login_url,"MercedesLogin","width=800,height=600,status=yes,scrollbars=yes,resizable=yes");s.focus()}}},f={class:"vehicle-soc-mercedeseq"},w=u("br",null,null,-1),k=u("br",null,null,-1),y=u("br",null,null,-1);function C(s,e,a,q,x,n){const c=r("openwb-base-text-input"),d=r("openwb-base-copy-to-clipboard"),p=r("openwb-base-alert"),_=r("openwb-base-button-input");return m(),h("div",f,[i(c,{title:"Client-ID",required:"",subtype:"user","model-value":a.vehicle.configuration.client_id,"onUpdate:modelValue":e[0]||(e[0]=l=>n.updateConfiguration(l,"configuration.client_id"))},{help:o(()=>[t(" Die im Developer Portal angelegte Client-ID. ")]),_:1},8,["model-value"]),i(c,{title:"Client Secret",required:"",subtype:"password","model-value":a.vehicle.configuration.client_secret,"onUpdate:modelValue":e[1]||(e[1]=l=>n.updateConfiguration(l,"configuration.client_secret"))},{help:o(()=>[t(" Das im Developer Portal angelegte Client Secret. ")]),_:1},8,["model-value"]),i(c,{title:"VIN",required:"","model-value":a.vehicle.configuration.vin,"onUpdate:modelValue":e[2]||(e[2]=l=>n.updateConfiguration(l,"configuration.vin"))},{help:o(()=>[t(" Die Fahrgestellnummer des Fahrzeugs. ")]),_:1},8,["model-value"]),i(p,{subtype:"info"},{default:o(()=>[t(" Vor dem Anmelden bitte die Angaben speichern."),w,t(" Die Callback-URL für die Anmeldung lautet:"),k,i(d,{class:"text-info",tooltip:"URL kopieren"},{default:o(()=>[t(g(n.callback_url),1)]),_:1})]),_:1}),i(_,{title:"Anmelden",buttonText:"Bei Mercedes Anmelden",subtype:"success",disabled:!n.input_complete,onButtonClicked:n.login_window},{help:o(()=>[t(" Es wird ein neues Browserfenster geöffnet, in dem Sie sich bei Mercedes mit Ihren Zugangsdaten anmelden können."),y]),_:1},8,["disabled","onButtonClicked"])])}const V=b(v,[["render",C],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/vehicles/mercedeseq/vehicle.vue"]]);export{V as default}; diff --git a/web/settings/assets/vehicle-6923685e.js b/web/settings/assets/vehicle-b19dd809.js similarity index 96% rename from web/settings/assets/vehicle-6923685e.js rename to web/settings/assets/vehicle-b19dd809.js index 479581a5b2..b399279791 100644 --- a/web/settings/assets/vehicle-6923685e.js +++ b/web/settings/assets/vehicle-b19dd809.js @@ -1 +1 @@ -import{_ as l,q as s,k as p,l as m,B as r,M as a,x as u}from"./vendor-f0f38b48.js";import"./vendor-sortablejs-cbf37f8f.js";const c={name:"VehicleSocKia",emits:["update:configuration"],props:{vehicleId:{required:!0,type:Number},vehicle:{required:!0,type:Object}},data(){return{}},methods:{updateConfiguration(d,e=void 0){this.$emit("update:configuration",{value:d,object:e})}}},v={class:"vehicle-soc-kia"};function f(d,e,t,g,_,i){const o=s("openwb-base-text-input");return p(),m("div",v,[r(o,{title:"Benutzername",required:"",subtype:"user","model-value":t.vehicle.configuration.user_id,"onUpdate:modelValue":e[0]||(e[0]=n=>i.updateConfiguration(n,"configuration.user_id"))},{help:a(()=>[u(" Der Benutzername für die Anmeldung an den Servern. ")]),_:1},8,["model-value"]),r(o,{title:"Kennwort",required:"",subtype:"password","model-value":t.vehicle.configuration.password,"onUpdate:modelValue":e[1]||(e[1]=n=>i.updateConfiguration(n,"configuration.password"))},{help:a(()=>[u(" Das Passwort für die Anmeldung an den Servern. ")]),_:1},8,["model-value"]),r(o,{title:"PIN",required:"",subtype:"password","model-value":t.vehicle.configuration.pin,"onUpdate:modelValue":e[2]||(e[2]=n=>i.updateConfiguration(n,"configuration.pin"))},{help:a(()=>[u(" Die PIN für die Anmeldung an den Servern. ")]),_:1},8,["model-value"]),r(o,{title:"VIN",required:"","model-value":t.vehicle.configuration.vin,"onUpdate:modelValue":e[3]||(e[3]=n=>i.updateConfiguration(n,"configuration.vin"))},{help:a(()=>[u(" Die Fahrgestellnummer des Fahrzeugs. ")]),_:1},8,["model-value"])])}const w=l(c,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/vehicles/kia/vehicle.vue"]]);export{w as default}; +import{_ as l,q as s,k as p,l as m,B as r,M as a,x as u}from"./vendor-493c2bec.js";import"./vendor-sortablejs-0b339223.js";const c={name:"VehicleSocKia",emits:["update:configuration"],props:{vehicleId:{required:!0,type:Number},vehicle:{required:!0,type:Object}},data(){return{}},methods:{updateConfiguration(d,e=void 0){this.$emit("update:configuration",{value:d,object:e})}}},v={class:"vehicle-soc-kia"};function f(d,e,t,g,_,i){const o=s("openwb-base-text-input");return p(),m("div",v,[r(o,{title:"Benutzername",required:"",subtype:"user","model-value":t.vehicle.configuration.user_id,"onUpdate:modelValue":e[0]||(e[0]=n=>i.updateConfiguration(n,"configuration.user_id"))},{help:a(()=>[u(" Der Benutzername für die Anmeldung an den Servern. ")]),_:1},8,["model-value"]),r(o,{title:"Kennwort",required:"",subtype:"password","model-value":t.vehicle.configuration.password,"onUpdate:modelValue":e[1]||(e[1]=n=>i.updateConfiguration(n,"configuration.password"))},{help:a(()=>[u(" Das Passwort für die Anmeldung an den Servern. ")]),_:1},8,["model-value"]),r(o,{title:"PIN",required:"",subtype:"password","model-value":t.vehicle.configuration.pin,"onUpdate:modelValue":e[2]||(e[2]=n=>i.updateConfiguration(n,"configuration.pin"))},{help:a(()=>[u(" Die PIN für die Anmeldung an den Servern. ")]),_:1},8,["model-value"]),r(o,{title:"VIN",required:"","model-value":t.vehicle.configuration.vin,"onUpdate:modelValue":e[3]||(e[3]=n=>i.updateConfiguration(n,"configuration.vin"))},{help:a(()=>[u(" Die Fahrgestellnummer des Fahrzeugs. ")]),_:1},8,["model-value"])])}const w=l(c,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/vehicles/kia/vehicle.vue"]]);export{w as default}; diff --git a/web/settings/assets/vehicle-def77d96.js b/web/settings/assets/vehicle-bc5b9266.js similarity index 94% rename from web/settings/assets/vehicle-def77d96.js rename to web/settings/assets/vehicle-bc5b9266.js index bb0d2a64cb..fe17450b3f 100644 --- a/web/settings/assets/vehicle-def77d96.js +++ b/web/settings/assets/vehicle-bc5b9266.js @@ -1 +1 @@ -import{_ as m,a5 as p,a6 as g,a7 as f,q as l,k as b,l as k,B as a,M as s,x as r,u as v}from"./vendor-f0f38b48.js";import{a as w}from"./vendor-axios-e59ef189.js";import{C as y}from"./index-131a952e.js";import"./vendor-sortablejs-cbf37f8f.js";import"./vendor-fortawesome-9fdc06a9.js";import"./vendor-bootstrap-384bc385.js";import"./vendor-jquery-8576ed22.js";const C={name:"VehicleSocTesla",emits:["update:configuration"],props:{vehicleId:{required:!0,type:Number},vehicle:{required:!0,type:Object}},data(){return{tesla_api_oauth2:"https://auth.tesla.com/oauth2/v3",tesla_api_redirect:"https://auth.tesla.com/void/callback",tesla_api_owners:"https://owner-api.teslamotors.com/oauth/token",user_agent:"Mozilla/5.0 (iPhone; CPU iPhone OS 14_7_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148",code_challenge:null,code_verifier:null,page_not_found_url:null}},mixins:[y],methods:{updateConfiguration(e,n=void 0){this.$emit("update:configuration",{value:e,object:n})},tesla_login_window(){this.tesla_gen_challenge();var e=window.open(this.tesla_gen_url(),"TeslaLogin","width=800,height=600,status=yes,scrollbars=yes,resizable=yes");e.focus()},tesla_gen_challenge(){this.code_verifier=p.encode(g.randomBytes(86)).replace(/[^a-zA-Z0-9]/gi,"").substring(0,86);const e=g.createHash("sha256").update(this.code_verifier).digest();this.code_challenge=p.encode(e),console.debug(this.code_verifier,this.code_verifier.length,this.code_challenge,this.code_challenge.length)},tesla_gen_url(){const e=new URL(this.tesla_api_oauth2+"/authorize/");return e.searchParams.append("client_id","ownerapi"),e.searchParams.append("code_challenge",this.code_challenge),e.searchParams.append("code_challenge_method","S256"),e.searchParams.append("redirect_uri",this.tesla_api_redirect),e.searchParams.append("response_type","code"),e.searchParams.append("scope","openid email offline_access"),e.searchParams.append("state","myteslaapp"),e},async tesla_login(){const e=f.parse(this.page_not_found_url,!0).query;if(console.debug("queryObject",e),!e.code){console.error("Something is wrong... Code does not exist in URL"),this.$root.postClientMessage("Die eingegebene URL ist ungültig.","danger");return}const n={url:this.tesla_api_owners,user_agent:this.user_agent,data:{grant_type:"authorization_code",client_id:"ownerapi",code:e.code,code_verifier:this.code_verifier,redirect_uri:this.tesla_api_redirect}};try{const t=await w.post(location.protocol+"//"+location.host+"/openWB/web/settings/modules/vehicles/tesla/tesla.php",JSON.parse(JSON.stringify(n)),{headers:{"Content-Type":"application/json",Accept:"application/json"}});console.debug("response",t),this.updateConfiguration({access_token:t.data.access_token,refresh_token:t.data.refresh_token,created_at:t.data.created_at,expires_in:t.data.expires_in},"configuration.token"),this.$root.postClientMessage("Token erfolgreich abgerufen.","success")}catch(t){console.error(t),this.$root.postClientMessage("Beim Abruf der Token ist ein Fehler aufgetreten!
"+t+"
","danger")}}}},T={class:"vehicle-soc-tesla"},x=v("hr",null,null,-1);function B(e,n,t,U,u,i){const d=l("openwb-base-number-input"),h=l("openwb-base-heading"),_=l("openwb-base-button-input"),c=l("openwb-base-text-input");return b(),k("div",T,[a(d,{title:"Fahrzeug-ID",required:"",min:0,"model-value":t.vehicle.configuration.tesla_ev_num,"onUpdate:modelValue":n[0]||(n[0]=o=>i.updateConfiguration(o,"configuration.tesla_ev_num"))},{help:s(()=>[r(' Die ID des Fahrzeugs bei Tesla. Normalerweise "0" bei nur einem Fahrzeug im Konto. ')]),_:1},8,["model-value"]),a(h,null,{default:s(()=>[r("Token abrufen oder eingeben")]),_:1}),a(_,{title:"1. Anmelden",buttonText:"Bei Tesla Anmelden",subtype:"success",onButtonClicked:i.tesla_login_window},{help:s(()=>[r(" Es wird ein neues Browserfenster geöffnet, in dem Sie sich bei Tesla mit Ihren Zugangsdaten anmelden können. ")]),_:1},8,["onButtonClicked"]),a(c,{title:"2. URL kopieren und einfügen",subtype:"url",emptyValue:null,modelValue:u.page_not_found_url,"onUpdate:modelValue":n[1]||(n[1]=o=>u.page_not_found_url=o)},{help:s(()=>[r(' Hier die komplette URL (Text in der Adresszeile) aus dem geöffneten Browserfenster einfügen, wenn dort "Page Not Found" angezeigt wird. ')]),_:1},8,["modelValue"]),a(_,{title:"3. Token abrufen",buttonText:"Jetzt abrufen",subtype:"success",disabled:u.page_not_found_url===null,onButtonClicked:i.tesla_login},{help:s(()=>[r(" Der in der eingegebenen URL enthaltene Code wird genutzt, um ein Anmeldetoken bei Tesla abzurufen. Ist dies erfolgreich, so werden die Daten des Token in den weiteren Feldern automatisch eingegeben. ")]),_:1},8,["disabled","onButtonClicked"]),x,a(c,{title:"Access Token",pattern:"^(ey).*",required:"","model-value":t.vehicle.configuration.token?t.vehicle.configuration.token.access_token:"","onUpdate:modelValue":n[2]||(n[2]=o=>i.updateConfiguration(o,"configuration.token.access_token"))},null,8,["model-value"]),a(c,{title:"Refresh Token",pattern:"^(ey).*",required:"","model-value":t.vehicle.configuration.token?t.vehicle.configuration.token.refresh_token:"","onUpdate:modelValue":n[3]||(n[3]=o=>i.updateConfiguration(o,"configuration.token.refresh_token"))},null,8,["model-value"]),a(d,{title:"Erstellt um",required:"","model-value":t.vehicle.configuration.token?t.vehicle.configuration.token.created_at:0,"onUpdate:modelValue":n[4]||(n[4]=o=>i.updateConfiguration(o,"configuration.token.created_at"))},{help:s(()=>[r(" Unix Timestamp des Zeitpunktes, an dem das Token erzeugt wurde. ")]),_:1},8,["model-value"]),a(d,{title:"Ungültig in",unit:"s",required:"","model-value":t.vehicle.configuration.token?t.vehicle.configuration.token.expires_in:0,"onUpdate:modelValue":n[5]||(n[5]=o=>i.updateConfiguration(o,"configuration.token.expires_in"))},{help:s(()=>[r(" Zeitspanne in Sekunden, nach der das Token ungültig wird. ")]),_:1},8,["model-value"])])}const M=m(C,[["render",B],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/vehicles/tesla/vehicle.vue"]]);export{M as default}; +import{_ as m,a5 as p,a6 as g,a7 as f,q as l,k as b,l as k,B as a,M as s,x as r,u as v}from"./vendor-493c2bec.js";import{a as w}from"./vendor-axios-b1ba123b.js";import{C as y}from"./index-eaa58995.js";import"./vendor-sortablejs-0b339223.js";import"./vendor-fortawesome-542fe04f.js";import"./vendor-bootstrap-a615942d.js";import"./vendor-jquery-a64a4809.js";const C={name:"VehicleSocTesla",emits:["update:configuration"],props:{vehicleId:{required:!0,type:Number},vehicle:{required:!0,type:Object}},data(){return{tesla_api_oauth2:"https://auth.tesla.com/oauth2/v3",tesla_api_redirect:"https://auth.tesla.com/void/callback",tesla_api_owners:"https://owner-api.teslamotors.com/oauth/token",user_agent:"Mozilla/5.0 (iPhone; CPU iPhone OS 14_7_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148",code_challenge:null,code_verifier:null,page_not_found_url:null}},mixins:[y],methods:{updateConfiguration(e,n=void 0){this.$emit("update:configuration",{value:e,object:n})},tesla_login_window(){this.tesla_gen_challenge();var e=window.open(this.tesla_gen_url(),"TeslaLogin","width=800,height=600,status=yes,scrollbars=yes,resizable=yes");e.focus()},tesla_gen_challenge(){this.code_verifier=p.encode(g.randomBytes(86)).replace(/[^a-zA-Z0-9]/gi,"").substring(0,86);const e=g.createHash("sha256").update(this.code_verifier).digest();this.code_challenge=p.encode(e),console.debug(this.code_verifier,this.code_verifier.length,this.code_challenge,this.code_challenge.length)},tesla_gen_url(){const e=new URL(this.tesla_api_oauth2+"/authorize/");return e.searchParams.append("client_id","ownerapi"),e.searchParams.append("code_challenge",this.code_challenge),e.searchParams.append("code_challenge_method","S256"),e.searchParams.append("redirect_uri",this.tesla_api_redirect),e.searchParams.append("response_type","code"),e.searchParams.append("scope","openid email offline_access"),e.searchParams.append("state","myteslaapp"),e},async tesla_login(){const e=f.parse(this.page_not_found_url,!0).query;if(console.debug("queryObject",e),!e.code){console.error("Something is wrong... Code does not exist in URL"),this.$root.postClientMessage("Die eingegebene URL ist ungültig.","danger");return}const n={url:this.tesla_api_owners,user_agent:this.user_agent,data:{grant_type:"authorization_code",client_id:"ownerapi",code:e.code,code_verifier:this.code_verifier,redirect_uri:this.tesla_api_redirect}};try{const t=await w.post(location.protocol+"//"+location.host+"/openWB/web/settings/modules/vehicles/tesla/tesla.php",JSON.parse(JSON.stringify(n)),{headers:{"Content-Type":"application/json",Accept:"application/json"}});console.debug("response",t),this.updateConfiguration({access_token:t.data.access_token,refresh_token:t.data.refresh_token,created_at:t.data.created_at,expires_in:t.data.expires_in},"configuration.token"),this.$root.postClientMessage("Token erfolgreich abgerufen.","success")}catch(t){console.error(t),this.$root.postClientMessage("Beim Abruf der Token ist ein Fehler aufgetreten!
"+t+"
","danger")}}}},T={class:"vehicle-soc-tesla"},x=v("hr",null,null,-1);function B(e,n,t,U,u,i){const d=l("openwb-base-number-input"),h=l("openwb-base-heading"),_=l("openwb-base-button-input"),c=l("openwb-base-text-input");return b(),k("div",T,[a(d,{title:"Fahrzeug-ID",required:"",min:0,"model-value":t.vehicle.configuration.tesla_ev_num,"onUpdate:modelValue":n[0]||(n[0]=o=>i.updateConfiguration(o,"configuration.tesla_ev_num"))},{help:s(()=>[r(' Die ID des Fahrzeugs bei Tesla. Normalerweise "0" bei nur einem Fahrzeug im Konto. ')]),_:1},8,["model-value"]),a(h,null,{default:s(()=>[r("Token abrufen oder eingeben")]),_:1}),a(_,{title:"1. Anmelden",buttonText:"Bei Tesla Anmelden",subtype:"success",onButtonClicked:i.tesla_login_window},{help:s(()=>[r(" Es wird ein neues Browserfenster geöffnet, in dem Sie sich bei Tesla mit Ihren Zugangsdaten anmelden können. ")]),_:1},8,["onButtonClicked"]),a(c,{title:"2. URL kopieren und einfügen",subtype:"url",emptyValue:null,modelValue:u.page_not_found_url,"onUpdate:modelValue":n[1]||(n[1]=o=>u.page_not_found_url=o)},{help:s(()=>[r(' Hier die komplette URL (Text in der Adresszeile) aus dem geöffneten Browserfenster einfügen, wenn dort "Page Not Found" angezeigt wird. ')]),_:1},8,["modelValue"]),a(_,{title:"3. Token abrufen",buttonText:"Jetzt abrufen",subtype:"success",disabled:u.page_not_found_url===null,onButtonClicked:i.tesla_login},{help:s(()=>[r(" Der in der eingegebenen URL enthaltene Code wird genutzt, um ein Anmeldetoken bei Tesla abzurufen. Ist dies erfolgreich, so werden die Daten des Token in den weiteren Feldern automatisch eingegeben. ")]),_:1},8,["disabled","onButtonClicked"]),x,a(c,{title:"Access Token",pattern:"^(ey).*",required:"","model-value":t.vehicle.configuration.token?t.vehicle.configuration.token.access_token:"","onUpdate:modelValue":n[2]||(n[2]=o=>i.updateConfiguration(o,"configuration.token.access_token"))},null,8,["model-value"]),a(c,{title:"Refresh Token",pattern:"^(ey).*",required:"","model-value":t.vehicle.configuration.token?t.vehicle.configuration.token.refresh_token:"","onUpdate:modelValue":n[3]||(n[3]=o=>i.updateConfiguration(o,"configuration.token.refresh_token"))},null,8,["model-value"]),a(d,{title:"Erstellt um",required:"","model-value":t.vehicle.configuration.token?t.vehicle.configuration.token.created_at:0,"onUpdate:modelValue":n[4]||(n[4]=o=>i.updateConfiguration(o,"configuration.token.created_at"))},{help:s(()=>[r(" Unix Timestamp des Zeitpunktes, an dem das Token erzeugt wurde. ")]),_:1},8,["model-value"]),a(d,{title:"Ungültig in",unit:"s",required:"","model-value":t.vehicle.configuration.token?t.vehicle.configuration.token.expires_in:0,"onUpdate:modelValue":n[5]||(n[5]=o=>i.updateConfiguration(o,"configuration.token.expires_in"))},{help:s(()=>[r(" Zeitspanne in Sekunden, nach der das Token ungültig wird. ")]),_:1},8,["model-value"])])}const M=m(C,[["render",B],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/vehicles/tesla/vehicle.vue"]]);export{M as default}; diff --git a/web/settings/assets/vehicle-13cc62fa.js b/web/settings/assets/vehicle-c8eb0602.js similarity index 95% rename from web/settings/assets/vehicle-13cc62fa.js rename to web/settings/assets/vehicle-c8eb0602.js index 10630c4392..d930fd5f6d 100644 --- a/web/settings/assets/vehicle-13cc62fa.js +++ b/web/settings/assets/vehicle-c8eb0602.js @@ -1 +1 @@ -import{_ as s,q as c,k as d,l as p,B as a,M as l,x as u}from"./vendor-f0f38b48.js";import"./vendor-sortablejs-cbf37f8f.js";const m={name:"VehicleSocHttp",emits:["update:configuration"],props:{vehicleId:{required:!0,type:Number},vehicle:{required:!0,type:Object}},data(){return{}},methods:{updateConfiguration(n,e=void 0){this.$emit("update:configuration",{value:n,object:e})}}},h={class:"vehicle-soc-http"};function v(n,e,i,_,f,o){const r=c("openwb-base-text-input");return d(),p("div",h,[a(r,{title:"SoC URL",subtype:"url",required:"","model-value":i.vehicle.configuration.soc_url,"onUpdate:modelValue":e[0]||(e[0]=t=>o.updateConfiguration(t,"configuration.soc_url"))},{help:l(()=>[u(" Es wird vom Server eine Zahl (Float mit Punkt als Dezimaltrennzeichen oder Integer) erwartet, welche den aktuellen Ladestand in Prozent (0 bis 100) zurückgibt. ")]),_:1},8,["model-value"]),a(r,{title:"Reichweiten URL",subtype:"url","model-value":i.vehicle.configuration.range_url,"onUpdate:modelValue":e[1]||(e[1]=t=>o.updateConfiguration(t,"configuration.range_url"))},{help:l(()=>[u(" Es wird vom Server eine Zahl (Float mit Punkt als Dezimaltrennzeichen oder Integer) erwartet, welche die aktuelle Reichweite in Kilometern darstellt. Diese Angabe ist optional. ")]),_:1},8,["model-value"])])}const w=s(m,[["render",v],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/vehicles/http/vehicle.vue"]]);export{w as default}; +import{_ as s,q as c,k as d,l as p,B as a,M as l,x as u}from"./vendor-493c2bec.js";import"./vendor-sortablejs-0b339223.js";const m={name:"VehicleSocHttp",emits:["update:configuration"],props:{vehicleId:{required:!0,type:Number},vehicle:{required:!0,type:Object}},data(){return{}},methods:{updateConfiguration(n,e=void 0){this.$emit("update:configuration",{value:n,object:e})}}},h={class:"vehicle-soc-http"};function v(n,e,i,_,f,o){const r=c("openwb-base-text-input");return d(),p("div",h,[a(r,{title:"SoC URL",subtype:"url",required:"","model-value":i.vehicle.configuration.soc_url,"onUpdate:modelValue":e[0]||(e[0]=t=>o.updateConfiguration(t,"configuration.soc_url"))},{help:l(()=>[u(" Es wird vom Server eine Zahl (Float mit Punkt als Dezimaltrennzeichen oder Integer) erwartet, welche den aktuellen Ladestand in Prozent (0 bis 100) zurückgibt. ")]),_:1},8,["model-value"]),a(r,{title:"Reichweiten URL",subtype:"url","model-value":i.vehicle.configuration.range_url,"onUpdate:modelValue":e[1]||(e[1]=t=>o.updateConfiguration(t,"configuration.range_url"))},{help:l(()=>[u(" Es wird vom Server eine Zahl (Float mit Punkt als Dezimaltrennzeichen oder Integer) erwartet, welche die aktuelle Reichweite in Kilometern darstellt. Diese Angabe ist optional. ")]),_:1},8,["model-value"])])}const w=s(m,[["render",v],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/vehicles/http/vehicle.vue"]]);export{w as default}; diff --git a/web/settings/assets/vehicle-fbd997cb.js b/web/settings/assets/vehicle-d9860e56.js similarity index 97% rename from web/settings/assets/vehicle-fbd997cb.js rename to web/settings/assets/vehicle-d9860e56.js index e154c43cec..b3271459e9 100644 --- a/web/settings/assets/vehicle-fbd997cb.js +++ b/web/settings/assets/vehicle-d9860e56.js @@ -1 +1 @@ -import{_ as p,q as r,k as m,l as v,B as n,M as a,x as l}from"./vendor-f0f38b48.js";import"./vendor-sortablejs-cbf37f8f.js";const f={name:"VehicleSocPSA",emits:["update:configuration"],props:{vehicleId:{required:!0,type:Number},vehicle:{required:!0,type:Object}},data(){return{}},methods:{updateConfiguration(d,e=void 0){this.$emit("update:configuration",{value:d,object:e})}}},g={class:"vehicle-soc-psa"};function _(d,e,i,b,h,o){const u=r("openwb-base-text-input"),s=r("openwb-base-select-input"),c=r("openwb-base-card");return m(),v("div",g,[n(u,{title:"Benutzername",required:"",subtype:"user","model-value":i.vehicle.configuration.user_id,"onUpdate:modelValue":e[0]||(e[0]=t=>o.updateConfiguration(t,"configuration.user_id"))},{help:a(()=>[l(" Der Benutzername für die Anmeldung an den PSA-Servern. ")]),_:1},8,["model-value"]),n(u,{title:"Kennwort",required:"",subtype:"password","model-value":i.vehicle.configuration.password,"onUpdate:modelValue":e[1]||(e[1]=t=>o.updateConfiguration(t,"configuration.password"))},{help:a(()=>[l(" Das Passwort für die Anmeldung an den PSA-Servern. ")]),_:1},8,["model-value"]),n(s,{title:"Marke",required:"",notSelected:"Bitte auswählen",options:[{value:"Peugeot",text:"Peugeot"},{value:"Citroen",text:"Citroen"},{value:"DS",text:"DS"},{value:"Opel",text:"Opel"},{value:"Vauxhall",text:"Vauxhall"}],"model-value":i.vehicle.configuration.manufacturer,"onUpdate:modelValue":e[2]||(e[2]=t=>o.updateConfiguration(t,"configuration.manufacturer"))},{help:a(()=>[l(" Marke aus des Fahrzeugs.")]),_:1},8,["model-value"]),n(u,{title:"VIN","model-value":i.vehicle.configuration.vin,"onUpdate:modelValue":e[3]||(e[3]=t=>o.updateConfiguration(t,"configuration.vin"))},{help:a(()=>[l(" Die Fahrgestellnummer des Fahrzeugs. Nur notwendig falls mehrere Fahrzeuge im selben Account vorhanden sind. ")]),_:1},8,["model-value"]),n(c,{title:"Erweiterte Einstellungen",subtype:"info",collapsible:!0,collapsed:!0},{default:a(()=>[n(u,{title:"Client ID",subtype:"user","model-value":i.vehicle.configuration.client_id,"onUpdate:modelValue":e[4]||(e[4]=t=>o.updateConfiguration(t,"configuration.client_id"))},{help:a(()=>[l(" Die Client-ID für die Anmeldung an den PSA-Servern, muss normalerweise nicht angegeben werden. ")]),_:1},8,["model-value"]),n(u,{title:"Client Secret",subtype:"password","model-value":i.vehicle.configuration.client_secret,"onUpdate:modelValue":e[5]||(e[5]=t=>o.updateConfiguration(t,"configuration.client_secret"))},{help:a(()=>[l(" Das Client-Secret für die Anmeldung an den PSA-Servern, muss normalerweise nicht angegeben werden. ")]),_:1},8,["model-value"])]),_:1})])}const C=p(f,[["render",_],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/vehicles/psa/vehicle.vue"]]);export{C as default}; +import{_ as p,q as r,k as m,l as v,B as n,M as a,x as l}from"./vendor-493c2bec.js";import"./vendor-sortablejs-0b339223.js";const f={name:"VehicleSocPSA",emits:["update:configuration"],props:{vehicleId:{required:!0,type:Number},vehicle:{required:!0,type:Object}},data(){return{}},methods:{updateConfiguration(d,e=void 0){this.$emit("update:configuration",{value:d,object:e})}}},g={class:"vehicle-soc-psa"};function _(d,e,i,b,h,o){const u=r("openwb-base-text-input"),s=r("openwb-base-select-input"),c=r("openwb-base-card");return m(),v("div",g,[n(u,{title:"Benutzername",required:"",subtype:"user","model-value":i.vehicle.configuration.user_id,"onUpdate:modelValue":e[0]||(e[0]=t=>o.updateConfiguration(t,"configuration.user_id"))},{help:a(()=>[l(" Der Benutzername für die Anmeldung an den PSA-Servern. ")]),_:1},8,["model-value"]),n(u,{title:"Kennwort",required:"",subtype:"password","model-value":i.vehicle.configuration.password,"onUpdate:modelValue":e[1]||(e[1]=t=>o.updateConfiguration(t,"configuration.password"))},{help:a(()=>[l(" Das Passwort für die Anmeldung an den PSA-Servern. ")]),_:1},8,["model-value"]),n(s,{title:"Marke",required:"",notSelected:"Bitte auswählen",options:[{value:"Peugeot",text:"Peugeot"},{value:"Citroen",text:"Citroen"},{value:"DS",text:"DS"},{value:"Opel",text:"Opel"},{value:"Vauxhall",text:"Vauxhall"}],"model-value":i.vehicle.configuration.manufacturer,"onUpdate:modelValue":e[2]||(e[2]=t=>o.updateConfiguration(t,"configuration.manufacturer"))},{help:a(()=>[l(" Marke aus des Fahrzeugs.")]),_:1},8,["model-value"]),n(u,{title:"VIN","model-value":i.vehicle.configuration.vin,"onUpdate:modelValue":e[3]||(e[3]=t=>o.updateConfiguration(t,"configuration.vin"))},{help:a(()=>[l(" Die Fahrgestellnummer des Fahrzeugs. Nur notwendig falls mehrere Fahrzeuge im selben Account vorhanden sind. ")]),_:1},8,["model-value"]),n(c,{title:"Erweiterte Einstellungen",subtype:"info",collapsible:!0,collapsed:!0},{default:a(()=>[n(u,{title:"Client ID",subtype:"user","model-value":i.vehicle.configuration.client_id,"onUpdate:modelValue":e[4]||(e[4]=t=>o.updateConfiguration(t,"configuration.client_id"))},{help:a(()=>[l(" Die Client-ID für die Anmeldung an den PSA-Servern, muss normalerweise nicht angegeben werden. ")]),_:1},8,["model-value"]),n(u,{title:"Client Secret",subtype:"password","model-value":i.vehicle.configuration.client_secret,"onUpdate:modelValue":e[5]||(e[5]=t=>o.updateConfiguration(t,"configuration.client_secret"))},{help:a(()=>[l(" Das Client-Secret für die Anmeldung an den PSA-Servern, muss normalerweise nicht angegeben werden. ")]),_:1},8,["model-value"])]),_:1})])}const C=p(f,[["render",_],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/vehicles/psa/vehicle.vue"]]);export{C as default}; diff --git a/web/settings/assets/vehicle-6ad0ac99.js b/web/settings/assets/vehicle-e5bc07c7.js similarity index 96% rename from web/settings/assets/vehicle-6ad0ac99.js rename to web/settings/assets/vehicle-e5bc07c7.js index 1d5ea6699b..2fa929219b 100644 --- a/web/settings/assets/vehicle-6ad0ac99.js +++ b/web/settings/assets/vehicle-e5bc07c7.js @@ -1 +1 @@ -import{_ as d,q as s,k as c,l as m,B as u,M as r,x as i}from"./vendor-f0f38b48.js";import"./vendor-sortablejs-cbf37f8f.js";const p={name:"VehicleSocRenault",emits:["update:configuration"],props:{vehicleId:{required:!0,type:Number},vehicle:{required:!0,type:Object}},data(){return{}},methods:{updateConfiguration(l,e=void 0){this.$emit("update:configuration",{value:l,object:e})}}},v={class:"vehicle-soc-renault"};function f(l,e,t,g,h,o){const a=s("openwb-base-text-input");return c(),m("div",v,[u(a,{title:"Benutzername",required:"",subtype:"user","model-value":t.vehicle.configuration.user_id,"onUpdate:modelValue":e[0]||(e[0]=n=>o.updateConfiguration(n,"configuration.user_id"))},{help:r(()=>[i(" Der Benutzername für die Anmeldung an den Renault-Servern. ")]),_:1},8,["model-value"]),u(a,{title:"Kennwort",required:"",subtype:"password","model-value":t.vehicle.configuration.password,"onUpdate:modelValue":e[1]||(e[1]=n=>o.updateConfiguration(n,"configuration.password"))},{help:r(()=>[i(" Das Passwort für die Anmeldung an den Renault-Servern. ")]),_:1},8,["model-value"]),u(a,{title:"Land",required:"","model-value":t.vehicle.configuration.country,"onUpdate:modelValue":e[2]||(e[2]=n=>o.updateConfiguration(n,"configuration.country"))},{help:r(()=>[i(" Land des Fahrzeugs, z.b. DE für Deutschland. ")]),_:1},8,["model-value"]),u(a,{title:"VIN","model-value":t.vehicle.configuration.vin,"onUpdate:modelValue":e[3]||(e[3]=n=>o.updateConfiguration(n,"configuration.vin"))},{help:r(()=>[i(" Die Fahrgestellnummer des Fahrzeugs falls mehrere Fahrzeuge im Account vorhanden sind. ")]),_:1},8,["model-value"])])}const w=d(p,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/vehicles/renault/vehicle.vue"]]);export{w as default}; +import{_ as d,q as s,k as c,l as m,B as u,M as r,x as i}from"./vendor-493c2bec.js";import"./vendor-sortablejs-0b339223.js";const p={name:"VehicleSocRenault",emits:["update:configuration"],props:{vehicleId:{required:!0,type:Number},vehicle:{required:!0,type:Object}},data(){return{}},methods:{updateConfiguration(l,e=void 0){this.$emit("update:configuration",{value:l,object:e})}}},v={class:"vehicle-soc-renault"};function f(l,e,t,g,h,o){const a=s("openwb-base-text-input");return c(),m("div",v,[u(a,{title:"Benutzername",required:"",subtype:"user","model-value":t.vehicle.configuration.user_id,"onUpdate:modelValue":e[0]||(e[0]=n=>o.updateConfiguration(n,"configuration.user_id"))},{help:r(()=>[i(" Der Benutzername für die Anmeldung an den Renault-Servern. ")]),_:1},8,["model-value"]),u(a,{title:"Kennwort",required:"",subtype:"password","model-value":t.vehicle.configuration.password,"onUpdate:modelValue":e[1]||(e[1]=n=>o.updateConfiguration(n,"configuration.password"))},{help:r(()=>[i(" Das Passwort für die Anmeldung an den Renault-Servern. ")]),_:1},8,["model-value"]),u(a,{title:"Land",required:"","model-value":t.vehicle.configuration.country,"onUpdate:modelValue":e[2]||(e[2]=n=>o.updateConfiguration(n,"configuration.country"))},{help:r(()=>[i(" Land des Fahrzeugs, z.b. DE für Deutschland. ")]),_:1},8,["model-value"]),u(a,{title:"VIN","model-value":t.vehicle.configuration.vin,"onUpdate:modelValue":e[3]||(e[3]=n=>o.updateConfiguration(n,"configuration.vin"))},{help:r(()=>[i(" Die Fahrgestellnummer des Fahrzeugs falls mehrere Fahrzeuge im Account vorhanden sind. ")]),_:1},8,["model-value"])])}const w=d(p,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/vehicles/renault/vehicle.vue"]]);export{w as default}; diff --git a/web/settings/assets/vendor-493c2bec.js b/web/settings/assets/vendor-493c2bec.js new file mode 100644 index 0000000000..a5e1ddf4fb --- /dev/null +++ b/web/settings/assets/vendor-493c2bec.js @@ -0,0 +1,128 @@ +import{r as lE}from"./vendor-sortablejs-0b339223.js";var Ze=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function Do(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function dv(e){if(e.__esModule)return e;var t=e.default;if(typeof t=="function"){var r=function i(){return this instanceof i?Reflect.construct(t,arguments,this.constructor):t.apply(this,arguments)};r.prototype=t.prototype}else r={};return Object.defineProperty(r,"__esModule",{value:!0}),Object.keys(e).forEach(function(i){var a=Object.getOwnPropertyDescriptor(e,i);Object.defineProperty(r,i,a.get?a:{enumerable:!0,get:function(){return e[i]}})}),r}var ke={},vh={};vh.byteLength=cE;vh.toByteArray=pE;vh.fromByteArray=mE;var Qi=[],li=[],uE=typeof Uint8Array<"u"?Uint8Array:Array,$c="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";for(var Da=0,hE=$c.length;Da0)throw new Error("Invalid string. Length must be a multiple of 4");var r=e.indexOf("=");r===-1&&(r=t);var i=r===t?0:4-r%4;return[r,i]}function cE(e){var t=h2(e),r=t[0],i=t[1];return(r+i)*3/4-i}function dE(e,t,r){return(t+r)*3/4-r}function pE(e){var t,r=h2(e),i=r[0],a=r[1],n=new uE(dE(e,i,a)),l=0,c=a>0?i-4:i,d;for(d=0;d>16&255,n[l++]=t>>8&255,n[l++]=t&255;return a===2&&(t=li[e.charCodeAt(d)]<<2|li[e.charCodeAt(d+1)]>>4,n[l++]=t&255),a===1&&(t=li[e.charCodeAt(d)]<<10|li[e.charCodeAt(d+1)]<<4|li[e.charCodeAt(d+2)]>>2,n[l++]=t>>8&255,n[l++]=t&255),n}function vE(e){return Qi[e>>18&63]+Qi[e>>12&63]+Qi[e>>6&63]+Qi[e&63]}function gE(e,t,r){for(var i,a=[],n=t;nc?c:l+n));return i===1?(t=e[r-1],a.push(Qi[t>>2]+Qi[t<<4&63]+"==")):i===2&&(t=(e[r-2]<<8)+e[r-1],a.push(Qi[t>>10]+Qi[t>>4&63]+Qi[t<<2&63]+"=")),a.join("")}var pv={};/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh */pv.read=function(e,t,r,i,a){var n,l,c=a*8-i-1,d=(1<>1,M=-7,S=r?a-1:0,R=r?-1:1,P=e[t+S];for(S+=R,n=P&(1<<-M)-1,P>>=-M,M+=c;M>0;n=n*256+e[t+S],S+=R,M-=8);for(l=n&(1<<-M)-1,n>>=-M,M+=i;M>0;l=l*256+e[t+S],S+=R,M-=8);if(n===0)n=1-m;else{if(n===d)return l?NaN:(P?-1:1)*(1/0);l=l+Math.pow(2,i),n=n-m}return(P?-1:1)*l*Math.pow(2,n-i)};pv.write=function(e,t,r,i,a,n){var l,c,d,m=n*8-a-1,M=(1<>1,R=a===23?Math.pow(2,-24)-Math.pow(2,-77):0,P=i?0:n-1,O=i?1:-1,N=t<0||t===0&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(c=isNaN(t)?1:0,l=M):(l=Math.floor(Math.log(t)/Math.LN2),t*(d=Math.pow(2,-l))<1&&(l--,d*=2),l+S>=1?t+=R/d:t+=R*Math.pow(2,1-S),t*d>=2&&(l++,d/=2),l+S>=M?(c=0,l=M):l+S>=1?(c=(t*d-1)*Math.pow(2,a),l=l+S):(c=t*Math.pow(2,S-1)*Math.pow(2,a),l=0));a>=8;e[r+P]=c&255,P+=O,c/=256,a-=8);for(l=l<0;e[r+P]=l&255,P+=O,l/=256,m-=8);e[r+P-O]|=N*128};/*! + * The buffer module from node.js, for the browser. + * + * @author Feross Aboukhadijeh + * @license MIT + */(function(e){var t=vh,r=pv,i=typeof Symbol=="function"&&typeof Symbol.for=="function"?Symbol.for("nodejs.util.inspect.custom"):null;e.Buffer=c,e.SlowBuffer=C,e.INSPECT_MAX_BYTES=50;var a=2147483647;e.kMaxLength=a,c.TYPED_ARRAY_SUPPORT=n(),!c.TYPED_ARRAY_SUPPORT&&typeof console<"u"&&typeof console.error=="function"&&console.error("This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support.");function n(){try{var F=new Uint8Array(1),L={foo:function(){return 42}};return Object.setPrototypeOf(L,Uint8Array.prototype),Object.setPrototypeOf(F,L),F.foo()===42}catch{return!1}}Object.defineProperty(c.prototype,"parent",{enumerable:!0,get:function(){if(c.isBuffer(this))return this.buffer}}),Object.defineProperty(c.prototype,"offset",{enumerable:!0,get:function(){if(c.isBuffer(this))return this.byteOffset}});function l(F){if(F>a)throw new RangeError('The value "'+F+'" is invalid for option "size"');var L=new Uint8Array(F);return Object.setPrototypeOf(L,c.prototype),L}function c(F,L,H){if(typeof F=="number"){if(typeof L=="string")throw new TypeError('The "string" argument must be of type string. Received type number');return S(F)}return d(F,L,H)}c.poolSize=8192;function d(F,L,H){if(typeof F=="string")return R(F,L);if(ArrayBuffer.isView(F))return O(F);if(F==null)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof F);if(D(F,ArrayBuffer)||F&&D(F.buffer,ArrayBuffer)||typeof SharedArrayBuffer<"u"&&(D(F,SharedArrayBuffer)||F&&D(F.buffer,SharedArrayBuffer)))return N(F,L,H);if(typeof F=="number")throw new TypeError('The "value" argument must not be of type number. Received type number');var z=F.valueOf&&F.valueOf();if(z!=null&&z!==F)return c.from(z,L,H);var se=B(F);if(se)return se;if(typeof Symbol<"u"&&Symbol.toPrimitive!=null&&typeof F[Symbol.toPrimitive]=="function")return c.from(F[Symbol.toPrimitive]("string"),L,H);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof F)}c.from=function(F,L,H){return d(F,L,H)},Object.setPrototypeOf(c.prototype,Uint8Array.prototype),Object.setPrototypeOf(c,Uint8Array);function m(F){if(typeof F!="number")throw new TypeError('"size" argument must be of type number');if(F<0)throw new RangeError('The value "'+F+'" is invalid for option "size"')}function M(F,L,H){return m(F),F<=0?l(F):L!==void 0?typeof H=="string"?l(F).fill(L,H):l(F).fill(L):l(F)}c.alloc=function(F,L,H){return M(F,L,H)};function S(F){return m(F),l(F<0?0:I(F)|0)}c.allocUnsafe=function(F){return S(F)},c.allocUnsafeSlow=function(F){return S(F)};function R(F,L){if((typeof L!="string"||L==="")&&(L="utf8"),!c.isEncoding(L))throw new TypeError("Unknown encoding: "+L);var H=j(F,L)|0,z=l(H),se=z.write(F,L);return se!==H&&(z=z.slice(0,se)),z}function P(F){for(var L=F.length<0?0:I(F.length)|0,H=l(L),z=0;z=a)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+a.toString(16)+" bytes");return F|0}function C(F){return+F!=F&&(F=0),c.alloc(+F)}c.isBuffer=function(L){return L!=null&&L._isBuffer===!0&&L!==c.prototype},c.compare=function(L,H){if(D(L,Uint8Array)&&(L=c.from(L,L.offset,L.byteLength)),D(H,Uint8Array)&&(H=c.from(H,H.offset,H.byteLength)),!c.isBuffer(L)||!c.isBuffer(H))throw new TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');if(L===H)return 0;for(var z=L.length,se=H.length,te=0,ae=Math.min(z,se);tese.length?c.from(ae).copy(se,te):Uint8Array.prototype.set.call(se,ae,te);else if(c.isBuffer(ae))ae.copy(se,te);else throw new TypeError('"list" argument must be an Array of Buffers');te+=ae.length}return se};function j(F,L){if(c.isBuffer(F))return F.length;if(ArrayBuffer.isView(F)||D(F,ArrayBuffer))return F.byteLength;if(typeof F!="string")throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof F);var H=F.length,z=arguments.length>2&&arguments[2]===!0;if(!z&&H===0)return 0;for(var se=!1;;)switch(L){case"ascii":case"latin1":case"binary":return H;case"utf8":case"utf-8":return q(F).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return H*2;case"hex":return H>>>1;case"base64":return b(F).length;default:if(se)return z?-1:q(F).length;L=(""+L).toLowerCase(),se=!0}}c.byteLength=j;function $(F,L,H){var z=!1;if((L===void 0||L<0)&&(L=0),L>this.length||((H===void 0||H>this.length)&&(H=this.length),H<=0)||(H>>>=0,L>>>=0,H<=L))return"";for(F||(F="utf8");;)switch(F){case"hex":return g(this,L,H);case"utf8":case"utf-8":return u(this,L,H);case"ascii":return w(this,L,H);case"latin1":case"binary":return x(this,L,H);case"base64":return f(this,L,H);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return s(this,L,H);default:if(z)throw new TypeError("Unknown encoding: "+F);F=(F+"").toLowerCase(),z=!0}}c.prototype._isBuffer=!0;function W(F,L,H){var z=F[L];F[L]=F[H],F[H]=z}c.prototype.swap16=function(){var L=this.length;if(L%2!==0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(var H=0;HH&&(L+=" ... "),""},i&&(c.prototype[i]=c.prototype.inspect),c.prototype.compare=function(L,H,z,se,te){if(D(L,Uint8Array)&&(L=c.from(L,L.offset,L.byteLength)),!c.isBuffer(L))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof L);if(H===void 0&&(H=0),z===void 0&&(z=L?L.length:0),se===void 0&&(se=0),te===void 0&&(te=this.length),H<0||z>L.length||se<0||te>this.length)throw new RangeError("out of range index");if(se>=te&&H>=z)return 0;if(se>=te)return-1;if(H>=z)return 1;if(H>>>=0,z>>>=0,se>>>=0,te>>>=0,this===L)return 0;for(var ae=te-se,be=z-H,J=Math.min(ae,be),le=this.slice(se,te),fe=L.slice(H,z),ue=0;ue2147483647?H=2147483647:H<-2147483648&&(H=-2147483648),H=+H,U(H)&&(H=se?0:F.length-1),H<0&&(H=F.length+H),H>=F.length){if(se)return-1;H=F.length-1}else if(H<0)if(se)H=0;else return-1;if(typeof L=="string"&&(L=c.from(L,z)),c.isBuffer(L))return L.length===0?-1:re(F,L,H,z,se);if(typeof L=="number")return L=L&255,typeof Uint8Array.prototype.indexOf=="function"?se?Uint8Array.prototype.indexOf.call(F,L,H):Uint8Array.prototype.lastIndexOf.call(F,L,H):re(F,[L],H,z,se);throw new TypeError("val must be string, number or Buffer")}function re(F,L,H,z,se){var te=1,ae=F.length,be=L.length;if(z!==void 0&&(z=String(z).toLowerCase(),z==="ucs2"||z==="ucs-2"||z==="utf16le"||z==="utf-16le")){if(F.length<2||L.length<2)return-1;te=2,ae/=2,be/=2,H/=2}function J(pe,ne){return te===1?pe[ne]:pe.readUInt16BE(ne*te)}var le;if(se){var fe=-1;for(le=H;leae&&(H=ae-be),le=H;le>=0;le--){for(var ue=!0,de=0;dese&&(z=se)):z=se;var te=L.length;z>te/2&&(z=te/2);for(var ae=0;ae>>0,isFinite(z)?(z=z>>>0,se===void 0&&(se="utf8")):(se=z,z=void 0);else throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");var te=this.length-H;if((z===void 0||z>te)&&(z=te),L.length>0&&(z<0||H<0)||H>this.length)throw new RangeError("Attempt to write outside buffer bounds");se||(se="utf8");for(var ae=!1;;)switch(se){case"hex":return Q(this,L,H,z);case"utf8":case"utf-8":return V(this,L,H,z);case"ascii":case"latin1":case"binary":return ce(this,L,H,z);case"base64":return _(this,L,H,z);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return o(this,L,H,z);default:if(ae)throw new TypeError("Unknown encoding: "+se);se=(""+se).toLowerCase(),ae=!0}},c.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function f(F,L,H){return L===0&&H===F.length?t.fromByteArray(F):t.fromByteArray(F.slice(L,H))}function u(F,L,H){H=Math.min(F.length,H);for(var z=[],se=L;se239?4:te>223?3:te>191?2:1;if(se+be<=H){var J,le,fe,ue;switch(be){case 1:te<128&&(ae=te);break;case 2:J=F[se+1],(J&192)===128&&(ue=(te&31)<<6|J&63,ue>127&&(ae=ue));break;case 3:J=F[se+1],le=F[se+2],(J&192)===128&&(le&192)===128&&(ue=(te&15)<<12|(J&63)<<6|le&63,ue>2047&&(ue<55296||ue>57343)&&(ae=ue));break;case 4:J=F[se+1],le=F[se+2],fe=F[se+3],(J&192)===128&&(le&192)===128&&(fe&192)===128&&(ue=(te&15)<<18|(J&63)<<12|(le&63)<<6|fe&63,ue>65535&&ue<1114112&&(ae=ue))}}ae===null?(ae=65533,be=1):ae>65535&&(ae-=65536,z.push(ae>>>10&1023|55296),ae=56320|ae&1023),z.push(ae),se+=be}return p(z)}var h=4096;function p(F){var L=F.length;if(L<=h)return String.fromCharCode.apply(String,F);for(var H="",z=0;zz)&&(H=z);for(var se="",te=L;tez&&(L=z),H<0?(H+=z,H<0&&(H=0)):H>z&&(H=z),HH)throw new RangeError("Trying to access beyond buffer length")}c.prototype.readUintLE=c.prototype.readUIntLE=function(L,H,z){L=L>>>0,H=H>>>0,z||v(L,H,this.length);for(var se=this[L],te=1,ae=0;++ae>>0,H=H>>>0,z||v(L,H,this.length);for(var se=this[L+--H],te=1;H>0&&(te*=256);)se+=this[L+--H]*te;return se},c.prototype.readUint8=c.prototype.readUInt8=function(L,H){return L=L>>>0,H||v(L,1,this.length),this[L]},c.prototype.readUint16LE=c.prototype.readUInt16LE=function(L,H){return L=L>>>0,H||v(L,2,this.length),this[L]|this[L+1]<<8},c.prototype.readUint16BE=c.prototype.readUInt16BE=function(L,H){return L=L>>>0,H||v(L,2,this.length),this[L]<<8|this[L+1]},c.prototype.readUint32LE=c.prototype.readUInt32LE=function(L,H){return L=L>>>0,H||v(L,4,this.length),(this[L]|this[L+1]<<8|this[L+2]<<16)+this[L+3]*16777216},c.prototype.readUint32BE=c.prototype.readUInt32BE=function(L,H){return L=L>>>0,H||v(L,4,this.length),this[L]*16777216+(this[L+1]<<16|this[L+2]<<8|this[L+3])},c.prototype.readIntLE=function(L,H,z){L=L>>>0,H=H>>>0,z||v(L,H,this.length);for(var se=this[L],te=1,ae=0;++ae=te&&(se-=Math.pow(2,8*H)),se},c.prototype.readIntBE=function(L,H,z){L=L>>>0,H=H>>>0,z||v(L,H,this.length);for(var se=H,te=1,ae=this[L+--se];se>0&&(te*=256);)ae+=this[L+--se]*te;return te*=128,ae>=te&&(ae-=Math.pow(2,8*H)),ae},c.prototype.readInt8=function(L,H){return L=L>>>0,H||v(L,1,this.length),this[L]&128?(255-this[L]+1)*-1:this[L]},c.prototype.readInt16LE=function(L,H){L=L>>>0,H||v(L,2,this.length);var z=this[L]|this[L+1]<<8;return z&32768?z|4294901760:z},c.prototype.readInt16BE=function(L,H){L=L>>>0,H||v(L,2,this.length);var z=this[L+1]|this[L]<<8;return z&32768?z|4294901760:z},c.prototype.readInt32LE=function(L,H){return L=L>>>0,H||v(L,4,this.length),this[L]|this[L+1]<<8|this[L+2]<<16|this[L+3]<<24},c.prototype.readInt32BE=function(L,H){return L=L>>>0,H||v(L,4,this.length),this[L]<<24|this[L+1]<<16|this[L+2]<<8|this[L+3]},c.prototype.readFloatLE=function(L,H){return L=L>>>0,H||v(L,4,this.length),r.read(this,L,!0,23,4)},c.prototype.readFloatBE=function(L,H){return L=L>>>0,H||v(L,4,this.length),r.read(this,L,!1,23,4)},c.prototype.readDoubleLE=function(L,H){return L=L>>>0,H||v(L,8,this.length),r.read(this,L,!0,52,8)},c.prototype.readDoubleBE=function(L,H){return L=L>>>0,H||v(L,8,this.length),r.read(this,L,!1,52,8)};function T(F,L,H,z,se,te){if(!c.isBuffer(F))throw new TypeError('"buffer" argument must be a Buffer instance');if(L>se||LF.length)throw new RangeError("Index out of range")}c.prototype.writeUintLE=c.prototype.writeUIntLE=function(L,H,z,se){if(L=+L,H=H>>>0,z=z>>>0,!se){var te=Math.pow(2,8*z)-1;T(this,L,H,z,te,0)}var ae=1,be=0;for(this[H]=L&255;++be>>0,z=z>>>0,!se){var te=Math.pow(2,8*z)-1;T(this,L,H,z,te,0)}var ae=z-1,be=1;for(this[H+ae]=L&255;--ae>=0&&(be*=256);)this[H+ae]=L/be&255;return H+z},c.prototype.writeUint8=c.prototype.writeUInt8=function(L,H,z){return L=+L,H=H>>>0,z||T(this,L,H,1,255,0),this[H]=L&255,H+1},c.prototype.writeUint16LE=c.prototype.writeUInt16LE=function(L,H,z){return L=+L,H=H>>>0,z||T(this,L,H,2,65535,0),this[H]=L&255,this[H+1]=L>>>8,H+2},c.prototype.writeUint16BE=c.prototype.writeUInt16BE=function(L,H,z){return L=+L,H=H>>>0,z||T(this,L,H,2,65535,0),this[H]=L>>>8,this[H+1]=L&255,H+2},c.prototype.writeUint32LE=c.prototype.writeUInt32LE=function(L,H,z){return L=+L,H=H>>>0,z||T(this,L,H,4,4294967295,0),this[H+3]=L>>>24,this[H+2]=L>>>16,this[H+1]=L>>>8,this[H]=L&255,H+4},c.prototype.writeUint32BE=c.prototype.writeUInt32BE=function(L,H,z){return L=+L,H=H>>>0,z||T(this,L,H,4,4294967295,0),this[H]=L>>>24,this[H+1]=L>>>16,this[H+2]=L>>>8,this[H+3]=L&255,H+4},c.prototype.writeIntLE=function(L,H,z,se){if(L=+L,H=H>>>0,!se){var te=Math.pow(2,8*z-1);T(this,L,H,z,te-1,-te)}var ae=0,be=1,J=0;for(this[H]=L&255;++ae>0)-J&255;return H+z},c.prototype.writeIntBE=function(L,H,z,se){if(L=+L,H=H>>>0,!se){var te=Math.pow(2,8*z-1);T(this,L,H,z,te-1,-te)}var ae=z-1,be=1,J=0;for(this[H+ae]=L&255;--ae>=0&&(be*=256);)L<0&&J===0&&this[H+ae+1]!==0&&(J=1),this[H+ae]=(L/be>>0)-J&255;return H+z},c.prototype.writeInt8=function(L,H,z){return L=+L,H=H>>>0,z||T(this,L,H,1,127,-128),L<0&&(L=255+L+1),this[H]=L&255,H+1},c.prototype.writeInt16LE=function(L,H,z){return L=+L,H=H>>>0,z||T(this,L,H,2,32767,-32768),this[H]=L&255,this[H+1]=L>>>8,H+2},c.prototype.writeInt16BE=function(L,H,z){return L=+L,H=H>>>0,z||T(this,L,H,2,32767,-32768),this[H]=L>>>8,this[H+1]=L&255,H+2},c.prototype.writeInt32LE=function(L,H,z){return L=+L,H=H>>>0,z||T(this,L,H,4,2147483647,-2147483648),this[H]=L&255,this[H+1]=L>>>8,this[H+2]=L>>>16,this[H+3]=L>>>24,H+4},c.prototype.writeInt32BE=function(L,H,z){return L=+L,H=H>>>0,z||T(this,L,H,4,2147483647,-2147483648),L<0&&(L=4294967295+L+1),this[H]=L>>>24,this[H+1]=L>>>16,this[H+2]=L>>>8,this[H+3]=L&255,H+4};function k(F,L,H,z,se,te){if(H+z>F.length)throw new RangeError("Index out of range");if(H<0)throw new RangeError("Index out of range")}function G(F,L,H,z,se){return L=+L,H=H>>>0,se||k(F,L,H,4),r.write(F,L,H,z,23,4),H+4}c.prototype.writeFloatLE=function(L,H,z){return G(this,L,H,!0,z)},c.prototype.writeFloatBE=function(L,H,z){return G(this,L,H,!1,z)};function ee(F,L,H,z,se){return L=+L,H=H>>>0,se||k(F,L,H,8),r.write(F,L,H,z,52,8),H+8}c.prototype.writeDoubleLE=function(L,H,z){return ee(this,L,H,!0,z)},c.prototype.writeDoubleBE=function(L,H,z){return ee(this,L,H,!1,z)},c.prototype.copy=function(L,H,z,se){if(!c.isBuffer(L))throw new TypeError("argument should be a Buffer");if(z||(z=0),!se&&se!==0&&(se=this.length),H>=L.length&&(H=L.length),H||(H=0),se>0&&se=this.length)throw new RangeError("Index out of range");if(se<0)throw new RangeError("sourceEnd out of bounds");se>this.length&&(se=this.length),L.length-H>>0,z=z===void 0?this.length:z>>>0,L||(L=0);var ae;if(typeof L=="number")for(ae=H;ae55295&&H<57344){if(!se){if(H>56319){(L-=3)>-1&&te.push(239,191,189);continue}else if(ae+1===z){(L-=3)>-1&&te.push(239,191,189);continue}se=H;continue}if(H<56320){(L-=3)>-1&&te.push(239,191,189),se=H;continue}H=(se-55296<<10|H-56320)+65536}else se&&(L-=3)>-1&&te.push(239,191,189);if(se=null,H<128){if((L-=1)<0)break;te.push(H)}else if(H<2048){if((L-=2)<0)break;te.push(H>>6|192,H&63|128)}else if(H<65536){if((L-=3)<0)break;te.push(H>>12|224,H>>6&63|128,H&63|128)}else if(H<1114112){if((L-=4)<0)break;te.push(H>>18|240,H>>12&63|128,H>>6&63|128,H&63|128)}else throw new Error("Invalid code point")}return te}function K(F){for(var L=[],H=0;H>8,se=H%256,te.push(se),te.push(z);return te}function b(F){return t.toByteArray(E(F))}function y(F,L,H,z){for(var se=0;se=L.length||se>=F.length);++se)L[se+H]=F[se];return se}function D(F,L){return F instanceof L||F!=null&&F.constructor!=null&&F.constructor.name!=null&&F.constructor.name===L.name}function U(F){return F!==F}var Z=function(){for(var F="0123456789abcdef",L=new Array(256),H=0;H<16;++H)for(var z=H*16,se=0;se<16;++se)L[z+se]=F[H]+F[se];return L}()})(ke);var c2={exports:{}},tr=c2.exports={},Zi,Xi;function D0(){throw new Error("setTimeout has not been defined")}function F0(){throw new Error("clearTimeout has not been defined")}(function(){try{typeof setTimeout=="function"?Zi=setTimeout:Zi=D0}catch{Zi=D0}try{typeof clearTimeout=="function"?Xi=clearTimeout:Xi=F0}catch{Xi=F0}})();function d2(e){if(Zi===setTimeout)return setTimeout(e,0);if((Zi===D0||!Zi)&&setTimeout)return Zi=setTimeout,setTimeout(e,0);try{return Zi(e,0)}catch{try{return Zi.call(null,e,0)}catch{return Zi.call(this,e,0)}}}function yE(e){if(Xi===clearTimeout)return clearTimeout(e);if((Xi===F0||!Xi)&&clearTimeout)return Xi=clearTimeout,clearTimeout(e);try{return Xi(e)}catch{try{return Xi.call(null,e)}catch{return Xi.call(this,e)}}}var kn=[],Ja=!1,Qo,uu=-1;function bE(){!Ja||!Qo||(Ja=!1,Qo.length?kn=Qo.concat(kn):uu=-1,kn.length&&p2())}function p2(){if(!Ja){var e=d2(bE);Ja=!0;for(var t=kn.length;t;){for(Qo=kn,kn=[];++uu1)for(var r=1;rr.has(i.toLowerCase()):i=>r.has(i)}const Lt=Object.freeze({}),Qa=Object.freeze([]),gr=()=>{},ME=()=>!1,js=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),Cu=e=>e.startsWith("onUpdate:"),$t=Object.assign,vv=(e,t)=>{const r=e.indexOf(t);r>-1&&e.splice(r,1)},SE=Object.prototype.hasOwnProperty,wt=(e,t)=>SE.call(e,t),ze=Array.isArray,oa=e=>Us(e)==="[object Map]",xa=e=>Us(e)==="[object Set]",Sm=e=>Us(e)==="[object Date]",xE=e=>Us(e)==="[object RegExp]",Qe=e=>typeof e=="function",Ut=e=>typeof e=="string",Ro=e=>typeof e=="symbol",Rt=e=>e!==null&&typeof e=="object",gh=e=>(Rt(e)||Qe(e))&&Qe(e.then)&&Qe(e.catch),g2=Object.prototype.toString,Us=e=>g2.call(e),gv=e=>Us(e).slice(8,-1),m2=e=>Us(e)==="[object Object]",mv=e=>Ut(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,es=ei(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),EE=ei("bind,cloak,else-if,else,for,html,if,model,on,once,pre,show,slot,text,memo"),mh=e=>{const t=Object.create(null);return r=>t[r]||(t[r]=e(r))},RE=/-(\w)/g,$r=mh(e=>e.replace(RE,(t,r)=>r?r.toUpperCase():"")),AE=/\B([A-Z])/g,Rr=mh(e=>e.replace(AE,"-$1").toLowerCase()),Ao=mh(e=>e.charAt(0).toUpperCase()+e.slice(1)),In=mh(e=>e?`on${Ao(e)}`:""),Fi=(e,t)=>!Object.is(e,t),po=(e,t)=>{for(let r=0;r{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,value:r})},Zf=e=>{const t=parseFloat(e);return isNaN(t)?e:t},Lu=e=>{const t=Ut(e)?Number(e):NaN;return isNaN(t)?e:t};let xm;const yv=()=>xm||(xm=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof mo<"u"?mo:{}),TE="Infinity,undefined,NaN,isFinite,isNaN,parseFloat,parseInt,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,Math,Number,Date,Array,Object,Boolean,String,RegExp,Map,Set,JSON,Intl,BigInt,console,Error",OE=ei(TE);function rn(e){if(ze(e)){const t={};for(let r=0;r{if(r){const i=r.split(PE);i.length>1&&(t[i[0].trim()]=i[1].trim())}}),t}function LE(e){let t="";if(!e||Ut(e))return t;for(const r in e){const i=e[r],a=r.startsWith("--")?r:Rr(r);(Ut(i)||typeof i=="number")&&(t+=`${a}:${i};`)}return t}function lr(e){let t="";if(Ut(e))t=e;else if(ze(e))for(let r=0;rTo(r,t))}const Ci=e=>Ut(e)?e:e==null?"":ze(e)||Rt(e)&&(e.toString===g2||!Qe(e.toString))?JSON.stringify(e,b2,2):String(e),b2=(e,t)=>t&&t.__v_isRef?b2(e,t.value):oa(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((r,[i,a],n)=>(r[Dc(i,n)+" =>"]=a,r),{})}:xa(t)?{[`Set(${t.size})`]:[...t.values()].map(r=>Dc(r))}:Ro(t)?Dc(t):Rt(t)&&!ze(t)&&!m2(t)?String(t):t,Dc=(e,t="")=>{var r;return Ro(e)?`Symbol(${(r=e.description)!=null?r:t})`:e};/** +* @vue/reactivity v3.4.21 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/function un(e,...t){console.warn(`[Vue warn] ${e}`,...t)}let Yr;class wv{constructor(t=!1){this.detached=t,this._active=!0,this.effects=[],this.cleanups=[],this.parent=Yr,!t&&Yr&&(this.index=(Yr.scopes||(Yr.scopes=[])).push(this)-1)}get active(){return this._active}run(t){if(this._active){const r=Yr;try{return Yr=this,t()}finally{Yr=r}}else un("cannot run an inactive effect scope.")}on(){Yr=this}off(){Yr=this.parent}stop(t){if(this._active){let r,i;for(r=0,i=this.effects.length;r=4))break}this._dirtyLevel===1&&(this._dirtyLevel=0),jo()}return this._dirtyLevel>=4}set dirty(t){this._dirtyLevel=t?4:0}run(){if(this._dirtyLevel=0,!this.active)return this.fn();let t=yo,r=aa;try{return yo=!0,aa=this,this._runnings++,Rm(this),this.fn()}finally{Am(this),this._runnings--,aa=r,yo=t}}stop(){var t;this.active&&(Rm(this),Am(this),(t=this.onStop)==null||t.call(this),this.active=!1)}}function GE(e){return e.value}function Rm(e){e._trackId++,e._depsLength=0}function Am(e){if(e.deps.length>e._depsLength){for(let t=e._depsLength;t{r.dirty&&r.run()});t&&($t(r,t),t.scope&&_2(r,t.scope)),(!t||!t.lazy)&&r.run();const i=r.run.bind(r);return i.effect=r,i}function ZE(e){e.effect.stop()}let yo=!0,j0=0;const x2=[];function Fo(){x2.push(yo),yo=!1}function jo(){const e=x2.pop();yo=e===void 0?!0:e}function _v(){j0++}function Mv(){for(j0--;!j0&&U0.length;)U0.shift()()}function E2(e,t,r){var i;if(t.get(e)!==e._trackId){t.set(e,e._trackId);const a=e.deps[e._depsLength];a!==t?(a&&S2(a,e),e.deps[e._depsLength++]=t):e._depsLength++,(i=e.onTrack)==null||i.call(e,$t({effect:e},r))}}const U0=[];function R2(e,t,r){var i;_v();for(const a of e.keys()){let n;a._dirtyLevel{const r=new Map;return r.cleanup=e,r.computed=t,r},Nu=new WeakMap,sa=Symbol("iterate"),H0=Symbol("Map key iterate");function Pr(e,t,r){if(yo&&aa){let i=Nu.get(e);i||Nu.set(e,i=new Map);let a=i.get(r);a||i.set(r,a=A2(()=>i.delete(r))),E2(aa,a,{target:e,type:t,key:r})}}function nn(e,t,r,i,a,n){const l=Nu.get(e);if(!l)return;let c=[];if(t==="clear")c=[...l.values()];else if(r==="length"&&ze(e)){const d=Number(i);l.forEach((m,M)=>{(M==="length"||!Ro(M)&&M>=d)&&c.push(m)})}else switch(r!==void 0&&c.push(l.get(r)),t){case"add":ze(e)?mv(r)&&c.push(l.get("length")):(c.push(l.get(sa)),oa(e)&&c.push(l.get(H0)));break;case"delete":ze(e)||(c.push(l.get(sa)),oa(e)&&c.push(l.get(H0)));break;case"set":oa(e)&&c.push(l.get(sa));break}_v();for(const d of c)d&&R2(d,4,{target:e,type:t,key:r,newValue:i,oldValue:a,oldTarget:n});Mv()}function XE(e,t){var r;return(r=Nu.get(e))==null?void 0:r.get(t)}const JE=ei("__proto__,__v_isRef,__isVue"),T2=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(Ro)),Tm=QE();function QE(){const e={};return["includes","indexOf","lastIndexOf"].forEach(t=>{e[t]=function(...r){const i=ut(this);for(let n=0,l=this.length;n{e[t]=function(...r){Fo(),_v();const i=ut(this)[t].apply(this,r);return Mv(),jo(),i}}),e}function e8(e){const t=ut(this);return Pr(t,"has",e),t.hasOwnProperty(e)}class O2{constructor(t=!1,r=!1){this._isReadonly=t,this._isShallow=r}get(t,r,i){const a=this._isReadonly,n=this._isShallow;if(r==="__v_isReactive")return!a;if(r==="__v_isReadonly")return a;if(r==="__v_isShallow")return n;if(r==="__v_raw")return i===(a?n?k2:N2:n?L2:B2).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(i)?t:void 0;const l=ze(t);if(!a){if(l&&wt(Tm,r))return Reflect.get(Tm,r,i);if(r==="hasOwnProperty")return e8}const c=Reflect.get(t,r,i);return(Ro(r)?T2.has(r):JE(r))||(a||Pr(t,"get",r),n)?c:nr(c)?l&&mv(r)?c:c.value:Rt(c)?a?Ev(c):Ea(c):c}}class I2 extends O2{constructor(t=!1){super(!1,t)}set(t,r,i,a){let n=t[r];if(!this._isShallow){const d=jn(n);if(!wo(i)&&!jn(i)&&(n=ut(n),i=ut(i)),!ze(t)&&nr(n)&&!nr(i))return d?!1:(n.value=i,!0)}const l=ze(t)&&mv(r)?Number(r)e,bh=e=>Reflect.getPrototypeOf(e);function Kl(e,t,r=!1,i=!1){e=e.__v_raw;const a=ut(e),n=ut(t);r||(Fi(t,n)&&Pr(a,"get",t),Pr(a,"get",n));const{has:l}=bh(a),c=i?Sv:r?Av:Jf;if(l.call(a,t))return c(e.get(t));if(l.call(a,n))return c(e.get(n));e!==a&&e.get(t)}function Vl(e,t=!1){const r=this.__v_raw,i=ut(r),a=ut(e);return t||(Fi(e,a)&&Pr(i,"has",e),Pr(i,"has",a)),e===a?r.has(e):r.has(e)||r.has(a)}function zl(e,t=!1){return e=e.__v_raw,!t&&Pr(ut(e),"iterate",sa),Reflect.get(e,"size",e)}function Om(e){e=ut(e);const t=ut(this);return bh(t).has.call(t,e)||(t.add(e),nn(t,"add",e,e)),this}function Im(e,t){t=ut(t);const r=ut(this),{has:i,get:a}=bh(r);let n=i.call(r,e);n?C2(r,i,e):(e=ut(e),n=i.call(r,e));const l=a.call(r,e);return r.set(e,t),n?Fi(t,l)&&nn(r,"set",e,t,l):nn(r,"add",e,t),this}function Pm(e){const t=ut(this),{has:r,get:i}=bh(t);let a=r.call(t,e);a?C2(t,r,e):(e=ut(e),a=r.call(t,e));const n=i?i.call(t,e):void 0,l=t.delete(e);return a&&nn(t,"delete",e,void 0,n),l}function Cm(){const e=ut(this),t=e.size!==0,r=oa(e)?new Map(e):new Set(e),i=e.clear();return t&&nn(e,"clear",void 0,void 0,r),i}function Gl(e,t){return function(i,a){const n=this,l=n.__v_raw,c=ut(l),d=t?Sv:e?Av:Jf;return!e&&Pr(c,"iterate",sa),l.forEach((m,M)=>i.call(a,d(m),d(M),n))}}function Yl(e,t,r){return function(...i){const a=this.__v_raw,n=ut(a),l=oa(n),c=e==="entries"||e===Symbol.iterator&&l,d=e==="keys"&&l,m=a[e](...i),M=r?Sv:t?Av:Jf;return!t&&Pr(n,"iterate",d?H0:sa),{next(){const{value:S,done:R}=m.next();return R?{value:S,done:R}:{value:c?[M(S[0]),M(S[1])]:M(S),done:R}},[Symbol.iterator](){return this}}}}function ro(e){return function(...t){{const r=t[0]?`on key "${t[0]}" `:"";un(`${Ao(e)} operation ${r}failed: target is readonly.`,ut(this))}return e==="delete"?!1:e==="clear"?void 0:this}}function o8(){const e={get(n){return Kl(this,n)},get size(){return zl(this)},has:Vl,add:Om,set:Im,delete:Pm,clear:Cm,forEach:Gl(!1,!1)},t={get(n){return Kl(this,n,!1,!0)},get size(){return zl(this)},has:Vl,add:Om,set:Im,delete:Pm,clear:Cm,forEach:Gl(!1,!0)},r={get(n){return Kl(this,n,!0)},get size(){return zl(this,!0)},has(n){return Vl.call(this,n,!0)},add:ro("add"),set:ro("set"),delete:ro("delete"),clear:ro("clear"),forEach:Gl(!0,!1)},i={get(n){return Kl(this,n,!0,!0)},get size(){return zl(this,!0)},has(n){return Vl.call(this,n,!0)},add:ro("add"),set:ro("set"),delete:ro("delete"),clear:ro("clear"),forEach:Gl(!0,!0)};return["keys","values","entries",Symbol.iterator].forEach(n=>{e[n]=Yl(n,!1,!1),r[n]=Yl(n,!0,!1),t[n]=Yl(n,!1,!0),i[n]=Yl(n,!0,!0)}),[e,r,t,i]}const[a8,s8,f8,l8]=o8();function wh(e,t){const r=t?e?l8:f8:e?s8:a8;return(i,a,n)=>a==="__v_isReactive"?!e:a==="__v_isReadonly"?e:a==="__v_raw"?i:Reflect.get(wt(r,a)&&a in i?r:i,a,n)}const u8={get:wh(!1,!1)},h8={get:wh(!1,!0)},c8={get:wh(!0,!1)},d8={get:wh(!0,!0)};function C2(e,t,r){const i=ut(r);if(i!==r&&t.call(e,i)){const a=gv(e);un(`Reactive ${a} contains both the raw and reactive versions of the same object${a==="Map"?" as keys":""}, which can lead to inconsistencies. Avoid differentiating between the raw and reactive versions of an object and only use the reactive version if possible.`)}}const B2=new WeakMap,L2=new WeakMap,N2=new WeakMap,k2=new WeakMap;function p8(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function v8(e){return e.__v_skip||!Object.isExtensible(e)?0:p8(gv(e))}function Ea(e){return jn(e)?e:_h(e,!1,t8,u8,B2)}function xv(e){return _h(e,!1,i8,h8,L2)}function Ev(e){return _h(e,!0,r8,c8,N2)}function ea(e){return _h(e,!0,n8,d8,k2)}function _h(e,t,r,i,a){if(!Rt(e))return un(`value cannot be made reactive: ${String(e)}`),e;if(e.__v_raw&&!(t&&e.__v_isReactive))return e;const n=a.get(e);if(n)return n;const l=v8(e);if(l===0)return e;const c=new Proxy(e,l===2?i:r);return a.set(e,c),c}function bo(e){return jn(e)?bo(e.__v_raw):!!(e&&e.__v_isReactive)}function jn(e){return!!(e&&e.__v_isReadonly)}function wo(e){return!!(e&&e.__v_isShallow)}function Xf(e){return bo(e)||jn(e)}function ut(e){const t=e&&e.__v_raw;return t?ut(t):e}function Rv(e){return Object.isExtensible(e)&&Bu(e,"__v_skip",!0),e}const Jf=e=>Rt(e)?Ea(e):e,Av=e=>Rt(e)?Ev(e):e,g8="Computed is still dirty after getter evaluation, likely because a computed is mutating its own dependency in its getter. State mutations in computed getters should be avoided. Check the docs for more details: https://vuejs.org/guide/essentials/computed.html#getters-should-be-side-effect-free";class $2{constructor(t,r,i,a){this.getter=t,this._setter=r,this.dep=void 0,this.__v_isRef=!0,this.__v_isReadonly=!1,this.effect=new ps(()=>t(this._value),()=>ts(this,this.effect._dirtyLevel===2?2:3)),this.effect.computed=this,this.effect.active=this._cacheable=!a,this.__v_isReadonly=i}get value(){const t=ut(this);return(!t._cacheable||t.effect.dirty)&&Fi(t._value,t._value=t.effect.run())&&ts(t,4),Tv(t),t.effect._dirtyLevel>=2&&(this._warnRecursive&&un(g8,` + +getter: `,this.getter),ts(t,2)),t._value}set value(t){this._setter(t)}get _dirty(){return this.effect.dirty}set _dirty(t){this.effect.dirty=t}}function m8(e,t,r=!1){let i,a;const n=Qe(e);n?(i=e,a=()=>{un("Write operation failed: computed value is readonly")}):(i=e.get,a=e.set);const l=new $2(i,a,n||!a,r);return t&&!r&&(l.effect.onTrack=t.onTrack,l.effect.onTrigger=t.onTrigger),l}function Tv(e){var t;yo&&aa&&(e=ut(e),E2(aa,(t=e.dep)!=null?t:e.dep=A2(()=>e.dep=void 0,e instanceof $2?e:void 0),{target:e,type:"get",key:"value"}))}function ts(e,t=4,r){e=ut(e);const i=e.dep;i&&R2(i,t,{target:e,type:"set",key:"value",newValue:r})}function nr(e){return!!(e&&e.__v_isRef===!0)}function xr(e){return F2(e,!1)}function D2(e){return F2(e,!0)}function F2(e,t){return nr(e)?e:new y8(e,t)}class y8{constructor(t,r){this.__v_isShallow=r,this.dep=void 0,this.__v_isRef=!0,this._rawValue=r?t:ut(t),this._value=r?t:Jf(t)}get value(){return Tv(this),this._value}set value(t){const r=this.__v_isShallow||wo(t)||jn(t);t=r?t:ut(t),Fi(t,this._rawValue)&&(this._rawValue=t,this._value=r?t:Jf(t),ts(this,4,t))}}function b8(e){ts(e,4,e.value)}function _o(e){return nr(e)?e.value:e}function w8(e){return Qe(e)?e():_o(e)}const _8={get:(e,t,r)=>_o(Reflect.get(e,t,r)),set:(e,t,r,i)=>{const a=e[t];return nr(a)&&!nr(r)?(a.value=r,!0):Reflect.set(e,t,r,i)}};function Ov(e){return bo(e)?e:new Proxy(e,_8)}class M8{constructor(t){this.dep=void 0,this.__v_isRef=!0;const{get:r,set:i}=t(()=>Tv(this),()=>ts(this));this._get=r,this._set=i}get value(){return this._get()}set value(t){this._set(t)}}function j2(e){return new M8(e)}function S8(e){Xf(e)||un("toRefs() expects a reactive object but received a plain one.");const t=ze(e)?new Array(e.length):{};for(const r in e)t[r]=U2(e,r);return t}class x8{constructor(t,r,i){this._object=t,this._key=r,this._defaultValue=i,this.__v_isRef=!0}get value(){const t=this._object[this._key];return t===void 0?this._defaultValue:t}set value(t){this._object[this._key]=t}get dep(){return XE(ut(this._object),this._key)}}class E8{constructor(t){this._getter=t,this.__v_isRef=!0,this.__v_isReadonly=!0}get value(){return this._getter()}}function R8(e,t,r){return nr(e)?e:Qe(e)?new E8(e):Rt(e)&&arguments.length>1?U2(e,t,r):xr(e)}function U2(e,t,r){const i=e[t];return nr(i)?i:new x8(e,t,r)}const A8={GET:"get",HAS:"has",ITERATE:"iterate"},T8={SET:"set",ADD:"add",DELETE:"delete",CLEAR:"clear"};/** +* @vue/runtime-core v3.4.21 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/const fa=[];function kf(e){fa.push(e)}function $f(){fa.pop()}function He(e,...t){Fo();const r=fa.length?fa[fa.length-1].component:null,i=r&&r.appContext.config.warnHandler,a=O8();if(i)on(i,r,11,[e+t.map(n=>{var l,c;return(c=(l=n.toString)==null?void 0:l.call(n))!=null?c:JSON.stringify(n)}).join(""),r&&r.proxy,a.map(({vnode:n})=>`at <${Bh(r,n.type)}>`).join(` +`),a]);else{const n=[`[Vue warn]: ${e}`,...t];a.length&&n.push(` +`,...I8(a)),console.warn(...n)}jo()}function O8(){let e=fa[fa.length-1];if(!e)return[];const t=[];for(;e;){const r=t[0];r&&r.vnode===e?r.recurseCount++:t.push({vnode:e,recurseCount:0});const i=e.component&&e.component.parent;e=i&&i.vnode}return t}function I8(e){const t=[];return e.forEach((r,i)=>{t.push(...i===0?[]:[` +`],...P8(r))}),t}function P8({vnode:e,recurseCount:t}){const r=t>0?`... (${t} recursive calls)`:"",i=e.component?e.component.parent==null:!1,a=` at <${Bh(e.component,e.type,i)}`,n=">"+r;return e.props?[a,...C8(e.props),n]:[a+n]}function C8(e){const t=[],r=Object.keys(e);return r.slice(0,3).forEach(i=>{t.push(...H2(i,e[i]))}),r.length>3&&t.push(" ..."),t}function H2(e,t,r){return Ut(t)?(t=JSON.stringify(t),r?t:[`${e}=${t}`]):typeof t=="number"||typeof t=="boolean"||t==null?r?t:[`${e}=${t}`]:nr(t)?(t=H2(e,ut(t.value),!0),r?t:[`${e}=Ref<`,t,">"]):Qe(t)?[`${e}=fn${t.name?`<${t.name}>`:""}`]:(t=ut(t),r?t:[`${e}=`,t])}function Iv(e,t){e!==void 0&&(typeof e!="number"?He(`${t} is not a valid number - got ${JSON.stringify(e)}.`):isNaN(e)&&He(`${t} is NaN - the duration expression might be incorrect.`))}const B8={SETUP_FUNCTION:0,0:"SETUP_FUNCTION",RENDER_FUNCTION:1,1:"RENDER_FUNCTION",WATCH_GETTER:2,2:"WATCH_GETTER",WATCH_CALLBACK:3,3:"WATCH_CALLBACK",WATCH_CLEANUP:4,4:"WATCH_CLEANUP",NATIVE_EVENT_HANDLER:5,5:"NATIVE_EVENT_HANDLER",COMPONENT_EVENT_HANDLER:6,6:"COMPONENT_EVENT_HANDLER",VNODE_HOOK:7,7:"VNODE_HOOK",DIRECTIVE_HOOK:8,8:"DIRECTIVE_HOOK",TRANSITION_HOOK:9,9:"TRANSITION_HOOK",APP_ERROR_HANDLER:10,10:"APP_ERROR_HANDLER",APP_WARN_HANDLER:11,11:"APP_WARN_HANDLER",FUNCTION_REF:12,12:"FUNCTION_REF",ASYNC_COMPONENT_LOADER:13,13:"ASYNC_COMPONENT_LOADER",SCHEDULER:14,14:"SCHEDULER"},Mh={sp:"serverPrefetch hook",bc:"beforeCreate hook",c:"created hook",bm:"beforeMount hook",m:"mounted hook",bu:"beforeUpdate hook",u:"updated",bum:"beforeUnmount hook",um:"unmounted hook",a:"activated hook",da:"deactivated hook",ec:"errorCaptured hook",rtc:"renderTracked hook",rtg:"renderTriggered hook",0:"setup function",1:"render function",2:"watcher getter",3:"watcher callback",4:"watcher cleanup function",5:"native event handler",6:"component event handler",7:"vnode hook",8:"directive hook",9:"transition hook",10:"app errorHandler",11:"app warnHandler",12:"ref function",13:"async component loader",14:"scheduler flush. This is likely a Vue internals bug. Please open an issue at https://github.com/vuejs/core ."};function on(e,t,r,i){try{return i?e(...i):e()}catch(a){Uo(a,t,r)}}function Zr(e,t,r,i){if(Qe(e)){const n=on(e,t,r,i);return n&&gh(n)&&n.catch(l=>{Uo(l,t,r)}),n}const a=[];for(let n=0;n>>1,a=Ar[i],n=tl(a);nen&&Ar.splice(t,1)}function el(e){ze(e)?rs.push(...e):(!Tn||!Tn.includes(e,e.allowRecurse?so+1:so))&&rs.push(e),W2()}function Bm(e,t,r=Qf?en+1:0){for(t=t||new Map;rtl(r)-tl(i));if(rs.length=0,Tn){Tn.push(...t);return}for(Tn=t,e=e||new Map,so=0;soe.id==null?1/0:e.id,D8=(e,t)=>{const r=tl(e)-tl(t);if(r===0){if(e.pre&&!t.pre)return-1;if(t.pre&&!e.pre)return 1}return r};function K2(e){q0=!1,Qf=!0,e=e||new Map,Ar.sort(D8);const t=r=>Cv(e,r);try{for(en=0;enN8){const i=t.ownerInstance,a=i&&ol(i.type);return Uo(`Maximum recursive updates exceeded${a?` in component <${a}>`:""}. This means you have a reactive effect that is mutating its own dependencies and thus recursively triggering itself. Possible sources include component template, render function, updated hook or watcher source function.`,null,10),!0}else e.set(t,r+1)}}let Mo=!1;const Va=new Set;yv().__VUE_HMR_RUNTIME__={createRecord:Fc(V2),rerender:Fc(U8),reload:Fc(H8)};const pa=new Map;function F8(e){const t=e.type.__hmrId;let r=pa.get(t);r||(V2(t,e.type),r=pa.get(t)),r.instances.add(e)}function j8(e){pa.get(e.type.__hmrId).instances.delete(e)}function V2(e,t){return pa.has(e)?!1:(pa.set(e,{initialDef:Df(t),instances:new Set}),!0)}function Df(e){return K_(e)?e.__vccOpts:e}function U8(e,t){const r=pa.get(e);r&&(r.initialDef.render=t,[...r.instances].forEach(i=>{t&&(i.render=t,Df(i.type).render=t),i.renderCache=[],Mo=!0,i.effect.dirty=!0,i.update(),Mo=!1}))}function H8(e,t){const r=pa.get(e);if(!r)return;t=Df(t),Lm(r.initialDef,t);const i=[...r.instances];for(const a of i){const n=Df(a.type);Va.has(n)||(n!==r.initialDef&&Lm(n,t),Va.add(n)),a.appContext.propsCache.delete(a.type),a.appContext.emitsCache.delete(a.type),a.appContext.optionsCache.delete(a.type),a.ceReload?(Va.add(n),a.ceReload(t.styles),Va.delete(n)):a.parent?(a.parent.effect.dirty=!0,gl(a.parent.update)):a.appContext.reload?a.appContext.reload():typeof window<"u"?window.location.reload():console.warn("[HMR] Root or manually mounted instance modified. Full reload required.")}el(()=>{for(const a of i)Va.delete(Df(a.type))})}function Lm(e,t){$t(e,t);for(const r in e)r!=="__file"&&!(r in t)&&delete e[r]}function Fc(e){return(t,r)=>{try{return e(t,r)}catch(i){console.error(i),console.warn("[HMR] Something went wrong during Vue component hot-reload. Full reload required.")}}}let ki,Of=[],W0=!1;function ml(e,...t){ki?ki.emit(e,...t):W0||Of.push({event:e,args:t})}function Bv(e,t){var r,i;ki=e,ki?(ki.enabled=!0,Of.forEach(({event:a,args:n})=>ki.emit(a,...n)),Of=[]):typeof window<"u"&&window.HTMLElement&&!((i=(r=window.navigator)==null?void 0:r.userAgent)!=null&&i.includes("jsdom"))?((t.__VUE_DEVTOOLS_HOOK_REPLAY__=t.__VUE_DEVTOOLS_HOOK_REPLAY__||[]).push(n=>{Bv(n,t)}),setTimeout(()=>{ki||(t.__VUE_DEVTOOLS_HOOK_REPLAY__=null,W0=!0,Of=[])},3e3)):(W0=!0,Of=[])}function q8(e,t){ml("app:init",e,t,{Fragment:Pt,Text:Oo,Comment:er,Static:So})}function W8(e){ml("app:unmount",e)}const K0=Lv("component:added"),z2=Lv("component:updated"),K8=Lv("component:removed"),V8=e=>{ki&&typeof ki.cleanupBuffer=="function"&&!ki.cleanupBuffer(e)&&K8(e)};function Lv(e){return t=>{ml(e,t.appContext.app,t.uid,t.parent?t.parent.uid:void 0,t)}}const z8=G2("perf:start"),G8=G2("perf:end");function G2(e){return(t,r,i)=>{ml(e,t.appContext.app,t.uid,t,r,i)}}function Y8(e,t,r){ml("component:emit",e.appContext.app,e,t,r)}function Z8(e,t,...r){if(e.isUnmounted)return;const i=e.vnode.props||Lt;{const{emitsOptions:M,propsOptions:[S]}=e;if(M)if(!(t in M))(!S||!(In(t)in S))&&He(`Component emitted event "${t}" but it is neither declared in the emits option nor as an "${In(t)}" prop.`);else{const R=M[t];Qe(R)&&(R(...r)||He(`Invalid event arguments: event validation failed for event "${t}".`))}}let a=r;const n=t.startsWith("update:"),l=n&&t.slice(7);if(l&&l in i){const M=`${l==="modelValue"?"model":l}Modifiers`,{number:S,trim:R}=i[M]||Lt;R&&(a=r.map(P=>Ut(P)?P.trim():P)),S&&(a=r.map(Zf))}Y8(e,t,a);{const M=t.toLowerCase();M!==t&&i[In(M)]&&He(`Event "${M}" is emitted in component ${Bh(e,e.type)} but the handler is registered for "${t}". Note that HTML attributes are case-insensitive and you cannot use v-on to listen to camelCase events when using in-DOM templates. You should probably use "${Rr(t)}" instead of "${t}".`)}let c,d=i[c=In(t)]||i[c=In($r(t))];!d&&n&&(d=i[c=In(Rr(t))]),d&&Zr(d,e,6,a);const m=i[c+"Once"];if(m){if(!e.emitted)e.emitted={};else if(e.emitted[c])return;e.emitted[c]=!0,Zr(m,e,6,a)}}function Y2(e,t,r=!1){const i=t.emitsCache,a=i.get(e);if(a!==void 0)return a;const n=e.emits;let l={},c=!1;if(!Qe(e)){const d=m=>{const M=Y2(m,t,!0);M&&(c=!0,$t(l,M))};!r&&t.mixins.length&&t.mixins.forEach(d),e.extends&&d(e.extends),e.mixins&&e.mixins.forEach(d)}return!n&&!c?(Rt(e)&&i.set(e,null),null):(ze(n)?n.forEach(d=>l[d]=null):$t(l,n),Rt(e)&&i.set(e,l),l)}function Sh(e,t){return!e||!js(t)?!1:(t=t.slice(2).replace(/Once$/,""),wt(e,t[0].toLowerCase()+t.slice(1))||wt(e,Rr(t))||wt(e,t))}let Xt=null,xh=null;function rl(e){const t=Xt;return Xt=e,xh=e&&e.type.__scopeId||null,t}function Z2(e){xh=e}function X2(){xh=null}const X8=e=>Nv;function Nv(e,t=Xt,r){if(!t||e._n)return e;const i=(...a)=>{i._d&&tp(-1);const n=rl(t);let l;try{l=e(...a)}finally{rl(n),i._d&&tp(1)}return z2(t),l};return i._n=!0,i._c=!0,i._d=!0,i}let V0=!1;function $u(){V0=!0}function hu(e){const{type:t,vnode:r,proxy:i,withProxy:a,props:n,propsOptions:[l],slots:c,attrs:d,emit:m,render:M,renderCache:S,data:R,setupState:P,ctx:O,inheritAttrs:N}=e;let B,I;const C=rl(e);V0=!1;try{if(r.shapeFlag&4){const W=a||i,Y=P.__isScriptSetup?new Proxy(W,{get(re,Q,V){return He(`Property '${String(Q)}' was accessed via 'this'. Avoid using 'this' in templates.`),Reflect.get(re,Q,V)}}):W;B=Wr(M.call(Y,W,S,n,P,R,O)),I=d}else{const W=t;d===n&&$u(),B=Wr(W.length>1?W(n,{get attrs(){return $u(),d},slots:c,emit:m}):W(n,null)),I=t.props?d:J8(d)}}catch(W){Uf.length=0,Uo(W,e,1),B=Zt(er)}let j=B,$;if(B.patchFlag>0&&B.patchFlag&2048&&([j,$]=J2(B)),I&&N!==!1){const W=Object.keys(I),{shapeFlag:Y}=j;if(W.length){if(Y&7)l&&W.some(Cu)&&(I=Q8(I,l)),j=pi(j,I);else if(!V0&&j.type!==er){const re=Object.keys(d),Q=[],V=[];for(let ce=0,_=re.length;ce<_;ce++){const o=re[ce];js(o)?Cu(o)||Q.push(o[2].toLowerCase()+o.slice(3)):V.push(o)}V.length&&He(`Extraneous non-props attributes (${V.join(", ")}) were passed to component but could not be automatically inherited because component renders fragment or text root nodes.`),Q.length&&He(`Extraneous non-emits event listeners (${Q.join(", ")}) were passed to component but could not be automatically inherited because component renders fragment or text root nodes. If the listener is intended to be a component custom event listener only, declare it using the "emits" option.`)}}}return r.dirs&&(Nm(j)||He("Runtime directive used on component with non-element root node. The directives will not function as intended."),j=pi(j),j.dirs=j.dirs?j.dirs.concat(r.dirs):r.dirs),r.transition&&(Nm(j)||He("Component inside renders non-element root node that cannot be animated."),j.transition=r.transition),$?$(j):B=j,rl(C),B}const J2=e=>{const t=e.children,r=e.dynamicChildren,i=Eh(t,!1);if(i){if(i.patchFlag>0&&i.patchFlag&2048)return J2(i)}else return[e,void 0];const a=t.indexOf(i),n=r?r.indexOf(i):-1,l=c=>{t[a]=c,r&&(n>-1?r[n]=c:c.patchFlag>0&&(e.dynamicChildren=[...r,c]))};return[Wr(i),l]};function Eh(e,t=!0){let r;for(let i=0;i0&&r.patchFlag&2048)return Eh(r.children)}}else return}return r}const J8=e=>{let t;for(const r in e)(r==="class"||r==="style"||js(r))&&((t||(t={}))[r]=e[r]);return t},Q8=(e,t)=>{const r={};for(const i in e)(!Cu(i)||!(i.slice(9)in t))&&(r[i]=e[i]);return r},Nm=e=>e.shapeFlag&7||e.type===er;function e5(e,t,r){const{props:i,children:a,component:n}=e,{props:l,children:c,patchFlag:d}=t,m=n.emitsOptions;if((a||c)&&Mo||t.dirs||t.transition)return!0;if(r&&d>=0){if(d&1024)return!0;if(d&16)return i?km(i,l,m):!!l;if(d&8){const M=t.dynamicProps;for(let S=0;Se.__isSuspense;let z0=0;const o5={name:"Suspense",__isSuspense:!0,process(e,t,r,i,a,n,l,c,d,m){if(e==null)s5(t,r,i,a,n,l,c,d,m);else{if(n&&n.deps>0&&!e.suspense.isInFallback){t.suspense=e.suspense,t.suspense.vnode=t,t.el=e.el;return}f5(e,t,r,i,a,l,c,d,m)}},hydrate:l5,create:Fv,normalize:u5},a5=o5;function il(e,t){const r=e.props&&e.props[t];Qe(r)&&r()}function s5(e,t,r,i,a,n,l,c,d){const{p:m,o:{createElement:M}}=d,S=M("div"),R=e.suspense=Fv(e,a,i,t,S,r,n,l,c,d);m(null,R.pendingBranch=e.ssContent,S,null,i,R,n,l),R.deps>0?(il(e,"onPending"),il(e,"onFallback"),m(null,e.ssFallback,t,r,i,null,n,l),is(R,e.ssFallback)):R.resolve(!1,!0)}function f5(e,t,r,i,a,n,l,c,{p:d,um:m,o:{createElement:M}}){const S=t.suspense=e.suspense;S.vnode=t,t.el=e.el;const R=t.ssContent,P=t.ssFallback,{activeBranch:O,pendingBranch:N,isInFallback:B,isHydrating:I}=S;if(N)S.pendingBranch=R,$i(R,N)?(d(N,R,S.hiddenContainer,null,a,S,n,l,c),S.deps<=0?S.resolve():B&&(I||(d(O,P,r,i,a,null,n,l,c),is(S,P)))):(S.pendingId=z0++,I?(S.isHydrating=!1,S.activeBranch=N):m(N,a,S),S.deps=0,S.effects.length=0,S.hiddenContainer=M("div"),B?(d(null,R,S.hiddenContainer,null,a,S,n,l,c),S.deps<=0?S.resolve():(d(O,P,r,i,a,null,n,l,c),is(S,P))):O&&$i(R,O)?(d(O,R,r,i,a,S,n,l,c),S.resolve(!0)):(d(null,R,S.hiddenContainer,null,a,S,n,l,c),S.deps<=0&&S.resolve()));else if(O&&$i(R,O))d(O,R,r,i,a,S,n,l,c),is(S,R);else if(il(t,"onPending"),S.pendingBranch=R,R.shapeFlag&512?S.pendingId=R.component.suspenseId:S.pendingId=z0++,d(null,R,S.hiddenContainer,null,a,S,n,l,c),S.deps<=0)S.resolve();else{const{timeout:C,pendingId:j}=S;C>0?setTimeout(()=>{S.pendingId===j&&S.fallback(P)},C):C===0&&S.fallback(P)}}let Dm=!1;function Fv(e,t,r,i,a,n,l,c,d,m,M=!1){Dm||(Dm=!0,console[console.info?"info":"log"](" is an experimental feature and its API will likely change."));const{p:S,m:R,um:P,n:O,o:{parentNode:N,remove:B}}=m;let I;const C=h5(e);C&&t!=null&&t.pendingBranch&&(I=t.pendingId,t.deps++);const j=e.props?Lu(e.props.timeout):void 0;Iv(j,"Suspense timeout");const $=n,W={vnode:e,parent:t,parentComponent:r,namespace:l,container:i,hiddenContainer:a,deps:0,pendingId:z0++,timeout:typeof j=="number"?j:-1,activeBranch:null,pendingBranch:null,isInFallback:!M,isHydrating:M,isUnmounted:!1,effects:[],resolve(Y=!1,re=!1){{if(!Y&&!W.pendingBranch)throw new Error("suspense.resolve() is called without a pending branch.");if(W.isUnmounted)throw new Error("suspense.resolve() is called on an already unmounted suspense boundary.")}const{vnode:Q,activeBranch:V,pendingBranch:ce,pendingId:_,effects:o,parentComponent:f,container:u}=W;let h=!1;W.isHydrating?W.isHydrating=!1:Y||(h=V&&ce.transition&&ce.transition.mode==="out-in",h&&(V.transition.afterLeave=()=>{_===W.pendingId&&(R(ce,u,n===$?O(V):n,0),el(o))}),V&&(N(V.el)!==W.hiddenContainer&&(n=O(V)),P(V,f,W,!0)),h||R(ce,u,n,0)),is(W,ce),W.pendingBranch=null,W.isInFallback=!1;let p=W.parent,w=!1;for(;p;){if(p.pendingBranch){p.effects.push(...o),w=!0;break}p=p.parent}!w&&!h&&el(o),W.effects=[],C&&t&&t.pendingBranch&&I===t.pendingId&&(t.deps--,t.deps===0&&!re&&t.resolve()),il(Q,"onResolve")},fallback(Y){if(!W.pendingBranch)return;const{vnode:re,activeBranch:Q,parentComponent:V,container:ce,namespace:_}=W;il(re,"onFallback");const o=O(Q),f=()=>{W.isInFallback&&(S(null,Y,ce,o,V,null,_,c,d),is(W,Y))},u=Y.transition&&Y.transition.mode==="out-in";u&&(Q.transition.afterLeave=f),W.isInFallback=!0,P(Q,V,null,!0),u||f()},move(Y,re,Q){W.activeBranch&&R(W.activeBranch,Y,re,Q),W.container=Y},next(){return W.activeBranch&&O(W.activeBranch)},registerDep(Y,re){const Q=!!W.pendingBranch;Q&&W.deps++;const V=Y.vnode.el;Y.asyncDep.catch(ce=>{Uo(ce,Y,0)}).then(ce=>{if(Y.isUnmounted||W.isUnmounted||W.pendingId!==Y.suspenseId)return;Y.asyncResolved=!0;const{vnode:_}=Y;kf(_),ap(Y,ce,!1),V&&(_.el=V);const o=!V&&Y.subTree.el;re(Y,_,N(V||Y.subTree.el),V?null:O(Y.subTree),W,l,d),o&&B(o),kv(Y,_.el),$f(),Q&&--W.deps===0&&W.resolve()})},unmount(Y,re){W.isUnmounted=!0,W.activeBranch&&P(W.activeBranch,r,Y,re),W.pendingBranch&&P(W.pendingBranch,r,Y,re)}};return W}function l5(e,t,r,i,a,n,l,c,d){const m=t.suspense=Fv(t,i,r,e.parentNode,document.createElement("div"),null,a,n,l,c,!0),M=d(e,m.pendingBranch=t.ssContent,r,m,n,l);return m.deps===0&&m.resolve(!1,!0),M}function u5(e){const{shapeFlag:t,children:r}=e,i=t&32;e.ssContent=Fm(i?r.default:r),e.ssFallback=i?Fm(r.fallback):Zt(er)}function Fm(e){let t;if(Qe(e)){const r=ga&&e._c;r&&(e._d=!1,tt()),e=e(),r&&(e._d=!0,t=Kr,L_())}if(ze(e)){const r=Eh(e);!r&&e.filter(i=>i!==$v).length>0&&He(" slots expect a single root node."),e=r}return e=Wr(e),t&&!e.dynamicChildren&&(e.dynamicChildren=t.filter(r=>r!==e)),e}function e_(e,t){t&&t.pendingBranch?ze(e)?t.effects.push(...e):t.effects.push(e):el(e)}function is(e,t){e.activeBranch=t;const{vnode:r,parentComponent:i}=e;let a=t.el;for(;!a&&t.component;)t=t.component.subTree,a=t.el;r.el=a,i&&i.subTree===r&&(i.vnode.el=a,kv(i,a))}function h5(e){var t;return((t=e.props)==null?void 0:t.suspensible)!=null&&e.props.suspensible!==!1}const t_=Symbol.for("v-scx"),r_=()=>{{const e=an(t_);return e||He("Server rendering context not provided. Make sure to only call useSSRContext() conditionally in the server build."),e}};function i_(e,t){return yl(e,null,t)}function n_(e,t){return yl(e,null,$t({},t,{flush:"post"}))}function o_(e,t){return yl(e,null,$t({},t,{flush:"sync"}))}const Zl={};function Er(e,t,r){return Qe(t)||He("`watch(fn, options?)` signature has been moved to a separate API. Use `watchEffect(fn, options?)` instead. `watch` now only supports `watch(source, cb, options?) signature."),yl(e,t,r)}function yl(e,t,{immediate:r,deep:i,flush:a,once:n,onTrack:l,onTrigger:c}=Lt){if(t&&n){const re=t;t=(...Q)=>{re(...Q),Y()}}i!==void 0&&typeof i=="number"&&He('watch() "deep" option with number value will be used as watch depth in future versions. Please use a boolean instead to avoid potential breakage.'),t||(r!==void 0&&He('watch() "immediate" option is only respected when using the watch(source, callback, options?) signature.'),i!==void 0&&He('watch() "deep" option is only respected when using the watch(source, callback, options?) signature.'),n!==void 0&&He('watch() "once" option is only respected when using the watch(source, callback, options?) signature.'));const d=re=>{He("Invalid watch source: ",re,"A watch source can only be a getter/effect function, a ref, a reactive object, or an array of these types.")},m=Qt,M=re=>i===!0?re:ta(re,i===!1?1:void 0);let S,R=!1,P=!1;if(nr(e)?(S=()=>e.value,R=wo(e)):bo(e)?(S=()=>M(e),R=!0):ze(e)?(P=!0,R=e.some(re=>bo(re)||wo(re)),S=()=>e.map(re=>{if(nr(re))return re.value;if(bo(re))return M(re);if(Qe(re))return on(re,m,2);d(re)})):Qe(e)?t?S=()=>on(e,m,2):S=()=>(O&&O(),Zr(e,m,3,[N])):(S=gr,d(e)),t&&i){const re=S;S=()=>ta(re())}let O,N=re=>{O=$.onStop=()=>{on(re,m,4),O=$.onStop=void 0}},B;if(bl)if(N=gr,t?r&&Zr(t,m,3,[S(),P?[]:void 0,N]):S(),a==="sync"){const re=r_();B=re.__watcherHandles||(re.__watcherHandles=[])}else return gr;let I=P?new Array(e.length).fill(Zl):Zl;const C=()=>{if(!(!$.active||!$.dirty))if(t){const re=$.run();(i||R||(P?re.some((Q,V)=>Fi(Q,I[V])):Fi(re,I)))&&(O&&O(),Zr(t,m,3,[re,I===Zl?void 0:P&&I[0]===Zl?[]:I,N]),I=re)}else $.run()};C.allowRecurse=!!t;let j;a==="sync"?j=C:a==="post"?j=()=>vr(C,m&&m.suspense):(C.pre=!0,m&&(C.id=m.uid),j=()=>gl(C));const $=new ps(S,gr,j),W=M2(),Y=()=>{$.stop(),W&&vv(W.effects,$)};return $.onTrack=l,$.onTrigger=c,t?r?C():I=$.run():a==="post"?vr($.run.bind($),m&&m.suspense):$.run(),B&&B.push(Y),Y}function c5(e,t,r){const i=this.proxy,a=Ut(e)?e.includes(".")?a_(i,e):()=>i[e]:e.bind(i,i);let n;Qe(t)?n=t:(n=t.handler,r=t);const l=ma(this),c=yl(a,n.bind(i),r);return l(),c}function a_(e,t){const r=t.split(".");return()=>{let i=e;for(let a=0;a0){if(r>=t)return e;r++}if(i=i||new Set,i.has(e))return e;if(i.add(e),nr(e))ta(e.value,t,r,i);else if(ze(e))for(let a=0;a{ta(a,t,r,i)});else if(m2(e))for(const a in e)ta(e[a],t,r,i);return e}function s_(e){EE(e)&&He("Do not use built-in directive ids as custom directive id: "+e)}function cu(e,t){if(Xt===null)return He("withDirectives can only be used inside render functions."),e;const r=Ch(Xt)||Xt.proxy,i=e.dirs||(e.dirs=[]);for(let a=0;a{e.isMounted=!0}),Oh(()=>{e.isUnmounting=!0}),e}const oi=[Function,Array],Uv={mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:oi,onEnter:oi,onAfterEnter:oi,onEnterCancelled:oi,onBeforeLeave:oi,onLeave:oi,onAfterLeave:oi,onLeaveCancelled:oi,onBeforeAppear:oi,onAppear:oi,onAfterAppear:oi,onAppearCancelled:oi},d5={name:"BaseTransition",props:Uv,setup(e,{slots:t}){const r=bi(),i=jv();return()=>{const a=t.default&&Rh(t.default(),!0);if(!a||!a.length)return;let n=a[0];if(a.length>1){let R=!1;for(const P of a)if(P.type!==er){if(R){He(" can only be used on a single element or component. Use for lists.");break}n=P,R=!0}}const l=ut(e),{mode:c}=l;if(c&&c!=="in-out"&&c!=="out-in"&&c!=="default"&&He(`invalid mode: ${c}`),i.isLeaving)return jc(n);const d=jm(n);if(!d)return jc(n);const m=vs(d,l,i,r);va(d,m);const M=r.subTree,S=M&&jm(M);if(S&&S.type!==er&&!$i(d,S)){const R=vs(S,l,i,r);if(va(S,R),c==="out-in")return i.isLeaving=!0,R.afterLeave=()=>{i.isLeaving=!1,r.update.active!==!1&&(r.effect.dirty=!0,r.update())},jc(n);c==="in-out"&&d.type!==er&&(R.delayLeave=(P,O,N)=>{const B=l_(i,S);B[String(S.key)]=S,P[fo]=()=>{O(),P[fo]=void 0,delete m.delayedLeave},m.delayedLeave=N})}return n}}},f_=d5;function l_(e,t){const{leavingVNodes:r}=e;let i=r.get(t.type);return i||(i=Object.create(null),r.set(t.type,i)),i}function vs(e,t,r,i){const{appear:a,mode:n,persisted:l=!1,onBeforeEnter:c,onEnter:d,onAfterEnter:m,onEnterCancelled:M,onBeforeLeave:S,onLeave:R,onAfterLeave:P,onLeaveCancelled:O,onBeforeAppear:N,onAppear:B,onAfterAppear:I,onAppearCancelled:C}=t,j=String(e.key),$=l_(r,e),W=(Q,V)=>{Q&&Zr(Q,i,9,V)},Y=(Q,V)=>{const ce=V[1];W(Q,V),ze(Q)?Q.every(_=>_.length<=1)&&ce():Q.length<=1&&ce()},re={mode:n,persisted:l,beforeEnter(Q){let V=c;if(!r.isMounted)if(a)V=N||c;else return;Q[fo]&&Q[fo](!0);const ce=$[j];ce&&$i(e,ce)&&ce.el[fo]&&ce.el[fo](),W(V,[Q])},enter(Q){let V=d,ce=m,_=M;if(!r.isMounted)if(a)V=B||d,ce=I||m,_=C||M;else return;let o=!1;const f=Q[Xl]=u=>{o||(o=!0,u?W(_,[Q]):W(ce,[Q]),re.delayedLeave&&re.delayedLeave(),Q[Xl]=void 0)};V?Y(V,[Q,f]):f()},leave(Q,V){const ce=String(e.key);if(Q[Xl]&&Q[Xl](!0),r.isUnmounting)return V();W(S,[Q]);let _=!1;const o=Q[fo]=f=>{_||(_=!0,V(),f?W(O,[Q]):W(P,[Q]),Q[fo]=void 0,$[ce]===e&&delete $[ce])};$[ce]=e,R?Y(R,[Q,o]):o()},clone(Q){return vs(Q,t,r,i)}};return re}function jc(e){if(qs(e))return e=pi(e),e.children=null,e}function jm(e){return qs(e)?e.component?e.component.subTree:e.children?e.children[0]:void 0:e}function va(e,t){e.shapeFlag&6&&e.component?va(e.component.subTree,t):e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function Rh(e,t=!1,r){let i=[],a=0;for(let n=0;n1)for(let n=0;n$t({name:e.name},t,{setup:e}))():e}const la=e=>!!e.type.__asyncLoader;/*! #__NO_SIDE_EFFECTS__ */function p5(e){Qe(e)&&(e={loader:e});const{loader:t,loadingComponent:r,errorComponent:i,delay:a=200,timeout:n,suspensible:l=!0,onError:c}=e;let d=null,m,M=0;const S=()=>(M++,d=null,R()),R=()=>{let P;return d||(P=d=t().catch(O=>{if(O=O instanceof Error?O:new Error(String(O)),c)return new Promise((N,B)=>{c(O,()=>N(S()),()=>B(O),M+1)});throw O}).then(O=>{if(P!==d&&d)return d;if(O||He("Async component loader resolved to undefined. If you are using retry(), make sure to return its return value."),O&&(O.__esModule||O[Symbol.toStringTag]==="Module")&&(O=O.default),O&&!Rt(O)&&!Qe(O))throw new Error(`Invalid async component load result: ${O}`);return m=O,O}))};return Hs({name:"AsyncComponentWrapper",__asyncLoader:R,get __asyncResolved(){return m},setup(){const P=Qt;if(m)return()=>Uc(m,P);const O=C=>{d=null,Uo(C,P,13,!i)};if(l&&P.suspense||bl)return R().then(C=>()=>Uc(C,P)).catch(C=>(O(C),()=>i?Zt(i,{error:C}):null));const N=xr(!1),B=xr(),I=xr(!!a);return a&&setTimeout(()=>{I.value=!1},a),n!=null&&setTimeout(()=>{if(!N.value&&!B.value){const C=new Error(`Async component timed out after ${n}ms.`);O(C),B.value=C}},n),R().then(()=>{N.value=!0,P.parent&&qs(P.parent.vnode)&&(P.parent.effect.dirty=!0,gl(P.parent.update))}).catch(C=>{O(C),B.value=C}),()=>{if(N.value&&m)return Uc(m,P);if(B.value&&i)return Zt(i,{error:B.value});if(r&&!I.value)return Zt(r)}}})}function Uc(e,t){const{ref:r,props:i,children:a,ce:n}=t.vnode,l=Zt(e,i,a);return l.ref=r,l.ce=n,delete t.vnode.ce,l}const qs=e=>e.type.__isKeepAlive,v5={name:"KeepAlive",__isKeepAlive:!0,props:{include:[String,RegExp,Array],exclude:[String,RegExp,Array],max:[String,Number]},setup(e,{slots:t}){const r=bi(),i=r.ctx;if(!i.renderer)return()=>{const C=t.default&&t.default();return C&&C.length===1?C[0]:C};const a=new Map,n=new Set;let l=null;r.__v_cache=a;const c=r.suspense,{renderer:{p:d,m,um:M,o:{createElement:S}}}=i,R=S("div");i.activate=(C,j,$,W,Y)=>{const re=C.component;m(C,j,$,0,c),d(re.vnode,C,j,$,re,c,W,C.slotScopeIds,Y),vr(()=>{re.isDeactivated=!1,re.a&&po(re.a);const Q=C.props&&C.props.onVnodeMounted;Q&&Ur(Q,re.parent,C)},c),K0(re)},i.deactivate=C=>{const j=C.component;m(C,R,null,1,c),vr(()=>{j.da&&po(j.da);const $=C.props&&C.props.onVnodeUnmounted;$&&Ur($,j.parent,C),j.isDeactivated=!0},c),K0(j)};function P(C){Hc(C),M(C,r,c,!0)}function O(C){a.forEach((j,$)=>{const W=ol(j.type);W&&(!C||!C(W))&&N($)})}function N(C){const j=a.get(C);!l||!$i(j,l)?P(j):l&&Hc(l),a.delete(C),n.delete(C)}Er(()=>[e.include,e.exclude],([C,j])=>{C&&O($=>If(C,$)),j&&O($=>!If(j,$))},{flush:"post",deep:!0});let B=null;const I=()=>{B!=null&&a.set(B,qc(r.subTree))};return Ws(I),Th(I),Oh(()=>{a.forEach(C=>{const{subTree:j,suspense:$}=r,W=qc(j);if(C.type===W.type&&C.key===W.key){Hc(W);const Y=W.component.da;Y&&vr(Y,$);return}P(C)})}),()=>{if(B=null,!t.default)return null;const C=t.default(),j=C[0];if(C.length>1)return He("KeepAlive should contain exactly one component child."),l=null,C;if(!Un(j)||!(j.shapeFlag&4)&&!(j.shapeFlag&128))return l=null,j;let $=qc(j);const W=$.type,Y=ol(la($)?$.type.__asyncResolved||{}:W),{include:re,exclude:Q,max:V}=e;if(re&&(!Y||!If(re,Y))||Q&&Y&&If(Q,Y))return l=$,j;const ce=$.key==null?W:$.key,_=a.get(ce);return $.el&&($=pi($),j.shapeFlag&128&&(j.ssContent=$)),B=ce,_?($.el=_.el,$.component=_.component,$.transition&&va($,$.transition),$.shapeFlag|=512,n.delete(ce),n.add(ce)):(n.add(ce),V&&n.size>parseInt(V,10)&&N(n.values().next().value)),$.shapeFlag|=256,l=$,Q2(j.type)?j:$}}},g5=v5;function If(e,t){return ze(e)?e.some(r=>If(r,t)):Ut(e)?e.split(",").includes(t):xE(e)?e.test(t):!1}function u_(e,t){c_(e,"a",t)}function h_(e,t){c_(e,"da",t)}function c_(e,t,r=Qt){const i=e.__wdc||(e.__wdc=()=>{let a=r;for(;a;){if(a.isDeactivated)return;a=a.parent}return e()});if(Ah(t,i,r),r){let a=r.parent;for(;a&&a.parent;)qs(a.parent.vnode)&&m5(i,t,r,a),a=a.parent}}function m5(e,t,r,i){const a=Ah(t,e,i,!0);Ih(()=>{vv(i[t],a)},r)}function Hc(e){e.shapeFlag&=-257,e.shapeFlag&=-513}function qc(e){return e.shapeFlag&128?e.ssContent:e}function Ah(e,t,r=Qt,i=!1){if(r){const a=r[e]||(r[e]=[]),n=t.__weh||(t.__weh=(...l)=>{if(r.isUnmounted)return;Fo();const c=ma(r),d=Zr(t,r,e,l);return c(),jo(),d});return i?a.unshift(n):a.push(n),n}else{const a=In(Mh[e].replace(/ hook$/,""));He(`${a} is called when there is no active component instance to be associated with. Lifecycle injection APIs can only be used during execution of setup(). If you are using async setup(), make sure to register lifecycle hooks before the first await statement.`)}}const Xn=e=>(t,r=Qt)=>(!bl||e==="sp")&&Ah(e,(...i)=>t(...i),r),d_=Xn("bm"),Ws=Xn("m"),Hv=Xn("bu"),Th=Xn("u"),Oh=Xn("bum"),Ih=Xn("um"),p_=Xn("sp"),v_=Xn("rtg"),g_=Xn("rtc");function m_(e,t=Qt){Ah("ec",e,t)}function Bi(e,t,r,i){let a;const n=r&&r[i];if(ze(e)||Ut(e)){a=new Array(e.length);for(let l=0,c=e.length;lt(l,c,void 0,n&&n[c]));else{const l=Object.keys(e);a=new Array(l.length);for(let c=0,d=l.length;c{const n=i.fn(...a);return n&&(n.key=i.key),n}:i.fn)}return e}function G0(e,t,r={},i,a){if(Xt.isCE||Xt.parent&&la(Xt.parent)&&Xt.parent.isCE)return t!=="default"&&(r.name=t),Zt("slot",r,i&&i());let n=e[t];n&&n.length>1&&(He("SSR-optimized slot function detected in a non-SSR-optimized render function. You need to mark this component with $dynamic-slots in the parent template."),n=()=>[]),n&&n._c&&(n._d=!1),tt();const l=n&&y_(n(r)),c=Vv(Pt,{key:r.key||l&&l.key||`_${t}`},l||(i?i():[]),l&&e._===1?64:-2);return!a&&c.scopeId&&(c.slotScopeIds=[c.scopeId+"-s"]),n&&n._c&&(n._d=!0),c}function y_(e){return e.some(t=>Un(t)?!(t.type===er||t.type===Pt&&!y_(t.children)):!0)?e:null}function b5(e,t){const r={};if(!Rt(e))return He("v-on with no argument expects an object value."),r;for(const i in e)r[t&&/[A-Z]/.test(i)?`on:${i}`:In(i)]=e[i];return r}const Y0=e=>e?U_(e)?Ch(e)||e.proxy:Y0(e.parent):null,ua=$t(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>ea(e.props),$attrs:e=>ea(e.attrs),$slots:e=>ea(e.slots),$refs:e=>ea(e.refs),$parent:e=>Y0(e.parent),$root:e=>Y0(e.root),$emit:e=>e.emit,$options:e=>Wv(e),$forceUpdate:e=>e.f||(e.f=()=>{e.effect.dirty=!0,gl(e.update)}),$nextTick:e=>e.n||(e.n=$n.bind(e.proxy)),$watch:e=>c5.bind(e)}),qv=e=>e==="_"||e==="$",Wc=(e,t)=>e!==Lt&&!e.__isScriptSetup&&wt(e,t),Ff={get({_:e},t){const{ctx:r,setupState:i,data:a,props:n,accessCache:l,type:c,appContext:d}=e;if(t==="__isVue")return!0;let m;if(t[0]!=="$"){const P=l[t];if(P!==void 0)switch(P){case 1:return i[t];case 2:return a[t];case 4:return r[t];case 3:return n[t]}else{if(Wc(i,t))return l[t]=1,i[t];if(a!==Lt&&wt(a,t))return l[t]=2,a[t];if((m=e.propsOptions[0])&&wt(m,t))return l[t]=3,n[t];if(r!==Lt&&wt(r,t))return l[t]=4,r[t];Z0&&(l[t]=0)}}const M=ua[t];let S,R;if(M)return t==="$attrs"?(Pr(e,"get",t),$u()):t==="$slots"&&Pr(e,"get",t),M(e);if((S=c.__cssModules)&&(S=S[t]))return S;if(r!==Lt&&wt(r,t))return l[t]=4,r[t];if(R=d.config.globalProperties,wt(R,t))return R[t];Xt&&(!Ut(t)||t.indexOf("__v")!==0)&&(a!==Lt&&qv(t[0])&&wt(a,t)?He(`Property ${JSON.stringify(t)} must be accessed via $data because it starts with a reserved character ("$" or "_") and is not proxied on the render context.`):e===Xt&&He(`Property ${JSON.stringify(t)} was accessed during render but is not defined on instance.`))},set({_:e},t,r){const{data:i,setupState:a,ctx:n}=e;return Wc(a,t)?(a[t]=r,!0):a.__isScriptSetup&&wt(a,t)?(He(`Cannot mutate - - - - - - + + + + + + +