diff --git a/web/settings/assets/ChargeLog-2cecb929.js b/web/settings/assets/ChargeLog-d0f0c940.js
similarity index 99%
rename from web/settings/assets/ChargeLog-2cecb929.js
rename to web/settings/assets/ChargeLog-d0f0c940.js
index 3533fea9b4..ec7703a796 100644
--- a/web/settings/assets/ChargeLog-2cecb929.js
+++ b/web/settings/assets/ChargeLog-d0f0c940.js
@@ -1,3 +1,3 @@
-import{l as N,a2 as k,a3 as B,F as E}from"./vendor-fortawesome-855c7d62.js";import{_ as x,a1 as S,u,l as h,m as c,G as g,E as i,A as s,x as V,z as I,B as d,F as n,P as _,q as w}from"./vendor-cc4615be.js";import{C as W}from"./index-d6a3d34f.js";import"./vendor-sortablejs-7c09d6dd.js";import"./vendor-bootstrap-09a7ccd9.js";import"./vendor-jquery-13cad4c1.js";import"./vendor-axios-3dcaeec5.js";N.add(k,B);const F={name:"OpenwbChargeLogView",components:{Vue3TableLite:S,FontAwesomeIcon:E},mixins:[W],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/general/charge_log_data_config","openWB/chargepoint/+/config","openWB/vehicle/+/name"],currentMonth:"",chargeLogRequestData:{month:"",year:"",filter:{chargepoint:{id:[]},vehicle:{id:[],tag:[],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:"Dauer",field:"time_time_charged",sortable:!0},{label:"Kosten",field:"data_costs",sortable:!0},{label:"Energieaufteilung",field:"data_power_source",sortable:!1},{label:"Fahrzeug",field:"vehicle_name",sortable:!0},{label:"Lademodus",field:"vehicle_chargemode",sortable:!0},{label:"Priorität",field:"vehicle_prio",sortable:!0},{label:"ID-Tag",field:"vehicle_rfid",sortable:!0},{label:"SoC Beginn",field:"vehicle_soc_at_start",sortable:!0},{label:"SoC Ende",field:"vehicle_soc_at_end",sortable:!0},{label:"Ladepunkt",field:"chargepoint_name",sortable:!0},{label:"Seriennummer",field:"chargepoint_serial_number",sortable:!0},{label:"Energie",field:"data_imported_since_mode_switch",sortable:!0},{label:"Zähler Beginn",field:"chargepoint_imported_at_start",sortable:!0},{label:"Zähler Ende",field:"chargepoint_imported_at_end",sortable:!0}],sortable:{order:"timestamp_begin",sort:"asc"}},totals:{columns:[{label:"Dauer",field:"time_charged",sortable:!1},{label:"Energie",field:"imported_since_mode_switch",sortable:!1},{label:"Reichweite",field:"range_charged",sortable:!1},{label:"Kosten",field:"costs",sortable:!1}]}}},computed:{mqttClientId(){return this.$root.mqttClientId},baseUrl(){const t=parseInt(location.port)||(location.protocol==="https:"?443:80);return`${location.protocol}//${location.hostname}:${t}/openWB/web/settings/downloadChargeLog.php`},downloadUrlMonth(){return!this.chargeLogRequestData.year||!this.chargeLogRequestData.month?(console.error("Fehlende Parameter für Monat oder Jahr"),null):`${this.baseUrl}?year=${this.chargeLogRequestData.year}&month=${this.chargeLogRequestData.month}`},downloadUrlYear(){return this.chargeLogRequestData.year?`${this.baseUrl}?year=${this.chargeLogRequestData.year}`:(console.error("Fehlendes Jahr"),null)},chargeLogDate:{get(){return this.chargeLogRequestData.year+"-"+this.chargeLogRequestData.month},set(t){let e=t.split("-");this.chargeLogRequestData.year=e[0],this.chargeLogRequestData.month=e[1]}},chargeLogTotals(){return this.$store.state.mqtt["openWB/log/"+this.mqttClientId+"/data"]?[this.$store.state.mqtt["openWB/log/"+this.mqttClientId+"/data"].totals]:[]},chargeLogColumns(){return this.table.columns.map(t=>({...t,headerClasses:this.addClasses(t.field),columnClasses:this.addClasses(t.field)}))},chargeLogDataset:{get(){if(this.$store.state.mqtt["openWB/log/"+this.mqttClientId+"/data"]==null)return[];try{return this.$store.state.mqtt["openWB/log/"+this.mqttClientId+"/data"].entries.map(t=>{var e=Date.parse(t.time.begin),o=Date.parse(t.time.end);return{chargepoint_id:t.chargepoint.id,chargepoint_name:t.chargepoint.name,chargepoint_imported_at_start:t.chargepoint.imported_at_start,chargepoint_imported_at_end:t.chargepoint.imported_at_end,chargepoint_serial_number:t.chargepoint.serial_number,vehicle_id:t.vehicle.id,vehicle_name:t.vehicle.name,vehicle_chargemode:this.translateChargeMode(t.vehicle.chargemode),vehicle_rfid:t.vehicle.rfid,vehicle_prio:t.vehicle.prio,vehicle_soc_at_start:t.vehicle.soc_at_start,vehicle_soc_at_end:t.vehicle.soc_at_end,vehicle_range_at_start:t.vehicle.range_at_start,vehicle_range_at_end:t.vehicle.range_at_end,timestamp_begin:e/1e3,time_begin:isNaN(e)?null:this.dateTimeFormat.format(new Date(e)),timestamp_end:o/1e3,time_end:isNaN(o)?null:this.dateTimeFormat.format(new Date(o)),time_time_charged:t.time.time_charged,data_power_source:t.data.power_source?{pv:t.data.power_source.pv*100,grid:t.data.power_source.grid*100,bat:t.data.power_source.bat*100,cp:t.data.power_source.cp*100}:void 0,data_range_charged:t.data.range_charged,data_costs:t.data.costs,data_imported_since_plugged:t.data.imported_since_plugged,data_imported_since_mode_switch:t.data.imported_since_mode_switch}})}catch(t){return console.error(t),[]}}},chargeLogCsv:{get(){return[['"Beginn"','"Ende"','"Zeitstempel Beginn"','"Zeitstempel Ende"','"Dauer"','"Kosten"','"Energieanteil Netz"','"Energieanteil Ladepunkte"','"Energieanteil Speicher"','"Energieanteil PV"','"Fahrzeug"','"Fahrzeug-ID"','"Lademodus"','"Priorität"','"ID-Tag"','"SoC Beginn"','"SoC Ende"','"Reichweite Beginn"','"Reichweite Ende"','"Ladepunkt"','"Ladepunkt-ID"','"Zähler Seriennummer"','"Energie"','"Reichweite"','"Zählerstand Beginn"','"Zählerstand Ende"','"Energie seit Anstecken"'],...this.chargeLogDataset.map(e=>[e.time_begin==null?"":'"'+e.time_begin+'"',e.time_end==null?"":'"'+e.time_end+'"',e.timestamp_begin==null||isNaN(e.timestamp_begin)?"":e.timestamp_begin,e.timestamp_end==null||isNaN(e.timestamp_end)?"":e.timestamp_end,'"'+e.time_time_charged+'"',this.formatCosts(e.data_costs,!1),e.data_power_source==null?"":this.formatNumber(e.data_power_source.grid,2),e.data_power_source==null?"":this.formatNumber(e.data_power_source.cp,2),e.data_power_source==null?"":this.formatNumber(e.data_power_source.bat,2),e.data_power_source==null?"":this.formatNumber(e.data_power_source.pv,2),'"'+e.vehicle_name+'"',e.vehicle_id,'"'+e.vehicle_chargemode+'"','"'+this.formatBool(e.vehicle_prio)+'"',e.vehicle_rfid==null?"":'"'+e.vehicle_rfid+'"',e.vehicle_soc_at_start==null?"":this.formatNumber(e.vehicle_soc_at_start,0),e.vehicle_soc_at_end==null?"":this.formatNumber(e.vehicle_soc_at_end,0),e.vehicle_range_at_start==null?"":this.formatNumber(e.vehicle_range_at_start,0),e.vehicle_range_at_end==null?"":this.formatNumber(e.vehicle_range_at_end,0),'"'+e.chargepoint_name+'"',e.chargepoint_id,e.chargepoint_serial_number==null?"":'"'+e.chargepoint_serial_number+'"',this.formatNumber(e.data_imported_since_mode_switch/1e3,2),this.formatNumber(e.data_range_charged,0),this.formatNumber(e.chargepoint_imported_at_start/1e3,2),this.formatNumber(e.chargepoint_imported_at_end/1e3,2),this.formatNumber(e.data_imported_since_plugged/1e3,2)])].map(e=>e.join(";")).join(`
+import{l as N,a2 as k,a3 as B,F as E}from"./vendor-fortawesome-855c7d62.js";import{_ as x,a1 as S,u,l as h,m as c,G as g,E as i,A as s,x as V,z as I,B as d,F as n,P as _,q as w}from"./vendor-cc4615be.js";import{C as W}from"./index-5b5e1b75.js";import"./vendor-sortablejs-7c09d6dd.js";import"./vendor-bootstrap-09a7ccd9.js";import"./vendor-jquery-13cad4c1.js";import"./vendor-axios-3dcaeec5.js";N.add(k,B);const F={name:"OpenwbChargeLogView",components:{Vue3TableLite:S,FontAwesomeIcon:E},mixins:[W],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/general/charge_log_data_config","openWB/chargepoint/+/config","openWB/vehicle/+/name"],currentMonth:"",chargeLogRequestData:{month:"",year:"",filter:{chargepoint:{id:[]},vehicle:{id:[],tag:[],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:"Dauer",field:"time_time_charged",sortable:!0},{label:"Kosten",field:"data_costs",sortable:!0},{label:"Energieaufteilung",field:"data_power_source",sortable:!1},{label:"Fahrzeug",field:"vehicle_name",sortable:!0},{label:"Lademodus",field:"vehicle_chargemode",sortable:!0},{label:"Priorität",field:"vehicle_prio",sortable:!0},{label:"ID-Tag",field:"vehicle_rfid",sortable:!0},{label:"SoC Beginn",field:"vehicle_soc_at_start",sortable:!0},{label:"SoC Ende",field:"vehicle_soc_at_end",sortable:!0},{label:"Ladepunkt",field:"chargepoint_name",sortable:!0},{label:"Seriennummer",field:"chargepoint_serial_number",sortable:!0},{label:"Energie",field:"data_imported_since_mode_switch",sortable:!0},{label:"Zähler Beginn",field:"chargepoint_imported_at_start",sortable:!0},{label:"Zähler Ende",field:"chargepoint_imported_at_end",sortable:!0}],sortable:{order:"timestamp_begin",sort:"asc"}},totals:{columns:[{label:"Dauer",field:"time_charged",sortable:!1},{label:"Energie",field:"imported_since_mode_switch",sortable:!1},{label:"Reichweite",field:"range_charged",sortable:!1},{label:"Kosten",field:"costs",sortable:!1}]}}},computed:{mqttClientId(){return this.$root.mqttClientId},baseUrl(){const t=parseInt(location.port)||(location.protocol==="https:"?443:80);return`${location.protocol}//${location.hostname}:${t}/openWB/web/settings/downloadChargeLog.php`},downloadUrlMonth(){return!this.chargeLogRequestData.year||!this.chargeLogRequestData.month?(console.error("Fehlende Parameter für Monat oder Jahr"),null):`${this.baseUrl}?year=${this.chargeLogRequestData.year}&month=${this.chargeLogRequestData.month}`},downloadUrlYear(){return this.chargeLogRequestData.year?`${this.baseUrl}?year=${this.chargeLogRequestData.year}`:(console.error("Fehlendes Jahr"),null)},chargeLogDate:{get(){return this.chargeLogRequestData.year+"-"+this.chargeLogRequestData.month},set(t){let e=t.split("-");this.chargeLogRequestData.year=e[0],this.chargeLogRequestData.month=e[1]}},chargeLogTotals(){return this.$store.state.mqtt["openWB/log/"+this.mqttClientId+"/data"]?[this.$store.state.mqtt["openWB/log/"+this.mqttClientId+"/data"].totals]:[]},chargeLogColumns(){return this.table.columns.map(t=>({...t,headerClasses:this.addClasses(t.field),columnClasses:this.addClasses(t.field)}))},chargeLogDataset:{get(){if(this.$store.state.mqtt["openWB/log/"+this.mqttClientId+"/data"]==null)return[];try{return this.$store.state.mqtt["openWB/log/"+this.mqttClientId+"/data"].entries.map(t=>{var e=Date.parse(t.time.begin),o=Date.parse(t.time.end);return{chargepoint_id:t.chargepoint.id,chargepoint_name:t.chargepoint.name,chargepoint_imported_at_start:t.chargepoint.imported_at_start,chargepoint_imported_at_end:t.chargepoint.imported_at_end,chargepoint_serial_number:t.chargepoint.serial_number,vehicle_id:t.vehicle.id,vehicle_name:t.vehicle.name,vehicle_chargemode:this.translateChargeMode(t.vehicle.chargemode),vehicle_rfid:t.vehicle.rfid,vehicle_prio:t.vehicle.prio,vehicle_soc_at_start:t.vehicle.soc_at_start,vehicle_soc_at_end:t.vehicle.soc_at_end,vehicle_range_at_start:t.vehicle.range_at_start,vehicle_range_at_end:t.vehicle.range_at_end,timestamp_begin:e/1e3,time_begin:isNaN(e)?null:this.dateTimeFormat.format(new Date(e)),timestamp_end:o/1e3,time_end:isNaN(o)?null:this.dateTimeFormat.format(new Date(o)),time_time_charged:t.time.time_charged,data_power_source:t.data.power_source?{pv:t.data.power_source.pv*100,grid:t.data.power_source.grid*100,bat:t.data.power_source.bat*100,cp:t.data.power_source.cp*100}:void 0,data_range_charged:t.data.range_charged,data_costs:t.data.costs,data_imported_since_plugged:t.data.imported_since_plugged,data_imported_since_mode_switch:t.data.imported_since_mode_switch}})}catch(t){return console.error(t),[]}}},chargeLogCsv:{get(){return[['"Beginn"','"Ende"','"Zeitstempel Beginn"','"Zeitstempel Ende"','"Dauer"','"Kosten"','"Energieanteil Netz"','"Energieanteil Ladepunkte"','"Energieanteil Speicher"','"Energieanteil PV"','"Fahrzeug"','"Fahrzeug-ID"','"Lademodus"','"Priorität"','"ID-Tag"','"SoC Beginn"','"SoC Ende"','"Reichweite Beginn"','"Reichweite Ende"','"Ladepunkt"','"Ladepunkt-ID"','"Zähler Seriennummer"','"Energie"','"Reichweite"','"Zählerstand Beginn"','"Zählerstand Ende"','"Energie seit Anstecken"'],...this.chargeLogDataset.map(e=>[e.time_begin==null?"":'"'+e.time_begin+'"',e.time_end==null?"":'"'+e.time_end+'"',e.timestamp_begin==null||isNaN(e.timestamp_begin)?"":e.timestamp_begin,e.timestamp_end==null||isNaN(e.timestamp_end)?"":e.timestamp_end,'"'+e.time_time_charged+'"',this.formatCosts(e.data_costs,!1),e.data_power_source==null?"":this.formatNumber(e.data_power_source.grid,2),e.data_power_source==null?"":this.formatNumber(e.data_power_source.cp,2),e.data_power_source==null?"":this.formatNumber(e.data_power_source.bat,2),e.data_power_source==null?"":this.formatNumber(e.data_power_source.pv,2),'"'+e.vehicle_name+'"',e.vehicle_id,'"'+e.vehicle_chargemode+'"','"'+this.formatBool(e.vehicle_prio)+'"',e.vehicle_rfid==null?"":'"'+e.vehicle_rfid+'"',e.vehicle_soc_at_start==null?"":this.formatNumber(e.vehicle_soc_at_start,0),e.vehicle_soc_at_end==null?"":this.formatNumber(e.vehicle_soc_at_end,0),e.vehicle_range_at_start==null?"":this.formatNumber(e.vehicle_range_at_start,0),e.vehicle_range_at_end==null?"":this.formatNumber(e.vehicle_range_at_end,0),'"'+e.chargepoint_name+'"',e.chargepoint_id,e.chargepoint_serial_number==null?"":'"'+e.chargepoint_serial_number+'"',this.formatNumber(e.data_imported_since_mode_switch/1e3,2),this.formatNumber(e.data_range_charged,0),this.formatNumber(e.chargepoint_imported_at_start/1e3,2),this.formatNumber(e.chargepoint_imported_at_end/1e3,2),this.formatNumber(e.data_imported_since_plugged/1e3,2)])].map(e=>e.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 t=this.chargeModes.map(e=>({value:e,text:this.translateChargeMode(e)}));return t.unshift({value:void 0,text:"Alle"}),t},chargePointList(){let t=this.getWildcardTopics("openWB/chargepoint/+/config");var e=[{value:void 0,text:"Alle"}];for(const[,o]of Object.entries(t))e.push({value:o.id,text:o.name});return e},vehicleList(){let t=this.getWildcardTopics("openWB/vehicle/+/name");var e=[{value:void 0,text:"Alle"}];for(const[o,f]of Object.entries(t)){let l=parseInt(o.match(/\/([0-9]+)\/name$/)[1]);e.push({value:l,text:f})}return e}},beforeMount(){this.mqttTopicsToSubscribe.push("openWB/log/"+this.mqttClientId+"/data")},mounted(){const t=new Date;this.currentMonth=this.chargeLogDate=t.getFullYear()+"-"+String(t.getMonth()+1).padStart(2,"0"),this.requestChargeLog()},methods:{cleanRequestData(){"id"in this.chargeLogRequestData.filter.chargepoint&&(this.chargeLogRequestData.filter.chargepoint.id=this.chargeLogRequestData.filter.chargepoint.id.filter(t=>t!=null)),"chargemode"in this.chargeLogRequestData.filter.vehicle&&(this.chargeLogRequestData.filter.vehicle.chargemode=this.chargeLogRequestData.filter.vehicle.chargemode.filter(t=>t!=null)),"id"in this.chargeLogRequestData.filter.vehicle&&(this.chargeLogRequestData.filter.vehicle.id=this.chargeLogRequestData.filter.vehicle.id.filter(t=>t!=null))},requestChargeLog(){if(document.forms.chargeLogForm.reportValidity())this.cleanRequestData(),this.$emit("sendCommand",{command:"getChargeLog",data:this.chargeLogRequestData});else{console.warn("form invalid");return}},makeTextFile(t){var e=new Blob([t],{type:"text/csv"});return this.downloadFile!==null&&window.URL.revokeObjectURL(this.downloadFile),this.downloadFile=window.URL.createObjectURL(e),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"))},addClasses(t){return this.$store.state.mqtt["openWB/general/charge_log_data_config"]!==void 0&&Object.hasOwn(this.$store.state.mqtt["openWB/general/charge_log_data_config"],t)?this.$store.state.mqtt["openWB/general/charge_log_data_config"][t]?[]:["d-none"]:[]},getProgressTitle(t){return`Netz: ${this.formatNumber(t.grid,0,0)}%, Ladepunkte: ${this.formatNumber(t.cp,0,0)}%, Speicher: ${this.formatNumber(t.bat,0,0)}%, PV: ${this.formatNumber(t.pv,0,0)}%`},formatBool(t){return t?"Ja":"Nein"},formatW(t,e=!0){let o=this.dashIfNotSet(this.formatNumber(t/1e3,2));return e?o+"kW":o},formatWh(t,e=!0){let o=this.dashIfNotSet(this.formatNumber(t/1e3,2));return e?o+"kWh":o},formatRange(t,e=!0){let o=this.dashIfNotSet(this.formatNumber(t,0));return e?o+"km":o},formatSoc(t,e=!0){let o=this.dashIfNotSet(this.formatNumber(t,0));return e?o+"%":o},formatCosts(t,e=!0){let o=this.dashIfNotSet(this.formatNumber(t,2));return e?o+"€":o},dashIfNotSet(t){return t==null||t==""||t==null?"-":t},getChargeModeClass(t){switch(t){case"Sofort":return"bg-danger";case"PV":return"bg-success";case"Zielladen":return"bg-primary";case"Zeitladen":return"bg-warning";case"Eco":case"Standby":return"bg-secondary";case"Stop":return"bg-dark";default:return console.warn("unknown charge mode:",t),"bg-light"}}}},y={class:"chargeLog"},T={key:0},U={key:1},M={name:"chargeLogForm"},P=["href"],z=["href"],O={key:1},A={class:"td-end"},Z={class:"td-end"},j=["title"],J=["aria-valuenow"],K=["aria-valuenow"],Y=["aria-valuenow"],G=["aria-valuenow"],H={key:1,class:"td-center"},Q={class:"td-end"},X={class:"no-wrap"},$={class:"no-wrap"},ee={class:"td-end"},te={class:"no-wrap"},ae={class:"no-wrap"},re={class:"td-end"},se={class:"no-wrap"},ie={class:"no-wrap"},oe={class:"td-end"},ne={class:"td-end"},le={key:0},de={class:"row justify-content-center"},ge={ref:"downloadChargeLogLink",class:"hide"},ue={class:"td-end"},he={class:"td-end"},ce={class:"td-end"},_e={class:"td-end"};function me(t,e,o,f,l,r){const m=u("openwb-base-alert"),D=u("openwb-base-text-input"),b=u("font-awesome-icon"),C=u("openwb-base-button-group-input"),p=u("openwb-base-select-input"),q=u("openwb-base-array-input"),v=u("openwb-base-card"),L=u("vue3-table-lite"),R=u("openwb-base-click-button");return h(),c("div",y,[t.$store.state.mqtt["openWB/general/extern"]===!0?(h(),c("div",T,[g(m,{subtype:"info"},{default:i(()=>e[13]||(e[13]=[d(' Das Ladeprotokoll ist nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. Du findest alle Ladevorgänge in der openWB, die sich im Steuerungsmodus "primary" befindet. ',-1)])),_:1,__:[13]})])):(h(),c("div",U,[s("form",M,[g(v,{title:"Filter"},{default:i(()=>[g(D,{modelValue:r.chargeLogDate,"onUpdate:modelValue":[e[0]||(e[0]=a=>r.chargeLogDate=a),e[1]||(e[1]=a=>r.requestChargeLog())],title:"Zeitraum",subtype:"month",min:"2018-01","show-quick-buttons":!0,max:l.currentMonth},null,8,["modelValue","max"]),g(v,{title:"Erweiterte Optionen",collapsible:!0,collapsed:!0},{header:i(()=>[g(b,{icon:["fas","filter"]}),e[14]||(e[14]=d(" Erweiterte Optionen ",-1))]),default:i(()=>[g(C,{modelValue:l.chargeLogRequestData.filter.vehicle.prio,"onUpdate:modelValue":[e[2]||(e[2]=a=>l.chargeLogRequestData.filter.vehicle.prio=a),e[3]||(e[3]=a=>r.requestChargeLog())],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"}]},null,8,["modelValue"]),g(p,{modelValue:l.chargeLogRequestData.filter.vehicle.chargemode,"onUpdate:modelValue":[e[4]||(e[4]=a=>l.chargeLogRequestData.filter.vehicle.chargemode=a),e[5]||(e[5]=a=>r.requestChargeLog())],title:"Lademodus",multiple:"",options:r.chargeModeList},{help:i(()=>e[15]||(e[15]=[d(" Es können mehrere Elemente ausgewählt werden. ",-1)])),_:1},8,["modelValue","options"]),g(p,{modelValue:l.chargeLogRequestData.filter.chargepoint.id,"onUpdate:modelValue":[e[6]||(e[6]=a=>l.chargeLogRequestData.filter.chargepoint.id=a),e[7]||(e[7]=a=>r.requestChargeLog())],title:"Ladepunkt",multiple:"",options:r.chargePointList},{help:i(()=>e[16]||(e[16]=[d(" Es können mehrere Elemente ausgewählt werden. ",-1)])),_:1},8,["modelValue","options"]),g(p,{modelValue:l.chargeLogRequestData.filter.vehicle.id,"onUpdate:modelValue":[e[8]||(e[8]=a=>l.chargeLogRequestData.filter.vehicle.id=a),e[9]||(e[9]=a=>r.requestChargeLog())],title:"Fahrzeug",multiple:"",options:r.vehicleList},{help:i(()=>e[17]||(e[17]=[d(" Es können mehrere Elemente ausgewählt werden. ",-1)])),_:1},8,["modelValue","options"]),g(q,{modelValue:l.chargeLogRequestData.filter.vehicle.tag,"onUpdate:modelValue":[e[10]||(e[10]=a=>l.chargeLogRequestData.filter.vehicle.tag=a),e[11]||(e[11]=a=>r.requestChargeLog())],title:"ID-Tags"},{help:i(()=>e[18]||(e[18]=[d(" Es können mehrere Tags als Filter verwendet werden. ",-1)])),_:1},8,["modelValue"])]),_:1})]),_:1}),g(m,{subtype:"info"},{default:i(()=>[e[19]||(e[19]=d(" Das Ladeprotokoll kann monatsweise automatisiert über folgende URL abgerufen werden: ",-1)),s("a",{href:r.downloadUrlMonth},n(r.downloadUrlMonth),9,P),e[20]||(e[20]=d()),e[21]||(e[21]=s("br",null,null,-1)),e[22]||(e[22]=d(" Das komplette Ladeprotokoll für das gesamte Jahr kann automatisiert über folgende URL abgerufen werden: ",-1)),s("a",{href:r.downloadUrlYear},n(r.downloadUrlYear),9,z)]),_:1,__:[19,20,21,22]}),r.chargeLogRead?(h(),c("div",O,[g(L,{class:"charge-log-table","is-static-mode":!0,columns:r.chargeLogColumns,rows:r.chargeLogDataset,total:r.totalRecordCount,sortable:l.table.sortable,messages:l.table.messages,"page-options":l.table.pageOptions,limit:25,"is-slot-mode":!0},{time_begin:i(a=>[d(n(r.dashIfNotSet(a.value.time_begin)),1)]),time_end:i(a=>[d(n(r.dashIfNotSet(a.value.time_end)),1)]),time_time_charged:i(a=>[s("div",A,n(a.value.time_time_charged),1)]),data_costs:i(a=>[s("div",Z,n(r.formatCosts(a.value.data_costs)),1)]),data_power_source:i(a=>[a.value.data_power_source?(h(),c("div",{key:0,class:"progress td-center",title:r.getProgressTitle(a.value.data_power_source)},[s("div",{class:"progress-bar bg-danger",role:"progressbar",style:_({width:a.value.data_power_source.grid+"%"}),"aria-valuenow":a.value.data_power_source.grid,"aria-valuemin":"0","aria-valuemax":"100"},null,12,J),s("div",{class:"progress-bar bg-primary",role:"progressbar",style:_({width:a.value.data_power_source.cp+"%"}),"aria-valuenow":a.value.data_power_source.cp,"aria-valuemin":"0","aria-valuemax":"100"},null,12,K),s("div",{class:"progress-bar bg-warning",role:"progressbar",style:_({width:a.value.data_power_source.bat+"%"}),"aria-valuenow":a.value.data_power_source.bat,"aria-valuemin":"0","aria-valuemax":"100"},null,12,Y),s("div",{class:"progress-bar bg-success",role:"progressbar",style:_({width:a.value.data_power_source.pv+"%"}),"aria-valuenow":a.value.data_power_source.pv,"aria-valuemin":"0","aria-valuemax":"100"},null,12,G)],8,j)):(h(),c("div",H," - "))]),vehicle_chargemode:i(a=>[s("div",{class:w(["td-center tag",r.getChargeModeClass(a.value.vehicle_chargemode)])},n(a.value.vehicle_chargemode),3)]),vehicle_prio:i(a=>[s("div",{class:w(["td-center tag",a.value.vehicle_prio?"bg-success":"bg-danger"])},n(r.formatBool(a.value.vehicle_prio)),3)]),vehicle_rfid:i(a=>[d(n(r.dashIfNotSet(a.value.vehicle_rfid)),1)]),vehicle_soc_at_start:i(a=>[s("div",Q,[s("span",X,n(r.formatSoc(a.value.vehicle_soc_at_start)),1),s("span",$," ("+n(r.formatRange(a.value.vehicle_range_at_start))+") ",1)])]),vehicle_soc_at_end:i(a=>[s("div",ee,[s("span",te,n(r.formatSoc(a.value.vehicle_soc_at_end)),1),s("span",ae," ("+n(r.formatRange(a.value.vehicle_range_at_end))+") ",1)])]),chargepoint_name:i(a=>[d(n(r.dashIfNotSet(a.value.chargepoint_name)),1)]),chargepoint_serial_number:i(a=>[d(n(r.dashIfNotSet(a.value.chargepoint_serial_number)),1)]),data_imported_since_mode_switch:i(a=>[s("div",re,[s("span",se,n(r.formatWh(a.value.data_imported_since_mode_switch)),1),s("span",ie," ("+n(r.formatRange(a.value.data_range_charged))+") ",1)])]),chargepoint_imported_at_start:i(a=>[s("div",oe,n(r.formatWh(a.value.chargepoint_imported_at_start)),1)]),chargepoint_imported_at_end:i(a=>[s("div",ne,n(r.formatWh(a.value.chargepoint_imported_at_end)),1)]),_:1},8,["columns","rows","total","sortable","messages","page-options"]),r.totalRecordCount>0?(h(),c("div",le,[s("div",de,[g(R,{class:"col-4 btn-success",onButtonClicked:e[12]||(e[12]=a=>r.downloadChargeLog())},{default:i(()=>[e[24]||(e[24]=d(" Als CSV exportieren ",-1)),g(b,{icon:["fas","download"]})]),_:1,__:[24]}),s("a",ge,null,512)]),e[25]||(e[25]=s("div",{class:"row"},[s("div",{class:"col"},[s("h2",null,"Summe")])],-1)),g(L,{class:"charge-log-totals","is-static-mode":!0,"is-hide-paging":!0,columns:l.totals.columns,rows:r.chargeLogTotals,total:1,"is-slot-mode":!0},{time_charged:i(a=>[s("div",ue,n(a.value.time_charged),1)]),imported_since_mode_switch:i(a=>[s("div",he,n(r.formatWh(a.value.imported_since_mode_switch)),1)]),range_charged:i(a=>[s("div",ce,n(r.formatRange(a.value.range_charged)),1)]),costs:i(a=>[s("div",_e,n(r.formatCosts(a.value.costs)),1)]),_:1},8,["columns","rows"])])):I("",!0)])):(h(),V(m,{key:0,subtype:"info"},{default:i(()=>e[23]||(e[23]=[d(" Es wurden noch keine Daten abgerufen. ",-1)])),_:1,__:[23]}))])]))])}const Ce=x(F,[["render",me],["__scopeId","data-v-8607e7e7"],["__file","/opt/openWB-dev/openwb-ui-settings/src/views/ChargeLog.vue"]]);export{Ce as default};
diff --git a/web/settings/assets/ChargePointInstallation-e1ee27bd.js b/web/settings/assets/ChargePointInstallation-acc5f333.js
similarity index 94%
rename from web/settings/assets/ChargePointInstallation-e1ee27bd.js
rename to web/settings/assets/ChargePointInstallation-acc5f333.js
index 63a5609fc7..9bc9196ef3 100644
--- a/web/settings/assets/ChargePointInstallation-e1ee27bd.js
+++ b/web/settings/assets/ChargePointInstallation-acc5f333.js
@@ -1 +1 @@
-import{l as F,aa as R,al as N,G as Z,am as j,an as $,F as J,d as ee,Q as ne,ao as te,M as ae}from"./vendor-fortawesome-855c7d62.js";import{_ as V,C as H}from"./index-d6a3d34f.js";import{_ as M}from"./dynamic-import-helper-be004503.js";import{_ as W,u as m,l,m as d,x as _,E as o,B as i,F as v,G as a,A as p,a2 as T,a3 as O,N as B,q as oe,y as U,z as b,M as S,D as le}from"./vendor-cc4615be.js";const ie={props:{chargePoint:{type:Object,required:!0}},emits:["update:configuration"],methods:{updateConfiguration(n,e=void 0){this.$emit("update:configuration",{value:n,object:e})}}},re=W(ie,[["__file","/opt/openWB-dev/openwb-ui-settings/src/components/charge_points/ChargePointConfigMixin.vue"]]),se={name:"ChargePointConfigFallback",mixins:[re]},ue={class:"charge-point-config-fallback"},de={key:1};function pe(n,e,f,P,h,t){const w=m("openwb-base-alert"),c=m("openwb-base-textarea");return l(),d("div",ue,[Object.keys(n.chargePoint.configuration).length==0?(l(),_(w,{key:0,subtype:"info"},{default:o(()=>[i(' Der Ladepunkt-Typ "'+v(n.chargePoint.type)+'" bietet keine Einstellungen. ',1)]),_:1})):(l(),d("div",de,[a(w,{subtype:"warning"},{default:o(()=>[i(' Es wurde keine Konfigurationsseite für den Ladepunkt-Typ "'+v(n.chargePoint.type)+'" gefunden. Die Einstellungen können als JSON direkt bearbeitet werden. ',1)]),_:1}),a(c,{title:"Konfiguration",subtype:"json","model-value":n.chargePoint.configuration,"onUpdate:modelValue":e[0]||(e[0]=y=>n.updateConfiguration(y,"configuration"))},{help:o(()=>e[1]||(e[1]=[i(" Bitte prüfen Sie, ob die Eingaben richtig interpretiert werden. ",-1)])),_:1},8,["model-value"]),a(w,{subtype:"info"},{default:o(()=>[p("pre",null,v(JSON.stringify(n.chargePoint.configuration,void 0,2)),1)]),_:1})]))])}const me=W(se,[["render",pe],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/charge_points/OpenwbChargePointConfigFallback.vue"]]),ge={props:{chargePoint:{type:Object,required:!0}}},ce=W(ge,[["__file","/opt/openWB-dev/openwb-ui-settings/src/components/charge_points/ChargePointCommandsMixin.vue"]]),be={name:"ChargePointCommandsFallback",mixins:[ce]},fe={class:"charge-point-commands-fallback"};function he(n,e,f,P,h,t){return l(),d("div",fe)}const _e=W(be,[["render",he],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/charge_points/OpenwbChargePointCommandsFallback.vue"]]),ke={name:"OpenwbChargePointProxy",props:{chargePoint:{required:!0,type:Object}},emits:["update:configuration"],methods:{getChargePointSettingsComponent(){return console.debug(`loading charge point settings: ${this.chargePoint.type}`),T({loader:()=>M(Object.assign({"./external_openwb/chargePoint.vue":()=>V(()=>import("./chargePoint-6f98677e.js"),["assets/chargePoint-6f98677e.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./internal_openwb/chargePoint.vue":()=>V(()=>import("./chargePoint-0b842bb5.js"),["assets/chargePoint-0b842bb5.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./mqtt/chargePoint.vue":()=>V(()=>import("./chargePoint-5731f2b8.js"),["assets/chargePoint-5731f2b8.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./openwb_dc_adapter/chargePoint.vue":()=>V(()=>import("./chargePoint-c10e4d54.js"),["assets/chargePoint-c10e4d54.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./openwb_pro/chargePoint.vue":()=>V(()=>import("./chargePoint-ab748d7a.js"),["assets/chargePoint-ab748d7a.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./openwb_series2_satellit/chargePoint.vue":()=>V(()=>import("./chargePoint-d3da3c40.js"),["assets/chargePoint-d3da3c40.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./smartwb/chargePoint.vue":()=>V(()=>import("./chargePoint-adecc1ed.js"),["assets/chargePoint-adecc1ed.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"])}),`./${this.chargePoint.type}/chargePoint.vue`),errorComponent:me})},getChargePointCommandsComponent(){return console.debug(`loading charge point commands: ${this.chargePoint.type}`),T({loader:()=>M(Object.assign({"./internal_openwb/commands.vue":()=>V(()=>import("./commands-65518e44.js"),["assets/commands-65518e44.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./openwb_pro/commands.vue":()=>V(()=>import("./commands-00a467e4.js"),["assets/commands-00a467e4.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"])}),`./${this.chargePoint.type}/commands.vue`),errorComponent:_e})},updateConfiguration(n){this.$emit("update:configuration",n)}}};function ve(n,e,f,P,h,t){const w=m("openwb-base-heading");return l(),d(B,null,[a(w,null,{default:o(()=>[i(' Einstellungen für Ladepunkt Typ "'+v(f.chargePoint.type)+'" ',1)]),_:1}),(l(),_(O(t.getChargePointSettingsComponent()),{"charge-point":f.chargePoint,"onUpdate:configuration":e[0]||(e[0]=c=>t.updateConfiguration(c))},null,40,["charge-point"])),e[1]||(e[1]=p("hr",null,null,-1)),a(w,null,{default:o(()=>[i(' Befehle für Ladepunkt Typ "'+v(f.chargePoint.type)+'" ',1)]),_:1}),(l(),_(O(t.getChargePointCommandsComponent()),{"charge-point":f.chargePoint},null,8,["charge-point"]))],64)}const we=W(ke,[["render",ve],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/charge_points/OpenwbChargePointProxy.vue"]]);F.add(R,N,Z,j,$);const ye={name:"TemplateAutoLockPlan",components:{FontAwesomeIcon:J},mixins:[H],props:{modelValue:{type:Object,required:!0},templateId:{type:Number,required:!0}},emits:["update:modelValue","sendCommand"],data(){return{showRemoveModal:!1}},computed:{plan(){return this.modelValue}},watch:{plan:{handler(n){this.$emit("update:modelValue",n)},deep:!0}},methods:{copyPlan(){this.$emit("sendCommand",{command:"addAutolockPlan",data:{template:this.templateId,copy:this.modelValue.id}})},removePlanModal(){this.showRemoveModal=!0},removePlan(n){this.showRemoveModal=!1,n=="confirm"&&this.$emit("sendCommand",{command:"removeAutolockPlan",data:{template:this.templateId,plan:this.modelValue.id}})}}},Ce={key:0},Pe={key:1},Ve={key:2},Le={key:1},Be={key:2};function We(n,e,f,P,h,t){const w=m("openwb-base-modal-dialog"),c=m("font-awesome-icon"),y=m("openwb-base-avatar"),C=m("openwb-base-text-input"),z=m("openwb-base-button-group-input"),D=m("openwb-base-card");return l(),d(B,null,[a(w,{show:h.showRemoveModal,title:"Autolock Zeitplan löschen",subtype:"danger",buttons:[{text:"Löschen",event:"confirm",subtype:"danger"}],onModalResult:t.removePlan},{default:o(()=>[i(' Wollen Sie den Autolock Zeitplan "'+v(t.plan.name)+'" wirklich entfernen? Dieser Vorgang kann nicht rückgängig gemacht werden! ',1)]),_:1},8,["show","onModalResult"]),a(D,{title:t.plan.name,collapsible:!0,collapsed:!0},{actions:o(g=>[g.collapsed==!0?(l(),d("span",{key:0,class:oe(["pill clickable",t.plan.active?"bg-success":"bg-danger"]),onClick:e[0]||(e[0]=U(k=>t.plan.active=!t.plan.active,["stop"]))},[a(c,{icon:["fas","clock"]}),i(" "+v(t.plan.time[0])+" - "+v(t.plan.time[1])+" ",1),t.plan.frequency.selected=="once"?(l(),d("span",Ce,[a(c,{icon:["fas","calendar-day"]}),i(" "+v(n.formatDate(t.plan.frequency.once[0])==n.formatDate(t.plan.frequency.once[1])?n.formatDate(t.plan.frequency.once[0]):n.formatDate(t.plan.frequency.once[0])+" - "+n.formatDate(t.plan.frequency.once[1])),1)])):b("",!0),t.plan.frequency.selected=="daily"?(l(),d("span",Pe,[a(c,{icon:["fas","calendar-week"]})])):b("",!0),t.plan.frequency.selected=="weekly"?(l(),d("span",Ve,[a(c,{icon:["fas","calendar-alt"]})])):b("",!0)],2)):b("",!0),g.collapsed==!1?(l(),d("span",Le,[a(y,{class:"bg-success clickable",title:"Autolock Zeitplan duplizieren",onClick:e[1]||(e[1]=U(k=>t.copyPlan(),["stop"]))},{default:o(()=>[a(c,{icon:["fas","copy"]})]),_:1}),a(y,{class:"bg-danger clickable ml-1",title:"Autolock Zeitplan löschen",onClick:e[2]||(e[2]=U(k=>t.removePlanModal(),["stop"]))},{default:o(()=>[a(c,{icon:["fas","trash"]})]),_:1})])):b("",!0)]),default:o(()=>[a(C,{modelValue:t.plan.name,"onUpdate:modelValue":e[3]||(e[3]=g=>t.plan.name=g),title:"Bezeichnung"},null,8,["modelValue"]),a(z,{modelValue:t.plan.active,"onUpdate:modelValue":e[4]||(e[4]=g=>t.plan.active=g),title:"Zeitplan aktiv",buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}]},null,8,["modelValue"]),a(C,{modelValue:t.plan.time[0],"onUpdate:modelValue":e[5]||(e[5]=g=>t.plan.time[0]=g),title:"Sperren um",subtype:"time"},null,8,["modelValue"]),a(C,{modelValue:t.plan.time[1],"onUpdate:modelValue":e[6]||(e[6]=g=>t.plan.time[1]=g),title:"Freigeben um",subtype:"time"},null,8,["modelValue"]),a(z,{modelValue:t.plan.frequency.selected,"onUpdate:modelValue":e[7]||(e[7]=g=>t.plan.frequency.selected=g),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"}]},null,8,["modelValue"]),t.plan.frequency.selected=="once"?(l(),_(C,{key:0,modelValue:t.plan.frequency.once[0],"onUpdate:modelValue":e[8]||(e[8]=g=>t.plan.frequency.once[0]=g),title:"Sperren ab ...",subtype:"date"},null,8,["modelValue"])):b("",!0),t.plan.frequency.selected=="once"?(l(),_(C,{key:1,modelValue:t.plan.frequency.once[1],"onUpdate:modelValue":e[9]||(e[9]=g=>t.plan.frequency.once[1]=g),title:"... bis",subtype:"date",min:t.plan.frequency.once[0]},null,8,["modelValue","min"])):b("",!0),t.plan.frequency.selected=="weekly"?(l(),d("div",Be,[(l(!0),d(B,null,S(n.weekdays,(g,k)=>(l(),_(z,{key:k,modelValue:t.plan.frequency.weekly[k],"onUpdate:modelValue":I=>t.plan.frequency.weekly[k]=I,title:g,buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}]},null,8,["modelValue","onUpdate:modelValue","title"]))),128))])):b("",!0)]),_:1},8,["title"])],64)}const ze=W(ye,[["render",We],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/charge_points/TemplateAutoLockPlan.vue"]]);F.add(ee,R,N,Z,j,$,ne,te);const Ie={name:"OpenwbChargePointInstallationView",components:{FontAwesomeIcon:J,FontAwesomeLayers:ae,OpenwbChargePointProxy:we,TemplateAutoLockPlan:ze},mixins:[H],props:{installAssistantActive:{type:Boolean,required:!1,default:!1}},emits:["sendCommand","save","reset","defaults"],data(){return{mqttTopicsToSubscribe:["openWB/general/extern","openWB/optional/dc_charging","openWB/optional/ocpp/config","openWB/optional/rfid/active","openWB/chargepoint/+/config","openWB/chargepoint/template/+","openWB/system/configurable/chargepoints","openWB/system/configurable/chargepoints_internal"],chargePointToAdd:void 0,showChargePointModal:!1,modalChargePointIndex:void 0,showChargePointTemplateModal:!1,modalChargePointTemplateIndex:void 0}},computed:{dcChargingEnabled:{get(){return this.$store.state.mqtt["openWB/optional/dc_charging"]}},installedChargePoints:{get(){let n=this.getWildcardTopics("openWB/chargepoint/+/config"),e={};for(const[f,P]of Object.entries(n))(P.type==="internal_openwb"||this.$store.state.mqtt["openWB/general/extern"]===!1)&&(e[f]=P);return e}},chargePointTemplates:{get(){return this.getWildcardTopics("openWB/chargepoint/template/+")}},chargePointTemplateList:{get(){let n=[];return Object.keys(this.chargePointTemplates).forEach(e=>{let f=parseInt(e.match(/([0-9]+)/g)[0]),P=this.$store.state.mqtt["openWB/chargepoint/template/"+f].name;n.push({value:f,text:P})}),n}}},methods:{addChargePoint(){this.$emit("sendCommand",{command:"addChargepoint",data:{type:this.chargePointToAdd}})},removeChargePointModal(n,e){n.stopPropagation(),this.modalChargePointIndex=parseInt(e.match(/(?:\/)(\d+)(?=\/)/)[1]),this.showChargePointModal=!0},removeChargePoint(n,e){this.showChargePointModal=!1,n=="confirm"&&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(n){return this.$store.state.mqtt["openWB/chargepoint/"+n+"/config"]?this.$store.state.mqtt["openWB/chargepoint/"+n+"/config"].name:"Ladepunkt "+n},getChargePointTemplateIndex(n){return parseInt(n.match(/([^/]+)$/)[0])},getChargePointTemplateName(n){return this.$store.state.mqtt["openWB/chargepoint/template/"+n]?this.$store.state.mqtt["openWB/chargepoint/template/"+n].name:"Profil "+n},addChargePointTemplate(n,e){n.stopPropagation();let f={};e&&(f.copy=this.getChargePointTemplateIndex(e)),this.$emit("sendCommand",{command:"addChargepointTemplate",data:f})},removeChargePointTemplateModal(n,e){n.stopPropagation(),this.modalChargePointTemplateIndex=this.getChargePointTemplateIndex(e),this.showChargePointTemplateModal=!0},removeChargePointTemplate(n,e){this.showChargePointTemplateModal=!1,n=="confirm"&&this.$emit("sendCommand",{command:"removeChargepointTemplate",data:{id:e}})},addChargePointTemplateAutolockPlan(n){this.$emit("sendCommand",{command:"addAutolockPlan",data:{template:this.getChargePointTemplateIndex(n)}})},updateConfiguration(n,e){console.debug("updateConfiguration",n,e),this.updateState(n,e.value,e.object)}}},Ae={class:"chargePointInstallation"},Ue={name:"chargePointInstallationForm"},Se={key:0},De={key:2},Ee={key:0},xe={key:0},qe={key:1},Me={key:0},Te={key:1},Oe={key:0},Fe={key:1},Re={key:2},Ne={key:0},Ze={key:3},je={key:5};function $e(n,e,f,P,h,t){const w=m("openwb-base-modal-dialog"),c=m("font-awesome-icon"),y=m("openwb-base-avatar"),C=m("openwb-base-text-input"),z=m("openwb-base-select-input"),D=m("openwb-charge-point-proxy"),g=m("openwb-base-heading"),k=m("openwb-base-button-group-input"),I=m("openwb-base-card"),G=m("font-awesome-layers"),A=m("openwb-base-alert"),x=m("router-link"),Q=m("openwb-base-array-input"),q=m("openwb-base-range-input"),X=m("openwb-base-number-input"),Y=m("template-auto-lock-plan"),K=m("openwb-base-submit-buttons");return l(),d(B,null,[a(w,{show:h.showChargePointModal,title:"Ladepunkt löschen",subtype:"danger",buttons:[{text:"Löschen",event:"confirm",subtype:"danger"}],onModalResult:e[0]||(e[0]=r=>t.removeChargePoint(r,h.modalChargePointIndex))},{default:o(()=>[i(' Wollen Sie den Ladepunkt "'+v(t.getChargePointName(h.modalChargePointIndex))+'" (ID: '+v(h.modalChargePointIndex)+") wirklich entfernen? Dieser Vorgang kann nicht rückgängig gemacht werden! ",1)]),_:1},8,["show"]),a(w,{show:h.showChargePointTemplateModal,title:"Ladepunkt-Profil löschen",subtype:"danger",buttons:[{text:"Löschen",event:"confirm",subtype:"danger"}],onModalResult:e[1]||(e[1]=r=>t.removeChargePointTemplate(r,h.modalChargePointTemplateIndex))},{default:o(()=>[i(' Wollen Sie das Ladepunkt-Profil "'+v(t.getChargePointTemplateName(h.modalChargePointTemplateIndex))+'" (ID: '+v(h.modalChargePointTemplateIndex)+") wirklich entfernen? Dieser Vorgang kann nicht rückgängig gemacht werden! ",1)]),_:1},8,["show"]),p("div",Ae,[p("form",Ue,[a(I,{title:"Ladepunkte",subtype:"primary",collapsible:!0,collapsed:!f.installAssistantActive},{header:o(()=>[a(c,{icon:["fas","charging-station"]}),e[7]||(e[7]=i(" Ladepunkte ",-1))]),default:o(()=>[(l(!0),d(B,null,S(t.installedChargePoints,(r,u)=>(l(),_(I,{key:u,title:r.name+" (ID: "+r.id+")",collapsible:!0,collapsed:!0,subtype:"primary"},{actions:o(s=>[s.collapsed?b("",!0):(l(),_(y,{key:0,class:"bg-danger clickable",title:"Ladepunkt löschen",onClick:L=>t.removeChargePointModal(L,u)},{default:o(()=>[a(c,{icon:["fas","trash"]})]),_:2},1032,["onClick"]))]),default:o(()=>[a(C,{title:"Bezeichnung",subtype:"text","model-value":r.name,"onUpdate:modelValue":s=>n.updateState(u,s,"name")},null,8,["model-value","onUpdate:modelValue"]),a(C,{title:"Modul",subtype:"text",disabled:"",readonly:"","model-value":n.$store.state.mqtt[u].type},null,8,["model-value"]),r.type!=="internal_openwb"||n.$store.state.mqtt["openWB/general/extern"]===!1?(l(),d("span",Se,[a(z,{title:"Ladepunkt-Profil",options:t.chargePointTemplateList,"model-value":n.$store.state.mqtt[u].template,"onUpdate:modelValue":s=>n.updateState(u,s,"template")},null,8,["options","model-value","onUpdate:modelValue"])])):b("",!0),n.$store.state.mqtt["openWB/optional/ocpp/config"].active===!0?(l(),_(C,{key:1,title:"OCPP-Chargebox ID","model-value":r.ocpp_chargebox_id,"onUpdate:modelValue":s=>n.updateState(u,s,"ocpp_chargebox_id")},{help:o(()=>[...e[8]||(e[8]=[i(" Bitte geben Sie hier die Chargebox ID ein, die im OCPP-Backend für diesen Ladepunkt verwendet wird. Sollen die Daten dieses Ladepunktes nicht an ein OCPP-Backend übertragen werden, lasse dieses Feld leer. ",-1)])]),_:2},1032,["model-value","onUpdate:modelValue"])):b("",!0),e[14]||(e[14]=p("hr",null,null,-1)),a(D,{"charge-point":r,"onUpdate:configuration":s=>t.updateConfiguration(u,s)},null,8,["charge-point","onUpdate:configuration"]),(r.type!=="internal_openwb"||n.$store.state.mqtt["openWB/general/extern"]===!1)&&r.charging_type!=="DC"?(l(),d("div",De,[e[13]||(e[13]=p("hr",null,null,-1)),a(g,null,{default:o(()=>[...e[9]||(e[9]=[i(" Hardware-Optionen ",-1)])]),_:1,__:[9]}),a(k,{title:"automatische Phasenumschaltung vorhanden",buttons:[{buttonValue:!1,text:"Nein"},{buttonValue:!0,text:"Ja"}],"model-value":r.auto_phase_switch_hw,"onUpdate:modelValue":s=>n.updateState(u,s,"auto_phase_switch_hw")},null,8,["model-value","onUpdate:modelValue"]),a(k,{title:"Control-Pilot-Unterbrechung vorhanden",buttons:[{buttonValue:!1,text:"Nein"},{buttonValue:!0,text:"Ja"}],"model-value":r.control_pilot_interruption_hw,"onUpdate:modelValue":s=>n.updateState(u,s,"control_pilot_interruption_hw")},{help:o(()=>[...e[10]||(e[10]=[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. ',-1)])]),_:2},1032,["model-value","onUpdate:modelValue"]),a(g,null,{default:o(()=>[...e[11]||(e[11]=[i(" Elektrischer Anschluss ",-1)])]),_:1,__:[11]}),a(k,{title:"Anzahl angeschlossener Phasen",buttons:[{buttonValue:1,text:"1"},{buttonValue:2,text:"2"},{buttonValue:3,text:"3"}],"model-value":r.connected_phases,"onUpdate:modelValue":s=>n.updateState(u,s,"connected_phases")},null,8,["model-value","onUpdate:modelValue"]),a(k,{title:"Phase 1 des Ladekabels",buttons:[{buttonValue:1,text:"EVU L1"},{buttonValue:2,text:"EVU L2"},{buttonValue:3,text:"EVU L3"}],"model-value":r.phase_1,"onUpdate:modelValue":s=>n.updateState(u,s,"phase_1")},{help:o(()=>[...e[12]||(e[12]=[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.",-1),p("br",null,null,-1),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.',-1),p("br",null,null,-1),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).",-1),p("br",null,null,-1),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.",-1),p("br",null,null,-1),i(" Im Zweifel bitte das Drehfeld von einer Fachkraft prüfen und korrigieren lassen. ",-1)])]),_:2},1032,["model-value","onUpdate:modelValue"])])):b("",!0)]),_:2,__:[14]},1032,["title"]))),128)),Object.keys(t.installedChargePoints).length>0?(l(),d("hr",Ee)):b("",!0),a(z,{title:"Verfügbare Ladepunkte","not-selected":"Bitte auswählen",options:t.getChargePointList(),"model-value":h.chargePointToAdd,"add-button":!0,"onUpdate:modelValue":e[2]||(e[2]=r=>h.chargePointToAdd=r),"onInput:add":t.addChargePoint},{help:o(()=>e[15]||(e[15]=[i(" Bitte einen Ladepunkt auswählen, der der openWB-Regelung hinzugefügt werden soll.",-1),p("br",null,null,-1),p("ul",null,[p("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 "),p("li",null," Secondary openWB - wenn diese openWB (primary) die Fernsteuerung von weiteren openWB (secondary) übernimmt "),p("li",null,"MQTT-Ladepunkt - nur zur Nutzung des openWB-Simulators zugelassen"),p("li",null,"openWB Pro - wenn diese openWB (primary) die Fernsteuerung einer openWB Pro (secondary) übernimmt"),p("li",null," openWB series2 Satellit/Satellit Duo - wenn diese openWB (primary) die Fernsteuerung einer openWB series2 Satellit/Satellit Duo (secondary) übernimmt "),p("li",null," smartWB/EVSE-Wifi - wenn diese openWB (primary) die Fernsteuerung einer smartWB/EVSE-Wifi übernimmt ")],-1)])),_:1},8,["options","model-value","onInput:add"])]),_:1},8,["collapsed"]),e[44]||(e[44]=p("hr",{class:"border-secondary"},null,-1)),a(I,{title:"Ladepunkt-Profile",collapsible:!0,collapsed:!0},{header:o(()=>[a(G,{class:"fa-lg"},{default:o(()=>[a(c,{icon:["far","file"]}),a(c,{icon:["fas","charging-station"],transform:"shrink-8"})]),_:1}),e[16]||(e[16]=i(" Ladepunkt-Profile ",-1))]),actions:o(()=>[n.$store.state.mqtt["openWB/general/extern"]===!1?(l(),_(y,{key:0,class:"bg-success clickable",title:"Neues Ladepunkt-Profil anlegen",onClick:t.addChargePointTemplate},{default:o(()=>[a(c,{icon:["fas","plus"]})]),_:1},8,["onClick"])):b("",!0)]),default:o(()=>[n.$store.state.mqtt["openWB/general/extern"]===!0?(l(),d("div",xe,[a(A,{subtype:"info"},{default:o(()=>e[17]||(e[17]=[i(' Diese Einstellungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. ',-1)])),_:1,__:[17]})])):(l(),d("div",qe,[(l(!0),d(B,null,S(t.chargePointTemplates,(r,u)=>(l(),_(I,{key:u,title:`${r.name} (ID: ${t.getChargePointTemplateIndex(u)})`,collapsible:!0,collapsed:!0},{actions:o(s=>[s.collapsed==!1?(l(),d("span",Me,[a(y,{class:"bg-success clickable",title:"Ladepunkt-Profil duplizieren",onClick:L=>t.addChargePointTemplate(L,u)},{default:o(()=>[a(c,{icon:["fas","copy"]})]),_:2},1032,["onClick"]),u.endsWith("/0")?b("",!0):(l(),_(y,{key:0,class:"bg-danger clickable ml-1",title:"Ladepunkt-Profil löschen",onClick:L=>t.removeChargePointTemplateModal(L,u)},{default:o(()=>[a(c,{icon:["fas","trash"]})]),_:2},1032,["onClick"]))])):b("",!0)]),default:o(()=>[a(C,{title:"Bezeichnung",subtype:"text","model-value":r.name,disabled:u.endsWith("/0"),"onUpdate:modelValue":s=>n.updateState(u,s,"name")},le({_:2},[u.endsWith("/0")?{name:"help",fn:o(()=>[e[18]||(e[18]=i(" Das Standard-Profil kann nicht umbenannt werden. ",-1))]),key:"0"}:void 0]),1032,["model-value","disabled","onUpdate:modelValue"]),t.dcChargingEnabled===!0?(l(),_(k,{key:0,title:"Typ des Ladeprofils",buttons:[{buttonValue:"AC",text:"AC"},{buttonValue:"DC",text:"DC"}],"model-value":r.charging_type,"onUpdate:modelValue":s=>n.updateState(u,s,"charging_type")},null,8,["model-value","onUpdate:modelValue"])):b("",!0),e[42]||(e[42]=p("hr",null,null,-1)),a(g,null,{default:o(()=>[...e[19]||(e[19]=[i(" Zugangskontrolle ",-1)])]),_:1,__:[19]}),r.valid_tags.length>0?(l(),d("div",Te,[a(A,{subtype:"info"},{default:o(()=>[e[21]||(e[21]=i(" Einstellungen zur Zugangskontrolle finden sich unter ",-1)),a(x,{to:"/IdentificationConfig"},{default:o(()=>[...e[20]||(e[20]=[i(" Einstellungen - Identifikation ",-1)])]),_:1,__:[20]}),e[22]||(e[22]=i(". ",-1)),n.$store.state.mqtt["openWB/optional/rfid/active"]===!0&&r.disable_after_unplug?(l(),d("div",Oe," Die Option ist aktiv. Ladepunkte denen dieses Ladepunkt-Profil zugeordnet ist müssen per ID-Tag entsperrt werden. ")):(l(),d("div",Fe,"Aktuell ist die Option in den Einstellungen deaktiviert.")),e[23]||(e[23]=i(" Dem Ladepunkt-Profil sind folgende ID-Tags zum Entsperren zugeordnet: ",-1))]),_:2,__:[21,22,23]},1024),a(Q,{title:"Zugeordnete ID-Tags","no-elements-message":"Keine keine ID-Tags zugeordnet.","no-input":"true","model-value":r.valid_tags},null,8,["model-value"])])):(l(),d("div",Re,[a(A,{subtype:"info"},{default:o(()=>[e[25]||(e[25]=i(" Einstellungen zur Zugangskontrolle finden sich unter ",-1)),a(x,{to:"/IdentificationConfig"},{default:o(()=>[...e[24]||(e[24]=[i(" Einstellungen - Identifikation ",-1)])]),_:1,__:[24]}),e[26]||(e[26]=i(".",-1)),e[27]||(e[27]=p("br",null,null,-1)),e[28]||(e[28]=i(" Dem Ladepunkt-Profil sind aktuell keine ID-Tags zum Entsperren zugeordnet. ",-1))]),_:1,__:[25,26,27,28]})])),e[43]||(e[43]=p("hr",null,null,-1)),a(g,null,{default:o(()=>[...e[29]||(e[29]=[i(" Angaben zum konfigurierten Ladestrom der openWB ",-1)])]),_:1,__:[29]}),a(A,{subtype:"info"},{default:o(()=>[e[30]||(e[30]=i(" Hier werden die maximalen Ladeströme entsprechend der in dem zugeordneten Ladepunkt genutzten Phasen eingestellt.",-1)),e[31]||(e[31]=p("br",null,null,-1)),e[32]||(e[32]=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. ",-1)),r.charging_type==="AC"?(l(),d("span",Ne," 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. ")):b("",!0),e[33]||(e[33]=p("br",null,null,-1)),e[34]||(e[34]=i(" Komplexere Installationen mit mehreren Ladepunkten werden im ",-1)),e[35]||(e[35]=p("a",{href:"https://github.com/openWB/core/wiki/Lastmanagement-und-kaskadierte-Z%C3%A4hler",target:"_blank",rel:"noopener noreferrer"},"Wiki zum Lastmanagement",-1)),e[36]||(e[36]=i(" beschrieben. ",-1))]),_:2,__:[30,31,32,33,34,35,36]},1024),r.charging_type==="AC"||t.dcChargingEnabled!==!0?(l(),d("div",Ze,[a(q,{title:"Maximalstrom bei einer Phase",min:6,max:32,step:1,unit:"A","model-value":r.max_current_single_phase,"onUpdate:modelValue":s=>n.updateState(u,s,"max_current_single_phase")},null,8,["model-value","onUpdate:modelValue"]),a(q,{title:"Maximalstrom mehrere Phasen",min:6,max:32,step:1,unit:"A","model-value":r.max_current_multi_phases,"onUpdate:modelValue":s=>n.updateState(u,s,"max_current_multi_phases")},null,8,["model-value","onUpdate:modelValue"])])):(l(),_(X,{key:4,title:"Maximalleistung",min:22,max:420,step:1,unit:"kW",precision:5,"model-value":n.ac_current2dc_power(r.dc_max_current),"onUpdate:modelValue":s=>n.updateState(u,n.dc_power2ac_current(s),"dc_max_current")},null,8,["model-value","onUpdate:modelValue"])),f.installAssistantActive?b("",!0):(l(),d("div",je,[e[41]||(e[41]=p("hr",null,null,-1)),a(g,null,{default:o(()=>[...e[37]||(e[37]=[i(" Sperren nach Uhrzeit (Komplettsperrung - keine Freischaltung per ID-Tag möglich) ",-1)])]),_:1,__:[37]}),a(k,{title:"Sperren nach Uhrzeit aktiv",buttons:[{buttonValue:!1,text:"Nein"},{buttonValue:!0,text:"Ja"}],"model-value":r.autolock.active,"onUpdate:modelValue":s=>n.updateState(u,s,"autolock.active")},{help:o(()=>[...e[38]||(e[38]=[i(" WirdSperren nach Uhrzeit 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. In dieser Zeit ist keine Freischaltung per RFID, Fahrzeugerkennung oder Pin möglich. ",-1)])]),_:2},1032,["model-value","onUpdate:modelValue"]),a(k,{title:"Erst nach Ladeende sperren",buttons:[{buttonValue:!1,text:"Nein"},{buttonValue:!0,text:"Ja"}],"model-value":r.autolock.wait_for_charging_end,"onUpdate:modelValue":s=>n.updateState(u,s,"autolock.wait_for_charging_end")},{help:o(()=>[...e[39]||(e[39]=[i(' Wenn ein Zeitplan Sperren nach Uhrzeit 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. ',-1)])]),_:2},1032,["model-value","onUpdate:modelValue"]),a(g,null,{actions:o(()=>[a(y,{class:"bg-success clickable",title:"Neuen Autolock Zeitplan anlegen",onClick:U(s=>t.addChargePointTemplateAutolockPlan(u),["stop"])},{default:o(()=>[a(c,{icon:["fas","plus"]})]),_:2},1032,["onClick"])]),default:o(()=>[e[40]||(e[40]=i(" Zeitpläne für Sperren nach Uhrzeit ",-1))]),_:2,__:[40]},1024)])),(l(!0),d(B,null,S(r.autolock.plans,(s,L)=>(l(),_(Y,{key:L,"model-value":s,"template-id":r.id,"onUpdate:modelValue":E=>n.updateState(u,E,`autolock.plans.${L}`),onSendCommand:e[3]||(e[3]=E=>n.$emit("sendCommand",E))},null,8,["model-value","template-id","onUpdate:modelValue"]))),128))]),_:2,__:[42,43]},1032,["title"]))),128))]))]),_:1}),a(K,{"form-name":"chargePointInstallationForm",onSave:e[4]||(e[4]=r=>n.$emit("save")),onReset:e[5]||(e[5]=r=>n.$emit("reset")),onDefaults:e[6]||(e[6]=r=>n.$emit("defaults"))})])])],64)}const Je=W(Ie,[["render",$e],["__scopeId","data-v-75fe5743"],["__file","/opt/openWB-dev/openwb-ui-settings/src/views/ChargePointInstallation.vue"]]),Ye=Object.freeze(Object.defineProperty({__proto__:null,default:Je},Symbol.toStringTag,{value:"Module"}));export{re as C,ce as a,Je as b,Ye as c};
+import{l as F,aa as R,al as N,G as Z,am as j,an as $,F as J,d as ee,Q as ne,ao as te,M as ae}from"./vendor-fortawesome-855c7d62.js";import{_ as V,C as H}from"./index-5b5e1b75.js";import{_ as M}from"./dynamic-import-helper-be004503.js";import{_ as W,u as m,l,m as d,x as _,E as o,B as i,F as v,G as a,A as p,a2 as T,a3 as O,N as B,q as oe,y as U,z as b,M as S,D as le}from"./vendor-cc4615be.js";const ie={props:{chargePoint:{type:Object,required:!0}},emits:["update:configuration"],methods:{updateConfiguration(n,e=void 0){this.$emit("update:configuration",{value:n,object:e})}}},re=W(ie,[["__file","/opt/openWB-dev/openwb-ui-settings/src/components/charge_points/ChargePointConfigMixin.vue"]]),se={name:"ChargePointConfigFallback",mixins:[re]},ue={class:"charge-point-config-fallback"},de={key:1};function pe(n,e,f,P,h,t){const w=m("openwb-base-alert"),c=m("openwb-base-textarea");return l(),d("div",ue,[Object.keys(n.chargePoint.configuration).length==0?(l(),_(w,{key:0,subtype:"info"},{default:o(()=>[i(' Der Ladepunkt-Typ "'+v(n.chargePoint.type)+'" bietet keine Einstellungen. ',1)]),_:1})):(l(),d("div",de,[a(w,{subtype:"warning"},{default:o(()=>[i(' Es wurde keine Konfigurationsseite für den Ladepunkt-Typ "'+v(n.chargePoint.type)+'" gefunden. Die Einstellungen können als JSON direkt bearbeitet werden. ',1)]),_:1}),a(c,{title:"Konfiguration",subtype:"json","model-value":n.chargePoint.configuration,"onUpdate:modelValue":e[0]||(e[0]=y=>n.updateConfiguration(y,"configuration"))},{help:o(()=>e[1]||(e[1]=[i(" Bitte prüfen Sie, ob die Eingaben richtig interpretiert werden. ",-1)])),_:1},8,["model-value"]),a(w,{subtype:"info"},{default:o(()=>[p("pre",null,v(JSON.stringify(n.chargePoint.configuration,void 0,2)),1)]),_:1})]))])}const me=W(se,[["render",pe],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/charge_points/OpenwbChargePointConfigFallback.vue"]]),ge={props:{chargePoint:{type:Object,required:!0}}},ce=W(ge,[["__file","/opt/openWB-dev/openwb-ui-settings/src/components/charge_points/ChargePointCommandsMixin.vue"]]),be={name:"ChargePointCommandsFallback",mixins:[ce]},fe={class:"charge-point-commands-fallback"};function he(n,e,f,P,h,t){return l(),d("div",fe)}const _e=W(be,[["render",he],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/charge_points/OpenwbChargePointCommandsFallback.vue"]]),ke={name:"OpenwbChargePointProxy",props:{chargePoint:{required:!0,type:Object}},emits:["update:configuration"],methods:{getChargePointSettingsComponent(){return console.debug(`loading charge point settings: ${this.chargePoint.type}`),T({loader:()=>M(Object.assign({"./external_openwb/chargePoint.vue":()=>V(()=>import("./chargePoint-36b9cbe5.js"),["assets/chargePoint-36b9cbe5.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./internal_openwb/chargePoint.vue":()=>V(()=>import("./chargePoint-a724d441.js"),["assets/chargePoint-a724d441.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./mqtt/chargePoint.vue":()=>V(()=>import("./chargePoint-e966751c.js"),["assets/chargePoint-e966751c.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./openwb_dc_adapter/chargePoint.vue":()=>V(()=>import("./chargePoint-363cfa95.js"),["assets/chargePoint-363cfa95.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./openwb_pro/chargePoint.vue":()=>V(()=>import("./chargePoint-e34d0bf9.js"),["assets/chargePoint-e34d0bf9.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./openwb_series2_satellit/chargePoint.vue":()=>V(()=>import("./chargePoint-a57ed65a.js"),["assets/chargePoint-a57ed65a.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./smartwb/chargePoint.vue":()=>V(()=>import("./chargePoint-d7e93475.js"),["assets/chargePoint-d7e93475.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"])}),`./${this.chargePoint.type}/chargePoint.vue`),errorComponent:me})},getChargePointCommandsComponent(){return console.debug(`loading charge point commands: ${this.chargePoint.type}`),T({loader:()=>M(Object.assign({"./internal_openwb/commands.vue":()=>V(()=>import("./commands-f64df432.js"),["assets/commands-f64df432.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./openwb_pro/commands.vue":()=>V(()=>import("./commands-36456a01.js"),["assets/commands-36456a01.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"])}),`./${this.chargePoint.type}/commands.vue`),errorComponent:_e})},updateConfiguration(n){this.$emit("update:configuration",n)}}};function ve(n,e,f,P,h,t){const w=m("openwb-base-heading");return l(),d(B,null,[a(w,null,{default:o(()=>[i(' Einstellungen für Ladepunkt Typ "'+v(f.chargePoint.type)+'" ',1)]),_:1}),(l(),_(O(t.getChargePointSettingsComponent()),{"charge-point":f.chargePoint,"onUpdate:configuration":e[0]||(e[0]=c=>t.updateConfiguration(c))},null,40,["charge-point"])),e[1]||(e[1]=p("hr",null,null,-1)),a(w,null,{default:o(()=>[i(' Befehle für Ladepunkt Typ "'+v(f.chargePoint.type)+'" ',1)]),_:1}),(l(),_(O(t.getChargePointCommandsComponent()),{"charge-point":f.chargePoint},null,8,["charge-point"]))],64)}const we=W(ke,[["render",ve],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/charge_points/OpenwbChargePointProxy.vue"]]);F.add(R,N,Z,j,$);const ye={name:"TemplateAutoLockPlan",components:{FontAwesomeIcon:J},mixins:[H],props:{modelValue:{type:Object,required:!0},templateId:{type:Number,required:!0}},emits:["update:modelValue","sendCommand"],data(){return{showRemoveModal:!1}},computed:{plan(){return this.modelValue}},watch:{plan:{handler(n){this.$emit("update:modelValue",n)},deep:!0}},methods:{copyPlan(){this.$emit("sendCommand",{command:"addAutolockPlan",data:{template:this.templateId,copy:this.modelValue.id}})},removePlanModal(){this.showRemoveModal=!0},removePlan(n){this.showRemoveModal=!1,n=="confirm"&&this.$emit("sendCommand",{command:"removeAutolockPlan",data:{template:this.templateId,plan:this.modelValue.id}})}}},Ce={key:0},Pe={key:1},Ve={key:2},Le={key:1},Be={key:2};function We(n,e,f,P,h,t){const w=m("openwb-base-modal-dialog"),c=m("font-awesome-icon"),y=m("openwb-base-avatar"),C=m("openwb-base-text-input"),z=m("openwb-base-button-group-input"),D=m("openwb-base-card");return l(),d(B,null,[a(w,{show:h.showRemoveModal,title:"Autolock Zeitplan löschen",subtype:"danger",buttons:[{text:"Löschen",event:"confirm",subtype:"danger"}],onModalResult:t.removePlan},{default:o(()=>[i(' Wollen Sie den Autolock Zeitplan "'+v(t.plan.name)+'" wirklich entfernen? Dieser Vorgang kann nicht rückgängig gemacht werden! ',1)]),_:1},8,["show","onModalResult"]),a(D,{title:t.plan.name,collapsible:!0,collapsed:!0},{actions:o(g=>[g.collapsed==!0?(l(),d("span",{key:0,class:oe(["pill clickable",t.plan.active?"bg-success":"bg-danger"]),onClick:e[0]||(e[0]=U(k=>t.plan.active=!t.plan.active,["stop"]))},[a(c,{icon:["fas","clock"]}),i(" "+v(t.plan.time[0])+" - "+v(t.plan.time[1])+" ",1),t.plan.frequency.selected=="once"?(l(),d("span",Ce,[a(c,{icon:["fas","calendar-day"]}),i(" "+v(n.formatDate(t.plan.frequency.once[0])==n.formatDate(t.plan.frequency.once[1])?n.formatDate(t.plan.frequency.once[0]):n.formatDate(t.plan.frequency.once[0])+" - "+n.formatDate(t.plan.frequency.once[1])),1)])):b("",!0),t.plan.frequency.selected=="daily"?(l(),d("span",Pe,[a(c,{icon:["fas","calendar-week"]})])):b("",!0),t.plan.frequency.selected=="weekly"?(l(),d("span",Ve,[a(c,{icon:["fas","calendar-alt"]})])):b("",!0)],2)):b("",!0),g.collapsed==!1?(l(),d("span",Le,[a(y,{class:"bg-success clickable",title:"Autolock Zeitplan duplizieren",onClick:e[1]||(e[1]=U(k=>t.copyPlan(),["stop"]))},{default:o(()=>[a(c,{icon:["fas","copy"]})]),_:1}),a(y,{class:"bg-danger clickable ml-1",title:"Autolock Zeitplan löschen",onClick:e[2]||(e[2]=U(k=>t.removePlanModal(),["stop"]))},{default:o(()=>[a(c,{icon:["fas","trash"]})]),_:1})])):b("",!0)]),default:o(()=>[a(C,{modelValue:t.plan.name,"onUpdate:modelValue":e[3]||(e[3]=g=>t.plan.name=g),title:"Bezeichnung"},null,8,["modelValue"]),a(z,{modelValue:t.plan.active,"onUpdate:modelValue":e[4]||(e[4]=g=>t.plan.active=g),title:"Zeitplan aktiv",buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}]},null,8,["modelValue"]),a(C,{modelValue:t.plan.time[0],"onUpdate:modelValue":e[5]||(e[5]=g=>t.plan.time[0]=g),title:"Sperren um",subtype:"time"},null,8,["modelValue"]),a(C,{modelValue:t.plan.time[1],"onUpdate:modelValue":e[6]||(e[6]=g=>t.plan.time[1]=g),title:"Freigeben um",subtype:"time"},null,8,["modelValue"]),a(z,{modelValue:t.plan.frequency.selected,"onUpdate:modelValue":e[7]||(e[7]=g=>t.plan.frequency.selected=g),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"}]},null,8,["modelValue"]),t.plan.frequency.selected=="once"?(l(),_(C,{key:0,modelValue:t.plan.frequency.once[0],"onUpdate:modelValue":e[8]||(e[8]=g=>t.plan.frequency.once[0]=g),title:"Sperren ab ...",subtype:"date"},null,8,["modelValue"])):b("",!0),t.plan.frequency.selected=="once"?(l(),_(C,{key:1,modelValue:t.plan.frequency.once[1],"onUpdate:modelValue":e[9]||(e[9]=g=>t.plan.frequency.once[1]=g),title:"... bis",subtype:"date",min:t.plan.frequency.once[0]},null,8,["modelValue","min"])):b("",!0),t.plan.frequency.selected=="weekly"?(l(),d("div",Be,[(l(!0),d(B,null,S(n.weekdays,(g,k)=>(l(),_(z,{key:k,modelValue:t.plan.frequency.weekly[k],"onUpdate:modelValue":I=>t.plan.frequency.weekly[k]=I,title:g,buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}]},null,8,["modelValue","onUpdate:modelValue","title"]))),128))])):b("",!0)]),_:1},8,["title"])],64)}const ze=W(ye,[["render",We],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/charge_points/TemplateAutoLockPlan.vue"]]);F.add(ee,R,N,Z,j,$,ne,te);const Ie={name:"OpenwbChargePointInstallationView",components:{FontAwesomeIcon:J,FontAwesomeLayers:ae,OpenwbChargePointProxy:we,TemplateAutoLockPlan:ze},mixins:[H],props:{installAssistantActive:{type:Boolean,required:!1,default:!1}},emits:["sendCommand","save","reset","defaults"],data(){return{mqttTopicsToSubscribe:["openWB/general/extern","openWB/optional/dc_charging","openWB/optional/ocpp/config","openWB/optional/rfid/active","openWB/chargepoint/+/config","openWB/chargepoint/template/+","openWB/system/configurable/chargepoints","openWB/system/configurable/chargepoints_internal"],chargePointToAdd:void 0,showChargePointModal:!1,modalChargePointIndex:void 0,showChargePointTemplateModal:!1,modalChargePointTemplateIndex:void 0}},computed:{dcChargingEnabled:{get(){return this.$store.state.mqtt["openWB/optional/dc_charging"]}},installedChargePoints:{get(){let n=this.getWildcardTopics("openWB/chargepoint/+/config"),e={};for(const[f,P]of Object.entries(n))(P.type==="internal_openwb"||this.$store.state.mqtt["openWB/general/extern"]===!1)&&(e[f]=P);return e}},chargePointTemplates:{get(){return this.getWildcardTopics("openWB/chargepoint/template/+")}},chargePointTemplateList:{get(){let n=[];return Object.keys(this.chargePointTemplates).forEach(e=>{let f=parseInt(e.match(/([0-9]+)/g)[0]),P=this.$store.state.mqtt["openWB/chargepoint/template/"+f].name;n.push({value:f,text:P})}),n}}},methods:{addChargePoint(){this.$emit("sendCommand",{command:"addChargepoint",data:{type:this.chargePointToAdd}})},removeChargePointModal(n,e){n.stopPropagation(),this.modalChargePointIndex=parseInt(e.match(/(?:\/)(\d+)(?=\/)/)[1]),this.showChargePointModal=!0},removeChargePoint(n,e){this.showChargePointModal=!1,n=="confirm"&&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(n){return this.$store.state.mqtt["openWB/chargepoint/"+n+"/config"]?this.$store.state.mqtt["openWB/chargepoint/"+n+"/config"].name:"Ladepunkt "+n},getChargePointTemplateIndex(n){return parseInt(n.match(/([^/]+)$/)[0])},getChargePointTemplateName(n){return this.$store.state.mqtt["openWB/chargepoint/template/"+n]?this.$store.state.mqtt["openWB/chargepoint/template/"+n].name:"Profil "+n},addChargePointTemplate(n,e){n.stopPropagation();let f={};e&&(f.copy=this.getChargePointTemplateIndex(e)),this.$emit("sendCommand",{command:"addChargepointTemplate",data:f})},removeChargePointTemplateModal(n,e){n.stopPropagation(),this.modalChargePointTemplateIndex=this.getChargePointTemplateIndex(e),this.showChargePointTemplateModal=!0},removeChargePointTemplate(n,e){this.showChargePointTemplateModal=!1,n=="confirm"&&this.$emit("sendCommand",{command:"removeChargepointTemplate",data:{id:e}})},addChargePointTemplateAutolockPlan(n){this.$emit("sendCommand",{command:"addAutolockPlan",data:{template:this.getChargePointTemplateIndex(n)}})},updateConfiguration(n,e){console.debug("updateConfiguration",n,e),this.updateState(n,e.value,e.object)}}},Ae={class:"chargePointInstallation"},Ue={name:"chargePointInstallationForm"},Se={key:0},De={key:2},Ee={key:0},xe={key:0},qe={key:1},Me={key:0},Te={key:1},Oe={key:0},Fe={key:1},Re={key:2},Ne={key:0},Ze={key:3},je={key:5};function $e(n,e,f,P,h,t){const w=m("openwb-base-modal-dialog"),c=m("font-awesome-icon"),y=m("openwb-base-avatar"),C=m("openwb-base-text-input"),z=m("openwb-base-select-input"),D=m("openwb-charge-point-proxy"),g=m("openwb-base-heading"),k=m("openwb-base-button-group-input"),I=m("openwb-base-card"),G=m("font-awesome-layers"),A=m("openwb-base-alert"),x=m("router-link"),Q=m("openwb-base-array-input"),q=m("openwb-base-range-input"),X=m("openwb-base-number-input"),Y=m("template-auto-lock-plan"),K=m("openwb-base-submit-buttons");return l(),d(B,null,[a(w,{show:h.showChargePointModal,title:"Ladepunkt löschen",subtype:"danger",buttons:[{text:"Löschen",event:"confirm",subtype:"danger"}],onModalResult:e[0]||(e[0]=r=>t.removeChargePoint(r,h.modalChargePointIndex))},{default:o(()=>[i(' Wollen Sie den Ladepunkt "'+v(t.getChargePointName(h.modalChargePointIndex))+'" (ID: '+v(h.modalChargePointIndex)+") wirklich entfernen? Dieser Vorgang kann nicht rückgängig gemacht werden! ",1)]),_:1},8,["show"]),a(w,{show:h.showChargePointTemplateModal,title:"Ladepunkt-Profil löschen",subtype:"danger",buttons:[{text:"Löschen",event:"confirm",subtype:"danger"}],onModalResult:e[1]||(e[1]=r=>t.removeChargePointTemplate(r,h.modalChargePointTemplateIndex))},{default:o(()=>[i(' Wollen Sie das Ladepunkt-Profil "'+v(t.getChargePointTemplateName(h.modalChargePointTemplateIndex))+'" (ID: '+v(h.modalChargePointTemplateIndex)+") wirklich entfernen? Dieser Vorgang kann nicht rückgängig gemacht werden! ",1)]),_:1},8,["show"]),p("div",Ae,[p("form",Ue,[a(I,{title:"Ladepunkte",subtype:"primary",collapsible:!0,collapsed:!f.installAssistantActive},{header:o(()=>[a(c,{icon:["fas","charging-station"]}),e[7]||(e[7]=i(" Ladepunkte ",-1))]),default:o(()=>[(l(!0),d(B,null,S(t.installedChargePoints,(r,u)=>(l(),_(I,{key:u,title:r.name+" (ID: "+r.id+")",collapsible:!0,collapsed:!0,subtype:"primary"},{actions:o(s=>[s.collapsed?b("",!0):(l(),_(y,{key:0,class:"bg-danger clickable",title:"Ladepunkt löschen",onClick:L=>t.removeChargePointModal(L,u)},{default:o(()=>[a(c,{icon:["fas","trash"]})]),_:2},1032,["onClick"]))]),default:o(()=>[a(C,{title:"Bezeichnung",subtype:"text","model-value":r.name,"onUpdate:modelValue":s=>n.updateState(u,s,"name")},null,8,["model-value","onUpdate:modelValue"]),a(C,{title:"Modul",subtype:"text",disabled:"",readonly:"","model-value":n.$store.state.mqtt[u].type},null,8,["model-value"]),r.type!=="internal_openwb"||n.$store.state.mqtt["openWB/general/extern"]===!1?(l(),d("span",Se,[a(z,{title:"Ladepunkt-Profil",options:t.chargePointTemplateList,"model-value":n.$store.state.mqtt[u].template,"onUpdate:modelValue":s=>n.updateState(u,s,"template")},null,8,["options","model-value","onUpdate:modelValue"])])):b("",!0),n.$store.state.mqtt["openWB/optional/ocpp/config"].active===!0?(l(),_(C,{key:1,title:"OCPP-Chargebox ID","model-value":r.ocpp_chargebox_id,"onUpdate:modelValue":s=>n.updateState(u,s,"ocpp_chargebox_id")},{help:o(()=>[...e[8]||(e[8]=[i(" Bitte geben Sie hier die Chargebox ID ein, die im OCPP-Backend für diesen Ladepunkt verwendet wird. Sollen die Daten dieses Ladepunktes nicht an ein OCPP-Backend übertragen werden, lasse dieses Feld leer. ",-1)])]),_:2},1032,["model-value","onUpdate:modelValue"])):b("",!0),e[14]||(e[14]=p("hr",null,null,-1)),a(D,{"charge-point":r,"onUpdate:configuration":s=>t.updateConfiguration(u,s)},null,8,["charge-point","onUpdate:configuration"]),(r.type!=="internal_openwb"||n.$store.state.mqtt["openWB/general/extern"]===!1)&&r.charging_type!=="DC"?(l(),d("div",De,[e[13]||(e[13]=p("hr",null,null,-1)),a(g,null,{default:o(()=>[...e[9]||(e[9]=[i(" Hardware-Optionen ",-1)])]),_:1,__:[9]}),a(k,{title:"automatische Phasenumschaltung vorhanden",buttons:[{buttonValue:!1,text:"Nein"},{buttonValue:!0,text:"Ja"}],"model-value":r.auto_phase_switch_hw,"onUpdate:modelValue":s=>n.updateState(u,s,"auto_phase_switch_hw")},null,8,["model-value","onUpdate:modelValue"]),a(k,{title:"Control-Pilot-Unterbrechung vorhanden",buttons:[{buttonValue:!1,text:"Nein"},{buttonValue:!0,text:"Ja"}],"model-value":r.control_pilot_interruption_hw,"onUpdate:modelValue":s=>n.updateState(u,s,"control_pilot_interruption_hw")},{help:o(()=>[...e[10]||(e[10]=[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. ',-1)])]),_:2},1032,["model-value","onUpdate:modelValue"]),a(g,null,{default:o(()=>[...e[11]||(e[11]=[i(" Elektrischer Anschluss ",-1)])]),_:1,__:[11]}),a(k,{title:"Anzahl angeschlossener Phasen",buttons:[{buttonValue:1,text:"1"},{buttonValue:2,text:"2"},{buttonValue:3,text:"3"}],"model-value":r.connected_phases,"onUpdate:modelValue":s=>n.updateState(u,s,"connected_phases")},null,8,["model-value","onUpdate:modelValue"]),a(k,{title:"Phase 1 des Ladekabels",buttons:[{buttonValue:1,text:"EVU L1"},{buttonValue:2,text:"EVU L2"},{buttonValue:3,text:"EVU L3"}],"model-value":r.phase_1,"onUpdate:modelValue":s=>n.updateState(u,s,"phase_1")},{help:o(()=>[...e[12]||(e[12]=[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.",-1),p("br",null,null,-1),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.',-1),p("br",null,null,-1),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).",-1),p("br",null,null,-1),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.",-1),p("br",null,null,-1),i(" Im Zweifel bitte das Drehfeld von einer Fachkraft prüfen und korrigieren lassen. ",-1)])]),_:2},1032,["model-value","onUpdate:modelValue"])])):b("",!0)]),_:2,__:[14]},1032,["title"]))),128)),Object.keys(t.installedChargePoints).length>0?(l(),d("hr",Ee)):b("",!0),a(z,{title:"Verfügbare Ladepunkte","not-selected":"Bitte auswählen",options:t.getChargePointList(),"model-value":h.chargePointToAdd,"add-button":!0,"onUpdate:modelValue":e[2]||(e[2]=r=>h.chargePointToAdd=r),"onInput:add":t.addChargePoint},{help:o(()=>e[15]||(e[15]=[i(" Bitte einen Ladepunkt auswählen, der der openWB-Regelung hinzugefügt werden soll.",-1),p("br",null,null,-1),p("ul",null,[p("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 "),p("li",null," Secondary openWB - wenn diese openWB (primary) die Fernsteuerung von weiteren openWB (secondary) übernimmt "),p("li",null,"MQTT-Ladepunkt - nur zur Nutzung des openWB-Simulators zugelassen"),p("li",null,"openWB Pro - wenn diese openWB (primary) die Fernsteuerung einer openWB Pro (secondary) übernimmt"),p("li",null," openWB series2 Satellit/Satellit Duo - wenn diese openWB (primary) die Fernsteuerung einer openWB series2 Satellit/Satellit Duo (secondary) übernimmt "),p("li",null," smartWB/EVSE-Wifi - wenn diese openWB (primary) die Fernsteuerung einer smartWB/EVSE-Wifi übernimmt ")],-1)])),_:1},8,["options","model-value","onInput:add"])]),_:1},8,["collapsed"]),e[44]||(e[44]=p("hr",{class:"border-secondary"},null,-1)),a(I,{title:"Ladepunkt-Profile",collapsible:!0,collapsed:!0},{header:o(()=>[a(G,{class:"fa-lg"},{default:o(()=>[a(c,{icon:["far","file"]}),a(c,{icon:["fas","charging-station"],transform:"shrink-8"})]),_:1}),e[16]||(e[16]=i(" Ladepunkt-Profile ",-1))]),actions:o(()=>[n.$store.state.mqtt["openWB/general/extern"]===!1?(l(),_(y,{key:0,class:"bg-success clickable",title:"Neues Ladepunkt-Profil anlegen",onClick:t.addChargePointTemplate},{default:o(()=>[a(c,{icon:["fas","plus"]})]),_:1},8,["onClick"])):b("",!0)]),default:o(()=>[n.$store.state.mqtt["openWB/general/extern"]===!0?(l(),d("div",xe,[a(A,{subtype:"info"},{default:o(()=>e[17]||(e[17]=[i(' Diese Einstellungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. ',-1)])),_:1,__:[17]})])):(l(),d("div",qe,[(l(!0),d(B,null,S(t.chargePointTemplates,(r,u)=>(l(),_(I,{key:u,title:`${r.name} (ID: ${t.getChargePointTemplateIndex(u)})`,collapsible:!0,collapsed:!0},{actions:o(s=>[s.collapsed==!1?(l(),d("span",Me,[a(y,{class:"bg-success clickable",title:"Ladepunkt-Profil duplizieren",onClick:L=>t.addChargePointTemplate(L,u)},{default:o(()=>[a(c,{icon:["fas","copy"]})]),_:2},1032,["onClick"]),u.endsWith("/0")?b("",!0):(l(),_(y,{key:0,class:"bg-danger clickable ml-1",title:"Ladepunkt-Profil löschen",onClick:L=>t.removeChargePointTemplateModal(L,u)},{default:o(()=>[a(c,{icon:["fas","trash"]})]),_:2},1032,["onClick"]))])):b("",!0)]),default:o(()=>[a(C,{title:"Bezeichnung",subtype:"text","model-value":r.name,disabled:u.endsWith("/0"),"onUpdate:modelValue":s=>n.updateState(u,s,"name")},le({_:2},[u.endsWith("/0")?{name:"help",fn:o(()=>[e[18]||(e[18]=i(" Das Standard-Profil kann nicht umbenannt werden. ",-1))]),key:"0"}:void 0]),1032,["model-value","disabled","onUpdate:modelValue"]),t.dcChargingEnabled===!0?(l(),_(k,{key:0,title:"Typ des Ladeprofils",buttons:[{buttonValue:"AC",text:"AC"},{buttonValue:"DC",text:"DC"}],"model-value":r.charging_type,"onUpdate:modelValue":s=>n.updateState(u,s,"charging_type")},null,8,["model-value","onUpdate:modelValue"])):b("",!0),e[42]||(e[42]=p("hr",null,null,-1)),a(g,null,{default:o(()=>[...e[19]||(e[19]=[i(" Zugangskontrolle ",-1)])]),_:1,__:[19]}),r.valid_tags.length>0?(l(),d("div",Te,[a(A,{subtype:"info"},{default:o(()=>[e[21]||(e[21]=i(" Einstellungen zur Zugangskontrolle finden sich unter ",-1)),a(x,{to:"/IdentificationConfig"},{default:o(()=>[...e[20]||(e[20]=[i(" Einstellungen - Identifikation ",-1)])]),_:1,__:[20]}),e[22]||(e[22]=i(". ",-1)),n.$store.state.mqtt["openWB/optional/rfid/active"]===!0&&r.disable_after_unplug?(l(),d("div",Oe," Die Option ist aktiv. Ladepunkte denen dieses Ladepunkt-Profil zugeordnet ist müssen per ID-Tag entsperrt werden. ")):(l(),d("div",Fe,"Aktuell ist die Option in den Einstellungen deaktiviert.")),e[23]||(e[23]=i(" Dem Ladepunkt-Profil sind folgende ID-Tags zum Entsperren zugeordnet: ",-1))]),_:2,__:[21,22,23]},1024),a(Q,{title:"Zugeordnete ID-Tags","no-elements-message":"Keine keine ID-Tags zugeordnet.","no-input":"true","model-value":r.valid_tags},null,8,["model-value"])])):(l(),d("div",Re,[a(A,{subtype:"info"},{default:o(()=>[e[25]||(e[25]=i(" Einstellungen zur Zugangskontrolle finden sich unter ",-1)),a(x,{to:"/IdentificationConfig"},{default:o(()=>[...e[24]||(e[24]=[i(" Einstellungen - Identifikation ",-1)])]),_:1,__:[24]}),e[26]||(e[26]=i(".",-1)),e[27]||(e[27]=p("br",null,null,-1)),e[28]||(e[28]=i(" Dem Ladepunkt-Profil sind aktuell keine ID-Tags zum Entsperren zugeordnet. ",-1))]),_:1,__:[25,26,27,28]})])),e[43]||(e[43]=p("hr",null,null,-1)),a(g,null,{default:o(()=>[...e[29]||(e[29]=[i(" Angaben zum konfigurierten Ladestrom der openWB ",-1)])]),_:1,__:[29]}),a(A,{subtype:"info"},{default:o(()=>[e[30]||(e[30]=i(" Hier werden die maximalen Ladeströme entsprechend der in dem zugeordneten Ladepunkt genutzten Phasen eingestellt.",-1)),e[31]||(e[31]=p("br",null,null,-1)),e[32]||(e[32]=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. ",-1)),r.charging_type==="AC"?(l(),d("span",Ne," 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. ")):b("",!0),e[33]||(e[33]=p("br",null,null,-1)),e[34]||(e[34]=i(" Komplexere Installationen mit mehreren Ladepunkten werden im ",-1)),e[35]||(e[35]=p("a",{href:"https://github.com/openWB/core/wiki/Lastmanagement-und-kaskadierte-Z%C3%A4hler",target:"_blank",rel:"noopener noreferrer"},"Wiki zum Lastmanagement",-1)),e[36]||(e[36]=i(" beschrieben. ",-1))]),_:2,__:[30,31,32,33,34,35,36]},1024),r.charging_type==="AC"||t.dcChargingEnabled!==!0?(l(),d("div",Ze,[a(q,{title:"Maximalstrom bei einer Phase",min:6,max:32,step:1,unit:"A","model-value":r.max_current_single_phase,"onUpdate:modelValue":s=>n.updateState(u,s,"max_current_single_phase")},null,8,["model-value","onUpdate:modelValue"]),a(q,{title:"Maximalstrom mehrere Phasen",min:6,max:32,step:1,unit:"A","model-value":r.max_current_multi_phases,"onUpdate:modelValue":s=>n.updateState(u,s,"max_current_multi_phases")},null,8,["model-value","onUpdate:modelValue"])])):(l(),_(X,{key:4,title:"Maximalleistung",min:22,max:420,step:1,unit:"kW",precision:5,"model-value":n.ac_current2dc_power(r.dc_max_current),"onUpdate:modelValue":s=>n.updateState(u,n.dc_power2ac_current(s),"dc_max_current")},null,8,["model-value","onUpdate:modelValue"])),f.installAssistantActive?b("",!0):(l(),d("div",je,[e[41]||(e[41]=p("hr",null,null,-1)),a(g,null,{default:o(()=>[...e[37]||(e[37]=[i(" Sperren nach Uhrzeit (Komplettsperrung - keine Freischaltung per ID-Tag möglich) ",-1)])]),_:1,__:[37]}),a(k,{title:"Sperren nach Uhrzeit aktiv",buttons:[{buttonValue:!1,text:"Nein"},{buttonValue:!0,text:"Ja"}],"model-value":r.autolock.active,"onUpdate:modelValue":s=>n.updateState(u,s,"autolock.active")},{help:o(()=>[...e[38]||(e[38]=[i(" WirdSperren nach Uhrzeit 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. In dieser Zeit ist keine Freischaltung per RFID, Fahrzeugerkennung oder Pin möglich. ",-1)])]),_:2},1032,["model-value","onUpdate:modelValue"]),a(k,{title:"Erst nach Ladeende sperren",buttons:[{buttonValue:!1,text:"Nein"},{buttonValue:!0,text:"Ja"}],"model-value":r.autolock.wait_for_charging_end,"onUpdate:modelValue":s=>n.updateState(u,s,"autolock.wait_for_charging_end")},{help:o(()=>[...e[39]||(e[39]=[i(' Wenn ein Zeitplan Sperren nach Uhrzeit 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. ',-1)])]),_:2},1032,["model-value","onUpdate:modelValue"]),a(g,null,{actions:o(()=>[a(y,{class:"bg-success clickable",title:"Neuen Autolock Zeitplan anlegen",onClick:U(s=>t.addChargePointTemplateAutolockPlan(u),["stop"])},{default:o(()=>[a(c,{icon:["fas","plus"]})]),_:2},1032,["onClick"])]),default:o(()=>[e[40]||(e[40]=i(" Zeitpläne für Sperren nach Uhrzeit ",-1))]),_:2,__:[40]},1024)])),(l(!0),d(B,null,S(r.autolock.plans,(s,L)=>(l(),_(Y,{key:L,"model-value":s,"template-id":r.id,"onUpdate:modelValue":E=>n.updateState(u,E,`autolock.plans.${L}`),onSendCommand:e[3]||(e[3]=E=>n.$emit("sendCommand",E))},null,8,["model-value","template-id","onUpdate:modelValue"]))),128))]),_:2,__:[42,43]},1032,["title"]))),128))]))]),_:1}),a(K,{"form-name":"chargePointInstallationForm",onSave:e[4]||(e[4]=r=>n.$emit("save")),onReset:e[5]||(e[5]=r=>n.$emit("reset")),onDefaults:e[6]||(e[6]=r=>n.$emit("defaults"))})])])],64)}const Je=W(Ie,[["render",$e],["__scopeId","data-v-75fe5743"],["__file","/opt/openWB-dev/openwb-ui-settings/src/views/ChargePointInstallation.vue"]]),Ye=Object.freeze(Object.defineProperty({__proto__:null,default:Je},Symbol.toStringTag,{value:"Module"}));export{re as C,ce as a,Je as b,Ye as c};
diff --git a/web/settings/assets/Chart-cff08e47.js b/web/settings/assets/Chart-f2027a6a.js
similarity index 99%
rename from web/settings/assets/Chart-cff08e47.js
rename to web/settings/assets/Chart-f2027a6a.js
index 00c228d706..0a0a17cc35 100644
--- a/web/settings/assets/Chart-cff08e47.js
+++ b/web/settings/assets/Chart-f2027a6a.js
@@ -1 +1 @@
-import{l as L,Q as T,_ as H,Z as V,Y as O,a4 as M,a5 as j,F as q}from"./vendor-fortawesome-855c7d62.js";import{C as z}from"./index-d6a3d34f.js";import{C as P,p as E,a as B,L as N,b as F,B as K,f as Z,P as $,c as J,T as X,i as G,d as Y,e as U,g as Q}from"./vendor-chartjs-2bc02c38.js";import{_ as ee,u as h,l as o,m as s,G as d,E as c,x as _,B as b,A as f,N as k,M as x,F as D,z as C}from"./vendor-cc4615be.js";import"./vendor-bootstrap-09a7ccd9.js";import"./vendor-jquery-13cad4c1.js";import"./vendor-axios-3dcaeec5.js";import"./vendor-sortablejs-7c09d6dd.js";import"./vendor-luxon-cc86f6dc.js";L.add(T,H,V,O,M,j);P.register(E,B,N,F,K,Z,$,J,X,G,Y);const te={name:"OpenwbChartView",components:{ChartjsLine:U,FontAwesomeIcon:q},mixins:[z],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:""}},emits:["sendCommand"],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,chartIsLoading:!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}},"counter-energy_imported_grid":{label:"Zähler (Netzanteil)",unit:"kWh",type:"bar",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:!0,borderWidth:3,data:null,yAxisID:"y2",stack:"#-energy-imported-source",parsing:{xAxisKey:"timestamp",yAxisKey:null}},"counter-energy_imported_pv":{label:"Zähler (PV-Anteil)",unit:"kWh",type:"bar",jsonKey:null,borderColor:"rgba(40, 167, 69, 0.7)",backgroundColor:"rgba(255, 10, 13, 0.3)",fill:!0,pointStyle:"circle",pointRadius:0,pointHoverRadius:4,cubicInterpolationMode:"monotone",hidden:!0,borderWidth:3,data:null,yAxisID:"y2",stack:"#-energy-imported-source",parsing:{xAxisKey:"timestamp",yAxisKey:null}},"counter-energy_imported_bat":{label:"Zähler (PV-Anteil)",unit:"kWh",type:"bar",jsonKey:null,borderColor:"rgba(253, 126, 20, 0.7)",backgroundColor:"rgba(255, 10, 13, 0.3)",fill:!0,pointStyle:"circle",pointRadius:0,pointHoverRadius:4,cubicInterpolationMode:"monotone",hidden:!0,borderWidth:3,data:null,yAxisID:"y2",stack:"#-energy-imported-source",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 t=e.split("-");this.chartRequestDate.year=t[0],t.length>1?this.chartRequestDate.month=t[1]:this.chartRequestDate.month="",t.length>2?this.chartRequestDate.day=t[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};switch(this.chartRange){case"month":e={date:this.chartRequestDate.year+this.chartRequestDate.month};break;case"year":e={date: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(t=>{Object.prototype.hasOwnProperty.call(e.counter[t],"grid")&&delete e.counter[t].grid}),Object.keys(e).forEach(t=>{Object.prototype.hasOwnProperty.call(e[t],"all")&&(Object.keys(e[t]).length<=2&&["bat","pv"].includes(t)?delete e[t].all:e[t]={all:e[t].all,...e[t]})}),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 t=JSON.parse(JSON.stringify(e)).map(a=>(a.timestamp=a.timestamp*1e3,a));return t}},chartData(){if(this.chartDataObject){var e=["pv","counter","bat","cp","sh","ev","hc"];const t=this.chartDataObject[this.chartDataObject.length-1];return t&&e.forEach(a=>{Object.prototype.hasOwnProperty.call(t,a)&&(Object.prototype.hasOwnProperty.call(t[a],"all")&&(["bat","pv"].includes(a)&&Object.keys(t[a]).length<=2?delete t[a].all:t[a]={all:t[a].all,...t[a]}),Object.entries(t[a]).forEach(([n,i])=>{Object.keys(i).forEach(r=>{this.initDataset(a,n,r)})}))}),this.chartDatasets}}},watch:{chartRange(){this.init()},chartDataRead:{handler(e){e&&(this.chartIsLoading=!1)},immediate:!0}},mounted(){this.init()},methods:{handleChartClick(e){if(this.chartRange=="day")return;const t=this.$refs.myChart.chart;if(!t)return;const a=Q(t,e);if(!a.length)return;const{datasetIndex:n,index:i}=a[0],r=this.chartData.datasets[n].data[i].date;var u="",g="";switch(this.chartRange){case"month":u=r.substring(0,4)+"-"+r.substring(4,6)+"-"+r.substring(6),g="day";break;case"year":u=r.substring(0,4)+"-"+r.substring(4,6),g="month";break}this.blockChartInit=!0,this.chartDate=u,this.chartRange=g},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}},hideDataset(e,t,a){return!!(["bat","pv","cp"].includes(e)&&Object.prototype.hasOwnProperty.call(this.chartTotals[e],"all")&&t!="all"||["grid","bat","pv","cp"].includes(a.split("_").pop()))},getTotalsLabel(e,t=void 0,a=void 0){var n="*test*";if(!t&&!a){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(t&&!a){if(t=="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[t]}if(t&&a){switch(e){case"bat":case"cp":switch(a){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,a)}break;case"counter":switch(a){case"imported":case"energy_imported":return"Bezug/Verbrauch";case"exported":case"energy_exported":return"Einspeisung/Erzeugung";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,a)}break;case"pv":switch(a){case"exported":case"energy_exported":return"Erzeugung";default:console.warn("unknown measurement key:",e,a)}break;case"sh":switch(a){case"imported":case"energy_imported":return"Verbrauch";case"exported":case"energy_exported":return"Erzeugung";default:console.warn("unknown measurement key:",e,a)}break;case"hc":switch(a){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,a)}break;default:console.warn("unknown group key:",e)}return"*"+e+"+"+t+"+"+a+"*"}return n},getDatasetLabel(e,t,a,n){var i=["*"+n],r=[];if(t=="all")switch(e!=="hc"&&r.push("Summe"),e){case"pv":i=["PV"];break;case"bat":switch(i=["Speicher"],a){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,t)&&(i=[this.$store.state.mqtt[this.baseTopic+this.commandData.date].names[t]]);switch(e){case"bat":case"ev":case"cp":switch(a){case"soc":r.push("SoC");break;case"energy_imported":r.push("Ladung");break;case"energy_exported":r.push("Entladung");break;case"energy_imported_grid":r.push("Netz-Anteil");break;case"energy_imported_pv":r.push("PV-Anteil");break;case"energy_imported_bat":r.push("Speicher-Anteil");break;case"energy_imported_cp":r.push("Ladepunkt-Anteil");break}break;case"counter":switch(a){case"energy_imported":r.push("Bezug/Verbrauch");break;case"energy_exported":r.push("Einspeisung/Erzeugung");break;case"energy_imported_grid":r.push("Netz-Anteil");break;case"energy_imported_pv":r.push("PV-Anteil");break;case"energy_imported_bat":r.push("Speicher-Anteil");break;case"energy_imported_cp":r.push("Ladepunkt-Anteil");break}break;case"sh":switch(a){case"energy_imported":r.push("Verbrauch");break;case"energy_exported":r.push("Erzeugung");break}break;case"hc":switch(a){case"energy_imported_grid":r.push("Netz-Anteil");break;case"energy_imported_pv":r.push("PV-Anteil");break;case"energy_imported_bat":r.push("Speicher-Anteil");break;case"energy_imported_cp":r.push("Ladepunkt-Anteil");break}break}return`${i.join(" ")}${r.length?" ("+r.join(", ")+")":""}`},getDatasetIndex(e){let t=this.chartDatasets.datasets.findIndex(a=>a.jsonKey==e);if(t!=-1)return t},updateDatasetStack(e,t,a){if(e){if(t=="all"&&!["grid","pv","bat","cp"].includes(a.split("_").slice(-1)[0])){console.debug("not stacking totals for:",e,t,a);return}return e.includes("#")?(console.debug("updating stack template:",e,t,a),e.replace("#",t)):e}},addDataset(e,t,a,n){if(console.debug("adding dataset:",e,t,a,n),!(Object.prototype.hasOwnProperty.call(this.chartTotals,e)&&!Object.prototype.hasOwnProperty.call(this.chartTotals[e],t))){var i=e+"-"+a;if(this.datasetTemplates[i]){var r=JSON.parse(JSON.stringify(this.datasetTemplates[i]));return r.parsing.yAxisKey=n,r.jsonKey=n,r.data=this.chartDataObject,r.label=this.getDatasetLabel(e,t,a,n),r.labelSuffix!=null&&(r.label=r.label+r.labelSuffix),r.hidden=this.hideDataset(e,t,a),r.stack=this.updateDatasetStack(r.stack,t,a),this.chartDatasets.datasets.push(r)-1}else console.warn("no matching template found for: "+n+" with template: "+i)}},initDataset(e,t,a){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","energy_imported_grid","energy_imported_pv","energy_imported_bat"],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+"."+t+"."+a;if(n[e].includes(a)){var r=this.getDatasetIndex(i);r==null&&(r=this.addDataset(e,t,a,i))}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.chartFilterForm.reportValidity()){this.chartIsLoading=!0,this.setupScaleX(),this.chartDatasets.datasets=[];var t="";switch(this.chartRange){case"day":t="getDailyLog";break;case"month":t="getMonthlyLog";break;case"year":t="getYearlyLog";break}this.$emit("sendCommand",{command:t,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()}}},re={class:"chart"},ae={key:0},ie={key:1},ne={name:"chartFilterForm"},oe={key:1},se={key:1},le={class:"openwb-chart"},de={name:"chartTotalsForm"},ce={key:1};function ue(e,t,a,n,i,r){const u=h("openwb-base-alert"),g=h("openwb-base-select-input"),v=h("openwb-base-text-input"),y=h("openwb-base-card"),S=h("chartjs-line"),R=h("font-awesome-icon"),w=h("openwb-base-heading");return o(),s("div",re,[e.$store.state.mqtt["openWB/general/extern"]===!0?(o(),s("div",ae,[d(u,{subtype:"info"},{default:c(()=>t[3]||(t[3]=[b(' Die Auswertungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. Du findest alle Auswertungen in der openWB, welche sich im Steuerungsmodus "primary" befindet. ',-1)])),_:1,__:[3]})])):(o(),s("div",ie,[d(y,{title:"Filter",collapsible:!0,collapsed:!1},{default:c(()=>[f("form",ne,[d(g,{modelValue:i.chartRange,"onUpdate:modelValue":t[0]||(t[0]=p=>i.chartRange=p),title:"Zeitraum",options:[{value:"day",text:"Tag"},{value:"month",text:"Monat"},{value:"year",text:"Jahr"}]},null,8,["modelValue"]),d(v,{modelValue:r.chartDate,"onUpdate:modelValue":[t[1]||(t[1]=p=>r.chartDate=p),t[2]||(t[2]=p=>r.updateChart())],title:r.dateInput.title,subtype:r.dateInput.type,min:r.dateInput.min,max:i.currentDate,"show-quick-buttons":!0},null,8,["modelValue","title","subtype","min","max"])])]),_:1}),i.chartIsLoading?(o(),_(u,{key:0,subtype:"info"},{default:c(()=>t[4]||(t[4]=[b(" Daten werden geladen... ",-1)])),_:1,__:[4]})):(o(),s("div",oe,[r.chartDataHasEntries?(o(),s("div",se,[d(y,{title:"Diagramm",collapsible:!0,collapsed:!1},{default:c(()=>[f("div",le,[d(S,{ref:"myChart",data:r.chartData,options:i.chartOptions,onClick:r.handleChartClick},null,8,["data","options","onClick"])])]),_:1}),d(y,{title:"Summen",collapsible:!0,collapsed:!0},{default:c(()=>[f("form",de,[(o(!0),s(k,null,x(Object.fromEntries(Object.entries(r.chartTotals).filter(([p,l])=>Object.keys(l).length>0)),(p,l)=>(o(),_(y,{key:l,collapsible:!0,collapsed:!0,subtype:r.getCardSubtype(l)},{header:c(()=>[d(R,{icon:r.getCardIcon(l)},null,8,["icon"]),b(" "+D(r.getTotalsLabel(l)),1)]),default:c(()=>[(o(!0),s(k,null,x(p,(I,m)=>(o(),s("div",{key:m},[l!=="hc"?(o(),_(w,{key:0},{default:c(()=>[b(D(r.getTotalsLabel(l,m)),1)]),_:2},1024)):C("",!0),(o(!0),s(k,null,x(I,(W,A)=>(o(),s("div",{key:A},[d(v,{title:r.getTotalsLabel(l,m,A),readonly:"",class:"text-right",unit:"kWh","model-value":e.formatNumber(W/1e3,3)},null,8,["title","model-value"])]))),128)),m=="all"&&l!="hc"?(o(),s("hr",ce)):C("",!0)]))),128))]),_:2},1032,["subtype"]))),128))])]),_:1})])):(o(),_(u,{key:0,subtype:"info"},{default:c(()=>t[5]||(t[5]=[b(" Es konnten keine Daten für diesen Zeitraum gefunden werden. ",-1)])),_:1,__:[5]}))]))]))])}const xe=ee(te,[["render",ue],["__scopeId","data-v-e00a7cd5"],["__file","/opt/openWB-dev/openwb-ui-settings/src/views/Chart.vue"]]);export{xe as default};
+import{l as L,Q as T,_ as H,Z as V,Y as O,a4 as M,a5 as j,F as q}from"./vendor-fortawesome-855c7d62.js";import{C as z}from"./index-5b5e1b75.js";import{C as P,p as E,a as B,L as N,b as F,B as K,f as Z,P as $,c as J,T as X,i as G,d as Y,e as U,g as Q}from"./vendor-chartjs-2bc02c38.js";import{_ as ee,u as h,l as o,m as s,G as d,E as c,x as _,B as b,A as f,N as k,M as x,F as D,z as C}from"./vendor-cc4615be.js";import"./vendor-bootstrap-09a7ccd9.js";import"./vendor-jquery-13cad4c1.js";import"./vendor-axios-3dcaeec5.js";import"./vendor-sortablejs-7c09d6dd.js";import"./vendor-luxon-cc86f6dc.js";L.add(T,H,V,O,M,j);P.register(E,B,N,F,K,Z,$,J,X,G,Y);const te={name:"OpenwbChartView",components:{ChartjsLine:U,FontAwesomeIcon:q},mixins:[z],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:""}},emits:["sendCommand"],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,chartIsLoading:!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}},"counter-energy_imported_grid":{label:"Zähler (Netzanteil)",unit:"kWh",type:"bar",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:!0,borderWidth:3,data:null,yAxisID:"y2",stack:"#-energy-imported-source",parsing:{xAxisKey:"timestamp",yAxisKey:null}},"counter-energy_imported_pv":{label:"Zähler (PV-Anteil)",unit:"kWh",type:"bar",jsonKey:null,borderColor:"rgba(40, 167, 69, 0.7)",backgroundColor:"rgba(255, 10, 13, 0.3)",fill:!0,pointStyle:"circle",pointRadius:0,pointHoverRadius:4,cubicInterpolationMode:"monotone",hidden:!0,borderWidth:3,data:null,yAxisID:"y2",stack:"#-energy-imported-source",parsing:{xAxisKey:"timestamp",yAxisKey:null}},"counter-energy_imported_bat":{label:"Zähler (PV-Anteil)",unit:"kWh",type:"bar",jsonKey:null,borderColor:"rgba(253, 126, 20, 0.7)",backgroundColor:"rgba(255, 10, 13, 0.3)",fill:!0,pointStyle:"circle",pointRadius:0,pointHoverRadius:4,cubicInterpolationMode:"monotone",hidden:!0,borderWidth:3,data:null,yAxisID:"y2",stack:"#-energy-imported-source",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 t=e.split("-");this.chartRequestDate.year=t[0],t.length>1?this.chartRequestDate.month=t[1]:this.chartRequestDate.month="",t.length>2?this.chartRequestDate.day=t[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};switch(this.chartRange){case"month":e={date:this.chartRequestDate.year+this.chartRequestDate.month};break;case"year":e={date: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(t=>{Object.prototype.hasOwnProperty.call(e.counter[t],"grid")&&delete e.counter[t].grid}),Object.keys(e).forEach(t=>{Object.prototype.hasOwnProperty.call(e[t],"all")&&(Object.keys(e[t]).length<=2&&["bat","pv"].includes(t)?delete e[t].all:e[t]={all:e[t].all,...e[t]})}),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 t=JSON.parse(JSON.stringify(e)).map(a=>(a.timestamp=a.timestamp*1e3,a));return t}},chartData(){if(this.chartDataObject){var e=["pv","counter","bat","cp","sh","ev","hc"];const t=this.chartDataObject[this.chartDataObject.length-1];return t&&e.forEach(a=>{Object.prototype.hasOwnProperty.call(t,a)&&(Object.prototype.hasOwnProperty.call(t[a],"all")&&(["bat","pv"].includes(a)&&Object.keys(t[a]).length<=2?delete t[a].all:t[a]={all:t[a].all,...t[a]}),Object.entries(t[a]).forEach(([n,i])=>{Object.keys(i).forEach(r=>{this.initDataset(a,n,r)})}))}),this.chartDatasets}}},watch:{chartRange(){this.init()},chartDataRead:{handler(e){e&&(this.chartIsLoading=!1)},immediate:!0}},mounted(){this.init()},methods:{handleChartClick(e){if(this.chartRange=="day")return;const t=this.$refs.myChart.chart;if(!t)return;const a=Q(t,e);if(!a.length)return;const{datasetIndex:n,index:i}=a[0],r=this.chartData.datasets[n].data[i].date;var u="",g="";switch(this.chartRange){case"month":u=r.substring(0,4)+"-"+r.substring(4,6)+"-"+r.substring(6),g="day";break;case"year":u=r.substring(0,4)+"-"+r.substring(4,6),g="month";break}this.blockChartInit=!0,this.chartDate=u,this.chartRange=g},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}},hideDataset(e,t,a){return!!(["bat","pv","cp"].includes(e)&&Object.prototype.hasOwnProperty.call(this.chartTotals[e],"all")&&t!="all"||["grid","bat","pv","cp"].includes(a.split("_").pop()))},getTotalsLabel(e,t=void 0,a=void 0){var n="*test*";if(!t&&!a){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(t&&!a){if(t=="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[t]}if(t&&a){switch(e){case"bat":case"cp":switch(a){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,a)}break;case"counter":switch(a){case"imported":case"energy_imported":return"Bezug/Verbrauch";case"exported":case"energy_exported":return"Einspeisung/Erzeugung";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,a)}break;case"pv":switch(a){case"exported":case"energy_exported":return"Erzeugung";default:console.warn("unknown measurement key:",e,a)}break;case"sh":switch(a){case"imported":case"energy_imported":return"Verbrauch";case"exported":case"energy_exported":return"Erzeugung";default:console.warn("unknown measurement key:",e,a)}break;case"hc":switch(a){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,a)}break;default:console.warn("unknown group key:",e)}return"*"+e+"+"+t+"+"+a+"*"}return n},getDatasetLabel(e,t,a,n){var i=["*"+n],r=[];if(t=="all")switch(e!=="hc"&&r.push("Summe"),e){case"pv":i=["PV"];break;case"bat":switch(i=["Speicher"],a){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,t)&&(i=[this.$store.state.mqtt[this.baseTopic+this.commandData.date].names[t]]);switch(e){case"bat":case"ev":case"cp":switch(a){case"soc":r.push("SoC");break;case"energy_imported":r.push("Ladung");break;case"energy_exported":r.push("Entladung");break;case"energy_imported_grid":r.push("Netz-Anteil");break;case"energy_imported_pv":r.push("PV-Anteil");break;case"energy_imported_bat":r.push("Speicher-Anteil");break;case"energy_imported_cp":r.push("Ladepunkt-Anteil");break}break;case"counter":switch(a){case"energy_imported":r.push("Bezug/Verbrauch");break;case"energy_exported":r.push("Einspeisung/Erzeugung");break;case"energy_imported_grid":r.push("Netz-Anteil");break;case"energy_imported_pv":r.push("PV-Anteil");break;case"energy_imported_bat":r.push("Speicher-Anteil");break;case"energy_imported_cp":r.push("Ladepunkt-Anteil");break}break;case"sh":switch(a){case"energy_imported":r.push("Verbrauch");break;case"energy_exported":r.push("Erzeugung");break}break;case"hc":switch(a){case"energy_imported_grid":r.push("Netz-Anteil");break;case"energy_imported_pv":r.push("PV-Anteil");break;case"energy_imported_bat":r.push("Speicher-Anteil");break;case"energy_imported_cp":r.push("Ladepunkt-Anteil");break}break}return`${i.join(" ")}${r.length?" ("+r.join(", ")+")":""}`},getDatasetIndex(e){let t=this.chartDatasets.datasets.findIndex(a=>a.jsonKey==e);if(t!=-1)return t},updateDatasetStack(e,t,a){if(e){if(t=="all"&&!["grid","pv","bat","cp"].includes(a.split("_").slice(-1)[0])){console.debug("not stacking totals for:",e,t,a);return}return e.includes("#")?(console.debug("updating stack template:",e,t,a),e.replace("#",t)):e}},addDataset(e,t,a,n){if(console.debug("adding dataset:",e,t,a,n),!(Object.prototype.hasOwnProperty.call(this.chartTotals,e)&&!Object.prototype.hasOwnProperty.call(this.chartTotals[e],t))){var i=e+"-"+a;if(this.datasetTemplates[i]){var r=JSON.parse(JSON.stringify(this.datasetTemplates[i]));return r.parsing.yAxisKey=n,r.jsonKey=n,r.data=this.chartDataObject,r.label=this.getDatasetLabel(e,t,a,n),r.labelSuffix!=null&&(r.label=r.label+r.labelSuffix),r.hidden=this.hideDataset(e,t,a),r.stack=this.updateDatasetStack(r.stack,t,a),this.chartDatasets.datasets.push(r)-1}else console.warn("no matching template found for: "+n+" with template: "+i)}},initDataset(e,t,a){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","energy_imported_grid","energy_imported_pv","energy_imported_bat"],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+"."+t+"."+a;if(n[e].includes(a)){var r=this.getDatasetIndex(i);r==null&&(r=this.addDataset(e,t,a,i))}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.chartFilterForm.reportValidity()){this.chartIsLoading=!0,this.setupScaleX(),this.chartDatasets.datasets=[];var t="";switch(this.chartRange){case"day":t="getDailyLog";break;case"month":t="getMonthlyLog";break;case"year":t="getYearlyLog";break}this.$emit("sendCommand",{command:t,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()}}},re={class:"chart"},ae={key:0},ie={key:1},ne={name:"chartFilterForm"},oe={key:1},se={key:1},le={class:"openwb-chart"},de={name:"chartTotalsForm"},ce={key:1};function ue(e,t,a,n,i,r){const u=h("openwb-base-alert"),g=h("openwb-base-select-input"),v=h("openwb-base-text-input"),y=h("openwb-base-card"),S=h("chartjs-line"),R=h("font-awesome-icon"),w=h("openwb-base-heading");return o(),s("div",re,[e.$store.state.mqtt["openWB/general/extern"]===!0?(o(),s("div",ae,[d(u,{subtype:"info"},{default:c(()=>t[3]||(t[3]=[b(' Die Auswertungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. Du findest alle Auswertungen in der openWB, welche sich im Steuerungsmodus "primary" befindet. ',-1)])),_:1,__:[3]})])):(o(),s("div",ie,[d(y,{title:"Filter",collapsible:!0,collapsed:!1},{default:c(()=>[f("form",ne,[d(g,{modelValue:i.chartRange,"onUpdate:modelValue":t[0]||(t[0]=p=>i.chartRange=p),title:"Zeitraum",options:[{value:"day",text:"Tag"},{value:"month",text:"Monat"},{value:"year",text:"Jahr"}]},null,8,["modelValue"]),d(v,{modelValue:r.chartDate,"onUpdate:modelValue":[t[1]||(t[1]=p=>r.chartDate=p),t[2]||(t[2]=p=>r.updateChart())],title:r.dateInput.title,subtype:r.dateInput.type,min:r.dateInput.min,max:i.currentDate,"show-quick-buttons":!0},null,8,["modelValue","title","subtype","min","max"])])]),_:1}),i.chartIsLoading?(o(),_(u,{key:0,subtype:"info"},{default:c(()=>t[4]||(t[4]=[b(" Daten werden geladen... ",-1)])),_:1,__:[4]})):(o(),s("div",oe,[r.chartDataHasEntries?(o(),s("div",se,[d(y,{title:"Diagramm",collapsible:!0,collapsed:!1},{default:c(()=>[f("div",le,[d(S,{ref:"myChart",data:r.chartData,options:i.chartOptions,onClick:r.handleChartClick},null,8,["data","options","onClick"])])]),_:1}),d(y,{title:"Summen",collapsible:!0,collapsed:!0},{default:c(()=>[f("form",de,[(o(!0),s(k,null,x(Object.fromEntries(Object.entries(r.chartTotals).filter(([p,l])=>Object.keys(l).length>0)),(p,l)=>(o(),_(y,{key:l,collapsible:!0,collapsed:!0,subtype:r.getCardSubtype(l)},{header:c(()=>[d(R,{icon:r.getCardIcon(l)},null,8,["icon"]),b(" "+D(r.getTotalsLabel(l)),1)]),default:c(()=>[(o(!0),s(k,null,x(p,(I,m)=>(o(),s("div",{key:m},[l!=="hc"?(o(),_(w,{key:0},{default:c(()=>[b(D(r.getTotalsLabel(l,m)),1)]),_:2},1024)):C("",!0),(o(!0),s(k,null,x(I,(W,A)=>(o(),s("div",{key:A},[d(v,{title:r.getTotalsLabel(l,m,A),readonly:"",class:"text-right",unit:"kWh","model-value":e.formatNumber(W/1e3,3)},null,8,["title","model-value"])]))),128)),m=="all"&&l!="hc"?(o(),s("hr",ce)):C("",!0)]))),128))]),_:2},1032,["subtype"]))),128))])]),_:1})])):(o(),_(u,{key:0,subtype:"info"},{default:c(()=>t[5]||(t[5]=[b(" Es konnten keine Daten für diesen Zeitraum gefunden werden. ",-1)])),_:1,__:[5]}))]))]))])}const xe=ee(te,[["render",ue],["__scopeId","data-v-e00a7cd5"],["__file","/opt/openWB-dev/openwb-ui-settings/src/views/Chart.vue"]]);export{xe as default};
diff --git a/web/settings/assets/CloudConfig-b6646b94.js b/web/settings/assets/CloudConfig-50a55ac2.js
similarity index 99%
rename from web/settings/assets/CloudConfig-b6646b94.js
rename to web/settings/assets/CloudConfig-50a55ac2.js
index 8c9fb413de..a5c42e32e7 100644
--- a/web/settings/assets/CloudConfig-b6646b94.js
+++ b/web/settings/assets/CloudConfig-50a55ac2.js
@@ -1 +1 @@
-import{l as S,ab as q,F as z}from"./vendor-fortawesome-855c7d62.js";import{C as P}from"./index-d6a3d34f.js";import{_ as Z,u as a,l,m as b,G as r,E as t,A as m,x as p,z as i,D as h,N as I,B as s,q as k}from"./vendor-cc4615be.js";import"./vendor-bootstrap-09a7ccd9.js";import"./vendor-jquery-13cad4c1.js";import"./vendor-axios-3dcaeec5.js";import"./vendor-sortablejs-7c09d6dd.js";S.add(q);const K={name:"OpenwbCloudConfigView",components:{FontAwesomeIcon:z},mixins:[P],emits:["sendCommand","save","reset","defaults"],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 n=this.getWildcardTopics("openWB/system/mqtt/bridge/+");for(const[e,B]of Object.entries(n))B.remote.is_openwb_cloud||delete n[e];return n}},cloudBridgeKey:{get(){for(const[n,e]of Object.entries(this.cloudBridge))if(e.remote.is_openwb_cloud)return n}},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(n){return parseInt(n.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(n){n.stopPropagation(),this.showCloudRemoveModal=!0},removeCloud(n){this.showCloudRemoveModal=!1,n=="confirm"&&(this.updateState("openWB/system/mqtt/valid_partner_ids",[]),this.$emit("sendCommand",{command:"removeMqttBridge",data:{bridge:this.getMqttBridgeIndex(this.cloudBridgeKey)}}),this.enableCloudConnectButton=!0)}}},M={class:"cloud-config"},x={key:1},R={key:1,name:"cloudConfigCreateForm"},N={key:2,name:"cloudConfigConnectForm"},U={class:"row justify-content-center"},A={key:3,name:"cloudConfigured"},F={class:"row justify-content-center"};function j(n,e,B,G,u,d){const D=a("openwb-base-modal-dialog"),c=a("router-link"),g=a("openwb-base-alert"),w=a("openwb-base-card"),f=a("openwb-base-text-input"),_=a("openwb-base-button-group-input"),C=a("font-awesome-icon"),y=a("openwb-base-array-input"),v=a("openwb-base-click-button"),V=a("openwb-base-heading"),W=a("openwb-base-submit-buttons");return l(),b(I,null,[r(D,{show:u.showCloudRemoveModal,title:"Cloud Zugang löschen",subtype:"danger",buttons:[{text:"Löschen",event:"confirm",subtype:"danger"}],onModalResult:e[0]||(e[0]=o=>d.removeCloud(o))},{default:t(()=>e[13]||(e[13]=[s(" Willst Du den vorhandenen Cloud Zugang wirklich entfernen? Dieser Vorgang kann nicht rückgängig gemacht werden! ",-1)])),_:1,__:[13]},8,["show"]),m("div",M,[n.$store.state.mqtt["openWB/system/dataprotection_acknowledged"]!==!0?(l(),p(g,{key:0,subtype:"danger"},{default:t(()=>[e[15]||(e[15]=s(" Du musst der ",-1)),r(c,{to:"/System/LegalSettings"},{default:t(()=>e[14]||(e[14]=[s(" Datenschutzerklärung ",-1)])),_:1,__:[14]}),e[16]||(e[16]=s(" zustimmen, um die openWB Cloud nutzen zu können. ",-1))]),_:1,__:[15,16]})):(l(),b("div",x,[r(g,{subtype:"success"},{default:t(()=>[e[18]||(e[18]=s(" Du hast der ",-1)),r(c,{to:"/System/LegalSettings"},{default:t(()=>e[17]||(e[17]=[s(" Datenschutzerklärung ",-1)])),_:1,__:[17]}),e[19]||(e[19]=s(" zugestimmt und kannst die openWB Cloud nutzen. ",-1))]),_:1,__:[18,19]}),u.enableRemoveCloudButton?i("",!0):(l(),p(g,{key:0,subtype:"warning"},{default:t(()=>e[20]||(e[20]=[s(" Der Zugang wurde entfernt. Bitte starte die openWB neu, um die Änderungen anzuwenden! ",-1)])),_:1,__:[20]})),d.cloudBridgeKey?i("",!0):(l(),b("form",R,[r(w,{title:"Neuen Zugang erstellen"},{default:t(()=>[r(g,{subtype:"warning"},{default:t(()=>e[21]||(e[21]=[s(" Derzeit können keine neuen Zugänge für die openWB Cloud angelegt werden. Bitte nutze die in/an der openWB notierten Zugangsdaten im unteren Bereich dieser Seite. Wenn bei einer gekauften openWB keine Zugangsdaten vorhanden sind, schreibe bitte eine Mail unter Angabe der Bestell- und/oder Seriennummer an ",-1),m("a",{href:"mailto:support@openwb.de",subject:"Cloud Zugangsdaten"}," support@openwb.de ",-1),s(" . ",-1)])),_:1,__:[21]})]),_:1})])),d.cloudBridgeKey?i("",!0):(l(),b("form",N,[r(w,{title:"Vorhandenen Zugang einrichten"},h({default:t(()=>[r(f,{modelValue:u.connectCloudData.username,"onUpdate:modelValue":e[1]||(e[1]=o=>u.connectCloudData.username=o),title:"Benutzername",required:"",subtype:"user"},null,8,["modelValue"]),r(f,{modelValue:u.connectCloudData.password,"onUpdate:modelValue":e[2]||(e[2]=o=>u.connectCloudData.password=o),title:"Passwort",required:"",subtype:"password"},null,8,["modelValue"]),r(_,{modelValue:u.connectCloudData.partner,"onUpdate:modelValue":e[3]||(e[3]=o=>u.connectCloudData.partner=o),title:"Zugang für Partner",buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}]},{help:t(()=>e[22]||(e[22]=[s(" Wenn diese openWB über einen Partner erworben wurde, kann hier ein Support-Zugang für diesen freigegeben werden. ",-1)])),_:1},8,["modelValue"]),u.connectCloudData.partner?(l(),p(y,{key:0,title:"Gültige Partner-IDs","no-elements-message":"Keine Partner-ID zugeordnet.","model-value":n.$store.state.mqtt["openWB/system/mqtt/valid_partner_ids"],"onUpdate:modelValue":e[4]||(e[4]=o=>n.updateState("openWB/system/mqtt/valid_partner_ids",o))},{"input-prefix":t(()=>[r(C,{icon:["fas","user-gear"]})]),"element-prefix":t(()=>[r(C,{icon:["fas","user-gear"]})]),help:t(()=>e[23]||(e[23]=[s(" 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)])),_:1},8,["model-value"])):i("",!0)]),_:2},[n.$store.state.mqtt["openWB/system/dataprotection_acknowledged"]===!0?{name:"footer",fn:t(()=>[m("div",U,[r(v,{class:k(["col-4",u.enableCloudConnectButton?"btn-success":"btn-outline-success"]),disabled:!u.enableCloudConnectButton,onButtonClicked:d.connectCloud},{default:t(()=>e[24]||(e[24]=[s(" Mit Cloud verbinden ",-1)])),_:1,__:[24]},8,["class","disabled","onButtonClicked"])])]),key:"0"}:void 0]),1024)])),d.cloudBridgeKey?(l(),b("form",A,[!u.enableCloudConnectButton||!u.enableNewCloudButton?(l(),p(g,{key:0,subtype:"warning"},{default:t(()=>e[25]||(e[25]=[s(" Der Zugang wurde eingerichtet. Bitte starte die die openWB neu, um die Änderungen anzuwenden! ",-1)])),_:1,__:[25]})):i("",!0),r(w,{title:"Vorhandener Cloud Zugang"},{footer:t(()=>[m("div",F,[r(v,{class:k(["col-4",u.enableRemoveCloudButton?"btn-danger":"btn-outline-danger"]),disabled:!u.enableRemoveCloudButton,onButtonClicked:e[9]||(e[9]=o=>d.removeCloudModal(o))},{default:t(()=>e[29]||(e[29]=[s(" Zugang löschen ",-1)])),_:1,__:[29]},8,["class","disabled"])])]),default:t(()=>[r(V,null,{default:t(()=>e[26]||(e[26]=[m("span",null,[s(" Mit diesen Zugangsdaten kannst Du dich in der "),m("a",{href:"https://remote.openwb.de/",target:"_blank",rel:"noopener noreferrer"}," openWB Cloud "),s(" anmelden. ")],-1)])),_:1,__:[26]}),r(f,{modelValue:d.cloudSettings.username,"onUpdate:modelValue":e[5]||(e[5]=o=>d.cloudSettings.username=o),title:"Benutzername",required:"",subtype:"user",disabled:""},null,8,["modelValue"]),r(f,{modelValue:d.cloudSettings.password,"onUpdate:modelValue":e[6]||(e[6]=o=>d.cloudSettings.password=o),title:"Passwort",required:"",subtype:"password",disabled:""},null,8,["modelValue"]),e[30]||(e[30]=m("hr",null,null,-1)),r(_,{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[7]||(e[7]=o=>n.updateState(d.cloudBridgeKey,o,"access.partner"))},{help:t(()=>e[27]||(e[27]=[s(" Wenn diese openWB über einen Partner erworben wurde, kann hier ein Support-Zugang für diesen freigegeben werden. ",-1)])),_:1},8,["model-value"]),d.cloudSettings.partner?(l(),p(y,{key:0,title:"Gültige Partner-IDs","no-elements-message":"Keine Partner-ID zugeordnet.","model-value":n.$store.state.mqtt["openWB/system/mqtt/valid_partner_ids"],"onUpdate:modelValue":e[8]||(e[8]=o=>n.updateState("openWB/system/mqtt/valid_partner_ids",o))},{"input-prefix":t(()=>[r(C,{icon:["fas","user-gear"]})]),"element-prefix":t(()=>[r(C,{icon:["fas","user-gear"]})]),help:t(()=>e[28]||(e[28]=[s(" 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)])),_:1},8,["model-value"])):i("",!0)]),_:1,__:[30]})])):i("",!0),d.cloudBridgeKey?(l(),p(W,{key:4,"form-name":"cloudConfigured",onSave:e[10]||(e[10]=o=>n.$emit("save")),onReset:e[11]||(e[11]=o=>n.$emit("reset")),onDefaults:e[12]||(e[12]=o=>n.$emit("defaults"))})):i("",!0)]))])],64)}const X=Z(K,[["render",j],["__file","/opt/openWB-dev/openwb-ui-settings/src/views/CloudConfig.vue"]]);export{X as default};
+import{l as S,ab as q,F as z}from"./vendor-fortawesome-855c7d62.js";import{C as P}from"./index-5b5e1b75.js";import{_ as Z,u as a,l,m as b,G as r,E as t,A as m,x as p,z as i,D as h,N as I,B as s,q as k}from"./vendor-cc4615be.js";import"./vendor-bootstrap-09a7ccd9.js";import"./vendor-jquery-13cad4c1.js";import"./vendor-axios-3dcaeec5.js";import"./vendor-sortablejs-7c09d6dd.js";S.add(q);const K={name:"OpenwbCloudConfigView",components:{FontAwesomeIcon:z},mixins:[P],emits:["sendCommand","save","reset","defaults"],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 n=this.getWildcardTopics("openWB/system/mqtt/bridge/+");for(const[e,B]of Object.entries(n))B.remote.is_openwb_cloud||delete n[e];return n}},cloudBridgeKey:{get(){for(const[n,e]of Object.entries(this.cloudBridge))if(e.remote.is_openwb_cloud)return n}},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(n){return parseInt(n.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(n){n.stopPropagation(),this.showCloudRemoveModal=!0},removeCloud(n){this.showCloudRemoveModal=!1,n=="confirm"&&(this.updateState("openWB/system/mqtt/valid_partner_ids",[]),this.$emit("sendCommand",{command:"removeMqttBridge",data:{bridge:this.getMqttBridgeIndex(this.cloudBridgeKey)}}),this.enableCloudConnectButton=!0)}}},M={class:"cloud-config"},x={key:1},R={key:1,name:"cloudConfigCreateForm"},N={key:2,name:"cloudConfigConnectForm"},U={class:"row justify-content-center"},A={key:3,name:"cloudConfigured"},F={class:"row justify-content-center"};function j(n,e,B,G,u,d){const D=a("openwb-base-modal-dialog"),c=a("router-link"),g=a("openwb-base-alert"),w=a("openwb-base-card"),f=a("openwb-base-text-input"),_=a("openwb-base-button-group-input"),C=a("font-awesome-icon"),y=a("openwb-base-array-input"),v=a("openwb-base-click-button"),V=a("openwb-base-heading"),W=a("openwb-base-submit-buttons");return l(),b(I,null,[r(D,{show:u.showCloudRemoveModal,title:"Cloud Zugang löschen",subtype:"danger",buttons:[{text:"Löschen",event:"confirm",subtype:"danger"}],onModalResult:e[0]||(e[0]=o=>d.removeCloud(o))},{default:t(()=>e[13]||(e[13]=[s(" Willst Du den vorhandenen Cloud Zugang wirklich entfernen? Dieser Vorgang kann nicht rückgängig gemacht werden! ",-1)])),_:1,__:[13]},8,["show"]),m("div",M,[n.$store.state.mqtt["openWB/system/dataprotection_acknowledged"]!==!0?(l(),p(g,{key:0,subtype:"danger"},{default:t(()=>[e[15]||(e[15]=s(" Du musst der ",-1)),r(c,{to:"/System/LegalSettings"},{default:t(()=>e[14]||(e[14]=[s(" Datenschutzerklärung ",-1)])),_:1,__:[14]}),e[16]||(e[16]=s(" zustimmen, um die openWB Cloud nutzen zu können. ",-1))]),_:1,__:[15,16]})):(l(),b("div",x,[r(g,{subtype:"success"},{default:t(()=>[e[18]||(e[18]=s(" Du hast der ",-1)),r(c,{to:"/System/LegalSettings"},{default:t(()=>e[17]||(e[17]=[s(" Datenschutzerklärung ",-1)])),_:1,__:[17]}),e[19]||(e[19]=s(" zugestimmt und kannst die openWB Cloud nutzen. ",-1))]),_:1,__:[18,19]}),u.enableRemoveCloudButton?i("",!0):(l(),p(g,{key:0,subtype:"warning"},{default:t(()=>e[20]||(e[20]=[s(" Der Zugang wurde entfernt. Bitte starte die openWB neu, um die Änderungen anzuwenden! ",-1)])),_:1,__:[20]})),d.cloudBridgeKey?i("",!0):(l(),b("form",R,[r(w,{title:"Neuen Zugang erstellen"},{default:t(()=>[r(g,{subtype:"warning"},{default:t(()=>e[21]||(e[21]=[s(" Derzeit können keine neuen Zugänge für die openWB Cloud angelegt werden. Bitte nutze die in/an der openWB notierten Zugangsdaten im unteren Bereich dieser Seite. Wenn bei einer gekauften openWB keine Zugangsdaten vorhanden sind, schreibe bitte eine Mail unter Angabe der Bestell- und/oder Seriennummer an ",-1),m("a",{href:"mailto:support@openwb.de",subject:"Cloud Zugangsdaten"}," support@openwb.de ",-1),s(" . ",-1)])),_:1,__:[21]})]),_:1})])),d.cloudBridgeKey?i("",!0):(l(),b("form",N,[r(w,{title:"Vorhandenen Zugang einrichten"},h({default:t(()=>[r(f,{modelValue:u.connectCloudData.username,"onUpdate:modelValue":e[1]||(e[1]=o=>u.connectCloudData.username=o),title:"Benutzername",required:"",subtype:"user"},null,8,["modelValue"]),r(f,{modelValue:u.connectCloudData.password,"onUpdate:modelValue":e[2]||(e[2]=o=>u.connectCloudData.password=o),title:"Passwort",required:"",subtype:"password"},null,8,["modelValue"]),r(_,{modelValue:u.connectCloudData.partner,"onUpdate:modelValue":e[3]||(e[3]=o=>u.connectCloudData.partner=o),title:"Zugang für Partner",buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}]},{help:t(()=>e[22]||(e[22]=[s(" Wenn diese openWB über einen Partner erworben wurde, kann hier ein Support-Zugang für diesen freigegeben werden. ",-1)])),_:1},8,["modelValue"]),u.connectCloudData.partner?(l(),p(y,{key:0,title:"Gültige Partner-IDs","no-elements-message":"Keine Partner-ID zugeordnet.","model-value":n.$store.state.mqtt["openWB/system/mqtt/valid_partner_ids"],"onUpdate:modelValue":e[4]||(e[4]=o=>n.updateState("openWB/system/mqtt/valid_partner_ids",o))},{"input-prefix":t(()=>[r(C,{icon:["fas","user-gear"]})]),"element-prefix":t(()=>[r(C,{icon:["fas","user-gear"]})]),help:t(()=>e[23]||(e[23]=[s(" 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)])),_:1},8,["model-value"])):i("",!0)]),_:2},[n.$store.state.mqtt["openWB/system/dataprotection_acknowledged"]===!0?{name:"footer",fn:t(()=>[m("div",U,[r(v,{class:k(["col-4",u.enableCloudConnectButton?"btn-success":"btn-outline-success"]),disabled:!u.enableCloudConnectButton,onButtonClicked:d.connectCloud},{default:t(()=>e[24]||(e[24]=[s(" Mit Cloud verbinden ",-1)])),_:1,__:[24]},8,["class","disabled","onButtonClicked"])])]),key:"0"}:void 0]),1024)])),d.cloudBridgeKey?(l(),b("form",A,[!u.enableCloudConnectButton||!u.enableNewCloudButton?(l(),p(g,{key:0,subtype:"warning"},{default:t(()=>e[25]||(e[25]=[s(" Der Zugang wurde eingerichtet. Bitte starte die die openWB neu, um die Änderungen anzuwenden! ",-1)])),_:1,__:[25]})):i("",!0),r(w,{title:"Vorhandener Cloud Zugang"},{footer:t(()=>[m("div",F,[r(v,{class:k(["col-4",u.enableRemoveCloudButton?"btn-danger":"btn-outline-danger"]),disabled:!u.enableRemoveCloudButton,onButtonClicked:e[9]||(e[9]=o=>d.removeCloudModal(o))},{default:t(()=>e[29]||(e[29]=[s(" Zugang löschen ",-1)])),_:1,__:[29]},8,["class","disabled"])])]),default:t(()=>[r(V,null,{default:t(()=>e[26]||(e[26]=[m("span",null,[s(" Mit diesen Zugangsdaten kannst Du dich in der "),m("a",{href:"https://remote.openwb.de/",target:"_blank",rel:"noopener noreferrer"}," openWB Cloud "),s(" anmelden. ")],-1)])),_:1,__:[26]}),r(f,{modelValue:d.cloudSettings.username,"onUpdate:modelValue":e[5]||(e[5]=o=>d.cloudSettings.username=o),title:"Benutzername",required:"",subtype:"user",disabled:""},null,8,["modelValue"]),r(f,{modelValue:d.cloudSettings.password,"onUpdate:modelValue":e[6]||(e[6]=o=>d.cloudSettings.password=o),title:"Passwort",required:"",subtype:"password",disabled:""},null,8,["modelValue"]),e[30]||(e[30]=m("hr",null,null,-1)),r(_,{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[7]||(e[7]=o=>n.updateState(d.cloudBridgeKey,o,"access.partner"))},{help:t(()=>e[27]||(e[27]=[s(" Wenn diese openWB über einen Partner erworben wurde, kann hier ein Support-Zugang für diesen freigegeben werden. ",-1)])),_:1},8,["model-value"]),d.cloudSettings.partner?(l(),p(y,{key:0,title:"Gültige Partner-IDs","no-elements-message":"Keine Partner-ID zugeordnet.","model-value":n.$store.state.mqtt["openWB/system/mqtt/valid_partner_ids"],"onUpdate:modelValue":e[8]||(e[8]=o=>n.updateState("openWB/system/mqtt/valid_partner_ids",o))},{"input-prefix":t(()=>[r(C,{icon:["fas","user-gear"]})]),"element-prefix":t(()=>[r(C,{icon:["fas","user-gear"]})]),help:t(()=>e[28]||(e[28]=[s(" 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)])),_:1},8,["model-value"])):i("",!0)]),_:1,__:[30]})])):i("",!0),d.cloudBridgeKey?(l(),p(W,{key:4,"form-name":"cloudConfigured",onSave:e[10]||(e[10]=o=>n.$emit("save")),onReset:e[11]||(e[11]=o=>n.$emit("reset")),onDefaults:e[12]||(e[12]=o=>n.$emit("defaults"))})):i("",!0)]))])],64)}const X=Z(K,[["render",j],["__file","/opt/openWB-dev/openwb-ui-settings/src/views/CloudConfig.vue"]]);export{X as default};
diff --git a/web/settings/assets/DataManagement-b2cf930f.js b/web/settings/assets/DataManagement-d8247a90.js
similarity index 97%
rename from web/settings/assets/DataManagement-b2cf930f.js
rename to web/settings/assets/DataManagement-d8247a90.js
index 12e266535e..009085212b 100644
--- a/web/settings/assets/DataManagement-b2cf930f.js
+++ b/web/settings/assets/DataManagement-d8247a90.js
@@ -1 +1 @@
-import{l as F,a6 as V,a7 as E,F as A,as as q,at as H,au as N,av as $,aw as I}from"./vendor-fortawesome-855c7d62.js";import{_ as B,C as G}from"./index-d6a3d34f.js";import{_ as j}from"./dynamic-import-helper-be004503.js";import{_ as C,u as d,l as u,m as f,x as y,E as i,B as o,F as b,G as t,A as s,a2 as z,a3 as P,N as W,z as w,q as M,M as T,D as J}from"./vendor-cc4615be.js";const K={props:{backupCloud:{type:Object,required:!0}},emits:["update:configuration","sendCommand"],methods:{updateConfiguration(n,e=void 0){this.$emit("update:configuration",{value:n,object:e})},sendSystemCommand(n,e={}){this.$emit("sendCommand",{command:n,data:e})}}},Z=C(K,[["__file","/opt/openWB-dev/openwb-ui-settings/src/components/backup_clouds/BackupCloudConfigMixin.vue"]]),Q={name:"BackupCloudConfigFallback",mixins:[Z]},X={class:"backup-cloud-fallback"},Y={key:1};function ee(n,e,r,_,l,a){const p=d("openwb-base-alert"),c=d("openwb-base-textarea");return u(),f("div",X,[Object.keys(n.backupCloud.configuration).length==0?(u(),y(p,{key:0,subtype:"info"},{default:i(()=>[o(' Die Backup-Cloud "'+b(n.backupCloud.name)+'" bietet keine Einstellungen. ',1)]),_:1})):(u(),f("div",Y,[t(p,{subtype:"warning"},{default:i(()=>[o(' Es wurde keine Konfigurationsseite für die Backup-Cloud "'+b(n.backupCloud.name)+'" gefunden. Die Einstellungen können als JSON direkt bearbeitet werden. ',1)]),_:1}),t(c,{title:"Konfiguration",subtype:"json","model-value":n.backupCloud.configuration,"onUpdate:modelValue":e[0]||(e[0]=k=>n.updateConfiguration(k,"configuration"))},{help:i(()=>e[1]||(e[1]=[o(" Bitte prüfen Sie, ob die Eingaben richtig interpretiert werden. ",-1)])),_:1},8,["model-value"]),t(p,{subtype:"info"},{default:i(()=>[s("pre",null,b(JSON.stringify(n.backupCloud.configuration,void 0,2)),1)]),_:1})]))])}const ne=C(Q,[["render",ee],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/backup_clouds/OpenwbBackupCloudConfigFallback.vue"]]);F.add(V,E);const te={name:"OpenwbBackupCloudProxy",components:{FontAwesomeIcon:A},props:{backupCloud:{type:Object,required:!0}},emits:["update:configuration","sendCommand"],methods:{getBackupCloudComponent(){return console.debug(`loading backup cloud: ${this.backupCloud.type}`),z({loader:()=>j(Object.assign({"./nextcloud/backup_cloud.vue":()=>B(()=>import("./backup_cloud-01c6f743.js"),["assets/backup_cloud-01c6f743.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./nfs/backup_cloud.vue":()=>B(()=>import("./backup_cloud-487d767e.js"),["assets/backup_cloud-487d767e.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./onedrive/backup_cloud.vue":()=>B(()=>import("./backup_cloud-c2dd7ed2.js"),["assets/backup_cloud-c2dd7ed2.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./samba/backup_cloud.vue":()=>B(()=>import("./backup_cloud-36786dea.js"),["assets/backup_cloud-36786dea.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"])}),`./${this.backupCloud.type}/backup_cloud.vue`),errorComponent:ne})},updateConfiguration(n){this.$emit("update:configuration",n)},sendCommand(n){this.$emit("sendCommand",n)}}};function oe(n,e,r,_,l,a){const p=d("font-awesome-icon"),c=d("openwb-base-alert"),k=d("openwb-base-heading");return u(),f(W,null,[r.backupCloud.official?(u(),y(c,{key:0,subtype:"success"},{default:i(()=>[t(p,{icon:["fas","certificate"]}),o(' Das ausgewählte Backup-Cloud Modul "'+b(r.backupCloud.name)+'" wird von openWB gepflegt. ',1)]),_:1})):(u(),y(c,{key:1,subtype:"info"},{default:i(()=>[t(p,{icon:["fas","people-group"]}),o(' Das ausgewählte Backup-Cloud Modul "'+b(r.backupCloud.name)+'" wird in unserer Community gepflegt. Rückfragen oder Probleme bitte im Forum diskutieren. ',1)]),_:1})),t(k,null,{default:i(()=>[o(' Einstellungen für Backup-Cloud Modul "'+b(r.backupCloud.name)+'" ',1)]),_:1}),(u(),y(P(a.getBackupCloudComponent()),{"backup-cloud":r.backupCloud,"onUpdate:configuration":e[0]||(e[0]=h=>a.updateConfiguration(h)),onSendCommand:e[1]||(e[1]=h=>a.sendCommand(h))},null,40,["backup-cloud"]))],64)}const ie=C(te,[["render",oe],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/backup_clouds/OpenwbBackupCloudProxy.vue"]]),se={props:{monitoring:{type:Object,required:!0}},emits:["update:configuration"],methods:{updateConfiguration(n,e=void 0){this.$emit("update:configuration",{value:n,object:e})}}},ae=C(se,[["__file","/opt/openWB-dev/openwb-ui-settings/src/components/monitoring/MonitoringConfigMixin.vue"]]),re={name:"MonitoringConfigFallback",mixins:[ae]},le={class:"monitoring-fallback"},ue={key:1};function de(n,e,r,_,l,a){const p=d("openwb-base-alert"),c=d("openwb-base-textarea");return u(),f("div",le,[Object.keys(n.monitoring.configuration).length==0?(u(),y(p,{key:0,subtype:"info"},{default:i(()=>[o(' Der Anbieter "'+b(n.monitoring.name)+'" bietet keine Einstellungen. ',1)]),_:1})):(u(),f("div",ue,[t(p,{subtype:"warning"},{default:i(()=>[o(' Es wurde keine Konfigurationsseite für den Anbieter "'+b(n.monitoring.name)+'" gefunden. Die Einstellungen können als JSON direkt bearbeitet werden. ',1)]),_:1}),t(c,{title:"Konfiguration",subtype:"json","model-value":n.monitoring.configuration,"onUpdate:modelValue":e[0]||(e[0]=k=>n.updateConfiguration(k,"configuration"))},{help:i(()=>e[1]||(e[1]=[o(" Bitte prüfen Sie, ob die Eingaben richtig interpretiert werden. ",-1)])),_:1},8,["model-value"]),t(p,{subtype:"info"},{default:i(()=>[s("pre",null,b(JSON.stringify(n.monitoring.configuration,void 0,2)),1)]),_:1})]))])}const pe=C(re,[["render",de],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/monitoring/OpenwbMonitoringConfigFallback.vue"]]);F.add(V,E);const ce={name:"OpenwbMonitoringProxy",components:{FontAwesomeIcon:A},props:{monitoring:{type:Object,required:!0}},emits:["update:configuration"],methods:{getMonitoringComponent(){return console.debug(`loading monitoring: ${this.monitoring.type}`),z({loader:()=>j(Object.assign({"./zabbix/monitoring.vue":()=>B(()=>import("./monitoring-bdc7795d.js"),["assets/monitoring-bdc7795d.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"])}),`./${this.monitoring.type}/monitoring.vue`),errorComponent:pe})},updateConfiguration(n){this.$emit("update:configuration",n)}}};function me(n,e,r,_,l,a){const p=d("font-awesome-icon"),c=d("openwb-base-alert"),k=d("openwb-base-heading");return u(),f(W,null,[r.monitoring.official?(u(),y(c,{key:0,subtype:"success"},{default:i(()=>[t(p,{icon:["fas","certificate"]}),o(' Das ausgewählte Monitoring Modul "'+b(r.monitoring.name)+'" wird von openWB gepflegt. ',1)]),_:1})):(u(),y(c,{key:1,subtype:"info"},{default:i(()=>[t(p,{icon:["fas","people-group"]}),o(' Das ausgewählte Monitoring Modul "'+b(r.monitoring.name)+'" wird in unserer Community gepflegt. Rückfragen oder Probleme bitte im Forum diskutieren. ',1)]),_:1})),t(k,null,{default:i(()=>[o(' Einstellungen für Modul "'+b(r.monitoring.name)+'" ',1)]),_:1}),(u(),y(P(a.getMonitoringComponent()),{monitoring:r.monitoring,"onUpdate:configuration":e[0]||(e[0]=h=>a.updateConfiguration(h))},null,40,["monitoring"]))],64)}const ge=C(ce,[["render",me],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/monitoring/OpenwbMonitoringProxy.vue"]]);F.add(q,H,N,$,I);const fe={name:"OpenwbDataManagementView",components:{FontAwesomeIcon:A,OpenwbBackupCloudProxy:ie,OpenwbMonitoringProxy:ge},mixins:[G],props:{installAssistantActive:{type:Boolean,required:!1,default:!1},showBackupCloudSection:{type:Boolean,required:!1,default:!0}},emits:["sendCommand","save","reset","defaults"],data(){return{mqttTopicsToSubscribe:["openWB/general/extern","openWB/system/configurable/backup_clouds","openWB/system/configurable/monitoring","openWB/system/backup_cloud/config","openWB/system/backup_cloud/backup_before_update","openWB/system/device/+/component/+/config","openWB/chargepoint/+/config","openWB/optional/monitoring/config","openWB/vehicle/+/name","openWB/LegacySmartHome/config/get/Devices/+/device_configured","openWB/LegacySmartHome/config/get/Devices/+/device_name"],warningAcknowledged:!1,showRestoreSection:!this.installAssistantActive,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"]}]}],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,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 n=this.getWildcardTopics("openWB/chargepoint/+/config");var e=[];for(const r of Object.values(n))e.push({value:r.id,text:r.name});return e},counterOptions(){var n=[];for(const e of Object.values(this.componentConfigurations))this.isComponentType(e.type,"counter")&&n.push({value:e.id,text:e.name});return n},inverterOptions(){var n=[];for(const e of Object.values(this.componentConfigurations))this.isComponentType(e.type,"inverter")&&n.push({value:e.id,text:e.name});return n},monitoringList(){return this.$store.state.mqtt["openWB/system/configurable/monitoring"]},batteryOptions(){var n=[];for(const e of Object.values(this.componentConfigurations))this.isComponentType(e.type,"bat")&&n.push({value:e.id,text:e.name});return n},vehicleOptions(){let n=this.getWildcardTopics("openWB/vehicle/+/name");var e=[];for(const[r,_]of Object.entries(n)){let l=parseInt(r.match(/\/(\d\d?)\//)[1]);e.push({value:l,text:_})}return e},smartHomeOptions(){let n=this.getWildcardTopics("openWB/LegacySmartHome/config/get/Devices/+/device_configured");var e=[];for(const[r,_]of Object.entries(n))if(_==1){let l=parseInt(r.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(n,e){return n.split("_").includes(e)},getBackupCloudDefaultConfiguration(n){const e=this.backupCloudList.find(r=>r.value==n);return Object.prototype.hasOwnProperty.call(e,"defaults")?{...JSON.parse(JSON.stringify(e.defaults))}:(console.warn("no default configuration found for backup cloud type!",n),{})},sendSystemCommand(n,e={}){this.$emit("sendCommand",{command:n,data:e})},getMigrationOptions(n){var e=[{value:void 0,text:"-- nicht übernehmen --"}];return n.includes("chargePoint")&&e.push(...this.chargePointOptions),n.includes("counter")&&e.push(...this.counterOptions),n.includes("inverter")&&e.push(...this.inverterOptions),n.includes("battery")&&e.push(...this.batteryOptions),n.includes("vehicle")&&e.push(...this.vehicleOptions),n.includes("smartHome")&&e.push(...this.smartHomeOptions),e},updateConfiguration(n,e){console.debug("updateConfiguration",n,e),this.updateState(n,e.value,e.object)},updateSelectedBackupCloud(n){this.updateState("openWB/system/backup_cloud/config",n,"type"),this.updateState("openWB/system/backup_cloud/config",this.getBackupCloudDefaultConfiguration(n))},updateSelectedRestoreFile(n){this.selectedRestoreFile=n.target.files[0]},updateSelectedDataMigrationFile(n){this.selectedDataMigrationFile=n.target.files[0]},uploadFile(n,e,r){return new Promise(_=>{if(e!==void 0){this.$root.postClientMessage("Hochladen der Datei gestartet.","info");let l=new FormData;l.append("file",e),l.append("target",n),this.axios.post(location.protocol+"//"+location.host+"/openWB/web/settings/uploadFile.php",l,{headers:{"Content-Type":"multipart/form-data"}}).then(()=>{this.$root.postClientMessage(r,"success"),_(!0)}).catch(a=>{if(a.response){console.error(a.response.status,a.response.data);var p="Hochladen der Datei fehlgeschlagen!
"+a.response.status+": "+a.response.data}else a.request?(console.error(a.request),p+="Es wurde keine Antwort vom Server empfangen."):(console.error("Error",a.message),p+="Es ist ein unbekannter Fehler aufgetreten.");this.$root.postClientMessage(p,"danger"),_(!1)})}else console.error("no file selected for upload"),_(!1)})},getMonitoringDefaultConfiguration(n){const e=this.monitoringList.find(r=>r.value==n);return Object.prototype.hasOwnProperty.call(e,"defaults")?{...e.defaults}:(console.warn("no default configuration found for monitoring type!",n),{})},updateSelectedMonitoring(n){this.updateState("openWB/optional/monitoring/config",n,"type"),this.updateState("openWB/optional/monitoring/config",this.getMonitoringDefaultConfiguration(n))},async uploadRestoreFile(){const n="Die Sicherungsdatei wurde erfolgreich hochgeladen. Sie können die Wiederherstellung jetzt starten.";this.restoreUploadDone=await this.uploadFile("restore",this.selectedRestoreFile,n)},async uploadDataMigrationFile(){const n="Die Sicherungsdatei wurde erfolgreich hochgeladen. Sie können den Import jetzt starten.";this.dataMigrationUploadDone=await this.uploadFile("migrate",this.selectedDataMigrationFile,n)},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})}}},be={class:"system"},he={key:1},ke={name:"backupForm"},_e={class:"row justify-content-center"},ye={class:"col-md-4 d-flex py-1 justify-content-center"},ve={key:0,name:"restoreForm"},we={class:"input-group"},Ce={class:"input-group-prepend"},Be={class:"input-group-text"},De={class:"custom-file"},Se={id:"input-file-label",class:"custom-file-label",for:"input-file","data-browse":"Suchen"},Me={class:"input-group-append"},We=["disabled"],Oe={class:"row justify-content-center"},Fe={class:"col-md-4 d-flex py-1 justify-content-center"},Ae={key:1,name:"cloudBackupForm"},Le={key:0},Te={name:"dataMigrationForm"},Ve={class:"input-group"},Ee={class:"input-group-prepend"},je={class:"input-group-text"},ze={class:"custom-file"},Pe={id:"data-migration-file-label",class:"custom-file-label",for:"data-migration-file","data-browse":"Suchen"},Re={class:"input-group-append"},xe=["disabled"],Ue={class:"row justify-content-center"},qe={class:"col-md-4 d-flex py-1 justify-content-center"},He={key:1,name:"resetForm"},Ne={class:"row justify-content-center"},$e={class:"col-md-4 d-flex py-1 justify-content-center"},Ie={key:2,name:"monitoringConfigured"},Ge={key:0},Je={key:1},Ke={key:0};function Ze(n,e,r,_,l,a){const p=d("openwb-base-button-group-input"),c=d("openwb-base-alert"),k=d("openwb-base-heading"),h=d("font-awesome-icon"),D=d("openwb-base-click-button"),O=d("openwb-base-select-input"),R=d("openwb-base-button-input"),x=d("openwb-backup-cloud-proxy"),L=d("openwb-base-submit-buttons"),S=d("openwb-base-card"),U=d("openwb-monitoring-proxy");return u(),f("div",be,[r.installAssistantActive?w("",!0):(u(),y(c,{key:0,subtype:"danger"},{default:i(()=>[e[21]||(e[21]=s("h2",null,"Achtung!",-1)),e[22]||(e[22]=s("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)),t(p,{modelValue:l.warningAcknowledged,"onUpdate:modelValue":e[0]||(e[0]=m=>l.warningAcknowledged=m),title:"Ich habe die Warnung verstanden",buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}]},null,8,["modelValue"])]),_:1,__:[21,22]})),l.warningAcknowledged||r.installAssistantActive?(u(),f("div",he,[t(S,{title:"Sicherung / Wiederherstellung",subtype:"success",collapsible:!0,collapsed:!r.installAssistantActive},{default:i(()=>{var m,v;return[s("form",ke,[t(k,null,{default:i(()=>e[23]||(e[23]=[o("Sicherung",-1)])),_:1,__:[23]}),t(c,{subtype:"danger"},{default:i(()=>e[24]||(e[24]=[o(' Aktuell können nur Sicherungen wiederhergestellt werden, die in den Entwicklungszweigen "master", "Beta" oder "Release" erstellt wurden! ',-1)])),_:1,__:[24]}),t(c,{subtype:"info"},{default:i(()=>e[25]||(e[25]=[o(" Nachdem die Sicherung abgeschlossen ist, kann die erstellte Datei über den Link in der Benachrichtigung oder ",-1),s("a",{href:"/openWB/data/backup/",target:"_blank"},"hier",-1),o(" heruntergeladen werden. Beim Herunterladen bitte darauf achten, dass die Datei mit der Endung .tar.gz gespeichert wird. Ggf. das automatische Entpacken des Browsers deaktivieren. ",-1)])),_:1,__:[25]}),s("div",_e,[s("div",ye,[t(D,{class:"btn-success clickable",onButtonClicked:e[1]||(e[1]=g=>a.sendSystemCommand("createBackup",{use_extended_filename:!0}))},{default:i(()=>[e[26]||(e[26]=o(" Sicherung erstellen ",-1)),t(h,{icon:["fas","archive"]})]),_:1,__:[26]})])])]),l.showRestoreSection?(u(),f("form",ve,[e[31]||(e[31]=s("hr",null,null,-1)),t(k,null,{default:i(()=>e[27]||(e[27]=[o("Wiederherstellung",-1)])),_:1,__:[27]}),t(c,{subtype:"danger"},{default:i(()=>e[28]||(e[28]=[o(" Für die Wiederherstellung wird eine aktive Internetverbindung benötigt.",-1),s("br",null,null,-1),o(' Es können nur Sicherungen wiederhergestellt werden, die in den Entwicklungszweigen "master", "Beta" oder "Release" erstellt wurden! ',-1)])),_:1,__:[28]}),s("div",we,[s("div",Ce,[s("div",Be,[t(h,{icon:["fas","file-archive"]})])]),s("div",De,[s("input",{id:"input-file",type:"file",class:"custom-file-input",accept:".tar.gz,application/gzip,application/tar+gzip",onChange:e[2]||(e[2]=g=>a.updateSelectedRestoreFile(g))},null,32),s("label",Se,b(l.selectedRestoreFile?l.selectedRestoreFile.name:"Bitte eine Datei auswählen"),1)]),s("div",Me,[s("button",{class:M(["btn",l.selectedRestoreFile?"btn-success clickable":"btn-outline-success"]),disabled:!l.selectedRestoreFile,type:"button",onClick:e[3]||(e[3]=g=>a.uploadRestoreFile())},[e[29]||(e[29]=o(" Hochladen ",-1)),t(h,{icon:["fas","upload"]})],10,We)])]),s("div",Oe,[s("div",Fe,[t(D,{class:M(l.restoreUploadDone?"btn-success clickable":"btn-outline-success"),disabled:!l.restoreUploadDone,onButtonClicked:e[4]||(e[4]=g=>a.restoreBackup())},{default:i(()=>[e[30]||(e[30]=o(" Wiederherstellung starten ",-1)),t(h,{icon:["fas","box-open"]})]),_:1,__:[30]},8,["class","disabled"])])])])):w("",!0),r.showBackupCloudSection?(u(),f("form",Ae,[e[35]||(e[35]=s("hr",null,null,-1)),t(k,null,{default:i(()=>e[32]||(e[32]=[o(" Automatische Sicherung in einen Cloud-Dienst ",-1)])),_:1,__:[32]}),t(c,{subtype:"info"},{default:i(()=>e[33]||(e[33]=[o(" Ist die openWB als primary konfiguriert, wird zwischen Mitternacht und 5:00 Uhr 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.",-1),s("br",null,null,-1),o(" Die manuelle Cloud-Sicherung und -falls aktiviert- die Sicherung vor einem Update werden sowohl von einer primary als auch von einer secondary durchgeführt.",-1),s("br",null,null,-1),o(" Die Anleitung zur Konfiguration des Cloud-Dienstes findest Du ",-1),s("a",{href:"https://github.com/openWB/core/wiki/Cloud-Sicherung",target:"_blank",rel:"noopener noreferrer"}," hier ",-1),o(" . ",-1)])),_:1,__:[33]}),t(O,{class:"mb-2",title:"Backup-Cloud",options:a.backupCloudList,"model-value":(m=n.$store.state.mqtt["openWB/system/backup_cloud/config"])==null?void 0:m.type,"onUpdate:modelValue":e[5]||(e[5]=g=>a.updateSelectedBackupCloud(g))},null,8,["options","model-value"]),(v=n.$store.state.mqtt["openWB/system/backup_cloud/config"])!=null&&v.type?(u(),f("div",Le,[t(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":n.$store.state.mqtt["openWB/system/backup_cloud/backup_before_update"],"onUpdate:modelValue":e[6]||(e[6]=g=>n.updateState("openWB/system/backup_cloud/backup_before_update",g))},{help:i(()=>e[34]||(e[34]=[o(" Ist diese Option aktiviert, dann wird vor jedem System-Update automatisch eine Sicherung erstellt und diese in die Backup-Cloud hochgeladen. ",-1)])),_:1},8,["model-value"]),t(R,{title:"Manuelle Cloud-Sicherung","button-text":"Sicherung erstellen und hochladen",subtype:"success",onButtonClicked:e[7]||(e[7]=g=>a.sendSystemCommand("createCloudBackup",{}))}),t(x,{"backup-cloud":n.$store.state.mqtt["openWB/system/backup_cloud/config"],"onUpdate:configuration":e[8]||(e[8]=g=>a.updateConfiguration("openWB/system/backup_cloud/config",g)),onSendCommand:e[9]||(e[9]=g=>a.sendSystemCommand(g.command,g.args))},null,8,["backup-cloud"])])):w("",!0),t(L,{"form-name":"cloudBackupForm","hide-reset":!0,"hide-defaults":!0,onSave:e[10]||(e[10]=g=>n.$emit("save")),onReset:e[11]||(e[11]=g=>n.$emit("reset")),onDefaults:e[12]||(e[12]=g=>n.$emit("defaults"))})])):w("",!0)]}),_:1},8,["collapsed"]),!r.installAssistantActive&&!n.$store.state.mqtt["openWB/general/extern"]?(u(),y(S,{key:0,title:"Datenübernahme",subtype:"success",collapsible:!0,collapsed:!0},{default:i(()=>[s("form",Te,[t(c,{subtype:"info"},{default:i(()=>e[36]||(e[36]=[o(" Hier kann die Sicherung aus den älteren Software Versionen 1.9.303 oder 1.9.304 hochgeladen werden, um vorhandene historische Daten (Diagramme und Ladeprotokolle) sowie Cloud-Daten und Seriennummer in diese Installation zu importieren.",-1),s("br",null,null,-1),o(" Ein Import aus Versionen kleiner als 1.9.303 ist nicht möglich. Falls eine Datenübernahme aus 1.9er Versionen gewünscht ist, muss erst ein Upgrade auf 1.9.303 oder 1.9.304 durchgeführt werden! Die Zuordnung zwischen den alten und neuen Komponenten muss manuell durchgeführt werden. ",-1)])),_:1,__:[36]}),t(c,{subtype:"danger"},{default:i(()=>e[37]||(e[37]=[o(" 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.",-1),s("br",null,null,-1),o(" Vor der Datenübernahme unbedingt eine Sicherung erstellen.",-1),s("br",null,null,-1),o(" Die Datenübernahme kann nur durch Einspielen einer Sicherung rückgängig gemacht werden! ",-1)])),_:1,__:[37]}),s("div",Ve,[s("div",Ee,[s("div",je,[t(h,{icon:["fas","file-archive"]})])]),s("div",ze,[s("input",{id:"data-migration-file",type:"file",class:"custom-file-input",accept:".tar.gz,application/gzip,application/tar+gzip",onChange:e[13]||(e[13]=m=>a.updateSelectedDataMigrationFile(m))},null,32),s("label",Pe,b(l.selectedDataMigrationFile?l.selectedDataMigrationFile.name:"Bitte eine Datei auswählen"),1)]),s("div",Re,[s("button",{class:M(["btn",l.selectedDataMigrationFile?"btn-success clickable":"btn-outline-success"]),disabled:!l.selectedDataMigrationFile,type:"button",onClick:e[14]||(e[14]=m=>a.uploadDataMigrationFile())},[e[38]||(e[38]=o(" Hochladen ",-1)),t(h,{icon:["fas","upload"]})],10,xe)])]),t(k,null,{default:i(()=>e[39]||(e[39]=[o(" Zuordnung der Komponenten ",-1)])),_:1,__:[39]}),(u(!0),f(W,null,T(l.dataMigrationConfig,m=>(u(),f("div",{key:m.sectionName},[t(k,null,{default:i(()=>[o(b(m.sectionName),1)]),_:2},1024),(u(!0),f(W,null,T(m.sectionComponents,v=>(u(),y(O,{key:v.key,modelValue:l.dataMigrationMapping[v.key],"onUpdate:modelValue":g=>l.dataMigrationMapping[v.key]=g,title:v.label,options:a.getMigrationOptions(v.validTypes)},J({_:2},[v.help?{name:"help",fn:i(()=>[o(b(v.help),1)]),key:"0"}:void 0]),1032,["modelValue","onUpdate:modelValue","title","options"]))),128))]))),128)),s("div",Ue,[s("div",qe,[t(D,{class:M(l.dataMigrationUploadDone?"btn-success clickable":"btn-outline-success"),disabled:!l.dataMigrationUploadDone,onButtonClicked:e[15]||(e[15]=m=>a.dataMigration())},{default:i(()=>[e[40]||(e[40]=o(" Datenübernahme starten ",-1)),t(h,{icon:["fas","box-open"]})]),_:1,__:[40]},8,["class","disabled"])])])])]),_:1})):w("",!0),r.installAssistantActive?w("",!0):(u(),f("form",He,[t(S,{title:"Zurücksetzen",subtype:"danger",collapsible:!0,collapsed:!0},{footer:i(()=>[s("div",Ne,[s("div",$e,[t(D,{class:"btn-danger clickable",onButtonClicked:e[16]||(e[16]=m=>a.factoryReset())},{default:i(()=>[t(h,{icon:["fas","skull-crossbones"]}),e[42]||(e[42]=o(" Zurücksetzen ",-1)),t(h,{icon:["fas","skull-crossbones"]})]),_:1,__:[42]})])])]),default:i(()=>[t(c,{subtype:"danger"},{default:i(()=>e[41]||(e[41]=[o(" 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,__:[41]})]),_:1})])),r.installAssistantActive?w("",!0):(u(),f("form",Ie,[t(S,{title:"Monitoring",subtype:"success",collapsible:!0,collapsed:!0},{footer:i(()=>[t(L,{"form-name":n.monitoringConfigured,"hide-defaults":!0,onSave:e[19]||(e[19]=m=>n.$emit("save")),onReset:e[20]||(e[20]=m=>n.$emit("reset"))},null,8,["form-name"])]),default:i(()=>[n.$store.state.mqtt["openWB/general/extern"]===!0?(u(),f("div",Ge,[t(c,{subtype:"info"},{default:i(()=>e[43]||(e[43]=[o(' Diese Einstellungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. ',-1)])),_:1,__:[43]})])):(u(),f("div",Je,[t(c,{subtype:"info"},{default:i(()=>e[44]||(e[44]=[o(" Das Monitoring informiert Dich sofort per E-Mail, wenn eine Deiner Komponenten oder Ladepunkte ein Problem hat oder die openWB nicht mehr erreichbar ist. ",-1)])),_:1,__:[44]}),t(O,{class:"mb-2",title:"Anbieter",options:a.monitoringList,"model-value":n.$store.state.mqtt["openWB/optional/monitoring/config"]?n.$store.state.mqtt["openWB/optional/monitoring/config"].type:"","onUpdate:modelValue":e[17]||(e[17]=m=>a.updateSelectedMonitoring(m))},null,8,["options","model-value"]),n.$store.state.mqtt["openWB/optional/monitoring/config"]&&n.$store.state.mqtt["openWB/optional/monitoring/config"].type?(u(),f("div",Ke,[t(U,{monitoring:n.$store.state.mqtt["openWB/optional/monitoring/config"],"onUpdate:configuration":e[18]||(e[18]=m=>a.updateConfiguration("openWB/optional/monitoring/config",m))},null,8,["monitoring"])])):w("",!0)]))]),_:1})]))])):w("",!0)])}const Qe=C(fe,[["render",Ze],["__file","/opt/openWB-dev/openwb-ui-settings/src/views/DataManagement.vue"]]),tn=Object.freeze(Object.defineProperty({__proto__:null,default:Qe},Symbol.toStringTag,{value:"Module"}));export{Z as B,Qe as D,ae as M,tn as a};
+import{l as F,a6 as V,a7 as E,F as A,as as q,at as H,au as N,av as $,aw as I}from"./vendor-fortawesome-855c7d62.js";import{_ as B,C as G}from"./index-5b5e1b75.js";import{_ as j}from"./dynamic-import-helper-be004503.js";import{_ as C,u as d,l as u,m as f,x as y,E as i,B as o,F as b,G as t,A as s,a2 as z,a3 as P,N as W,z as w,q as M,M as T,D as J}from"./vendor-cc4615be.js";const K={props:{backupCloud:{type:Object,required:!0}},emits:["update:configuration","sendCommand"],methods:{updateConfiguration(n,e=void 0){this.$emit("update:configuration",{value:n,object:e})},sendSystemCommand(n,e={}){this.$emit("sendCommand",{command:n,data:e})}}},Z=C(K,[["__file","/opt/openWB-dev/openwb-ui-settings/src/components/backup_clouds/BackupCloudConfigMixin.vue"]]),Q={name:"BackupCloudConfigFallback",mixins:[Z]},X={class:"backup-cloud-fallback"},Y={key:1};function ee(n,e,r,_,l,a){const p=d("openwb-base-alert"),c=d("openwb-base-textarea");return u(),f("div",X,[Object.keys(n.backupCloud.configuration).length==0?(u(),y(p,{key:0,subtype:"info"},{default:i(()=>[o(' Die Backup-Cloud "'+b(n.backupCloud.name)+'" bietet keine Einstellungen. ',1)]),_:1})):(u(),f("div",Y,[t(p,{subtype:"warning"},{default:i(()=>[o(' Es wurde keine Konfigurationsseite für die Backup-Cloud "'+b(n.backupCloud.name)+'" gefunden. Die Einstellungen können als JSON direkt bearbeitet werden. ',1)]),_:1}),t(c,{title:"Konfiguration",subtype:"json","model-value":n.backupCloud.configuration,"onUpdate:modelValue":e[0]||(e[0]=k=>n.updateConfiguration(k,"configuration"))},{help:i(()=>e[1]||(e[1]=[o(" Bitte prüfen Sie, ob die Eingaben richtig interpretiert werden. ",-1)])),_:1},8,["model-value"]),t(p,{subtype:"info"},{default:i(()=>[s("pre",null,b(JSON.stringify(n.backupCloud.configuration,void 0,2)),1)]),_:1})]))])}const ne=C(Q,[["render",ee],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/backup_clouds/OpenwbBackupCloudConfigFallback.vue"]]);F.add(V,E);const te={name:"OpenwbBackupCloudProxy",components:{FontAwesomeIcon:A},props:{backupCloud:{type:Object,required:!0}},emits:["update:configuration","sendCommand"],methods:{getBackupCloudComponent(){return console.debug(`loading backup cloud: ${this.backupCloud.type}`),z({loader:()=>j(Object.assign({"./nextcloud/backup_cloud.vue":()=>B(()=>import("./backup_cloud-f1402716.js"),["assets/backup_cloud-f1402716.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./nfs/backup_cloud.vue":()=>B(()=>import("./backup_cloud-63db317f.js"),["assets/backup_cloud-63db317f.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./onedrive/backup_cloud.vue":()=>B(()=>import("./backup_cloud-d519b0e4.js"),["assets/backup_cloud-d519b0e4.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./samba/backup_cloud.vue":()=>B(()=>import("./backup_cloud-7386c81c.js"),["assets/backup_cloud-7386c81c.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"])}),`./${this.backupCloud.type}/backup_cloud.vue`),errorComponent:ne})},updateConfiguration(n){this.$emit("update:configuration",n)},sendCommand(n){this.$emit("sendCommand",n)}}};function oe(n,e,r,_,l,a){const p=d("font-awesome-icon"),c=d("openwb-base-alert"),k=d("openwb-base-heading");return u(),f(W,null,[r.backupCloud.official?(u(),y(c,{key:0,subtype:"success"},{default:i(()=>[t(p,{icon:["fas","certificate"]}),o(' Das ausgewählte Backup-Cloud Modul "'+b(r.backupCloud.name)+'" wird von openWB gepflegt. ',1)]),_:1})):(u(),y(c,{key:1,subtype:"info"},{default:i(()=>[t(p,{icon:["fas","people-group"]}),o(' Das ausgewählte Backup-Cloud Modul "'+b(r.backupCloud.name)+'" wird in unserer Community gepflegt. Rückfragen oder Probleme bitte im Forum diskutieren. ',1)]),_:1})),t(k,null,{default:i(()=>[o(' Einstellungen für Backup-Cloud Modul "'+b(r.backupCloud.name)+'" ',1)]),_:1}),(u(),y(P(a.getBackupCloudComponent()),{"backup-cloud":r.backupCloud,"onUpdate:configuration":e[0]||(e[0]=h=>a.updateConfiguration(h)),onSendCommand:e[1]||(e[1]=h=>a.sendCommand(h))},null,40,["backup-cloud"]))],64)}const ie=C(te,[["render",oe],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/backup_clouds/OpenwbBackupCloudProxy.vue"]]),se={props:{monitoring:{type:Object,required:!0}},emits:["update:configuration"],methods:{updateConfiguration(n,e=void 0){this.$emit("update:configuration",{value:n,object:e})}}},ae=C(se,[["__file","/opt/openWB-dev/openwb-ui-settings/src/components/monitoring/MonitoringConfigMixin.vue"]]),re={name:"MonitoringConfigFallback",mixins:[ae]},le={class:"monitoring-fallback"},ue={key:1};function de(n,e,r,_,l,a){const p=d("openwb-base-alert"),c=d("openwb-base-textarea");return u(),f("div",le,[Object.keys(n.monitoring.configuration).length==0?(u(),y(p,{key:0,subtype:"info"},{default:i(()=>[o(' Der Anbieter "'+b(n.monitoring.name)+'" bietet keine Einstellungen. ',1)]),_:1})):(u(),f("div",ue,[t(p,{subtype:"warning"},{default:i(()=>[o(' Es wurde keine Konfigurationsseite für den Anbieter "'+b(n.monitoring.name)+'" gefunden. Die Einstellungen können als JSON direkt bearbeitet werden. ',1)]),_:1}),t(c,{title:"Konfiguration",subtype:"json","model-value":n.monitoring.configuration,"onUpdate:modelValue":e[0]||(e[0]=k=>n.updateConfiguration(k,"configuration"))},{help:i(()=>e[1]||(e[1]=[o(" Bitte prüfen Sie, ob die Eingaben richtig interpretiert werden. ",-1)])),_:1},8,["model-value"]),t(p,{subtype:"info"},{default:i(()=>[s("pre",null,b(JSON.stringify(n.monitoring.configuration,void 0,2)),1)]),_:1})]))])}const pe=C(re,[["render",de],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/monitoring/OpenwbMonitoringConfigFallback.vue"]]);F.add(V,E);const ce={name:"OpenwbMonitoringProxy",components:{FontAwesomeIcon:A},props:{monitoring:{type:Object,required:!0}},emits:["update:configuration"],methods:{getMonitoringComponent(){return console.debug(`loading monitoring: ${this.monitoring.type}`),z({loader:()=>j(Object.assign({"./zabbix/monitoring.vue":()=>B(()=>import("./monitoring-a467b16b.js"),["assets/monitoring-a467b16b.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"])}),`./${this.monitoring.type}/monitoring.vue`),errorComponent:pe})},updateConfiguration(n){this.$emit("update:configuration",n)}}};function me(n,e,r,_,l,a){const p=d("font-awesome-icon"),c=d("openwb-base-alert"),k=d("openwb-base-heading");return u(),f(W,null,[r.monitoring.official?(u(),y(c,{key:0,subtype:"success"},{default:i(()=>[t(p,{icon:["fas","certificate"]}),o(' Das ausgewählte Monitoring Modul "'+b(r.monitoring.name)+'" wird von openWB gepflegt. ',1)]),_:1})):(u(),y(c,{key:1,subtype:"info"},{default:i(()=>[t(p,{icon:["fas","people-group"]}),o(' Das ausgewählte Monitoring Modul "'+b(r.monitoring.name)+'" wird in unserer Community gepflegt. Rückfragen oder Probleme bitte im Forum diskutieren. ',1)]),_:1})),t(k,null,{default:i(()=>[o(' Einstellungen für Modul "'+b(r.monitoring.name)+'" ',1)]),_:1}),(u(),y(P(a.getMonitoringComponent()),{monitoring:r.monitoring,"onUpdate:configuration":e[0]||(e[0]=h=>a.updateConfiguration(h))},null,40,["monitoring"]))],64)}const ge=C(ce,[["render",me],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/monitoring/OpenwbMonitoringProxy.vue"]]);F.add(q,H,N,$,I);const fe={name:"OpenwbDataManagementView",components:{FontAwesomeIcon:A,OpenwbBackupCloudProxy:ie,OpenwbMonitoringProxy:ge},mixins:[G],props:{installAssistantActive:{type:Boolean,required:!1,default:!1},showBackupCloudSection:{type:Boolean,required:!1,default:!0}},emits:["sendCommand","save","reset","defaults"],data(){return{mqttTopicsToSubscribe:["openWB/general/extern","openWB/system/configurable/backup_clouds","openWB/system/configurable/monitoring","openWB/system/backup_cloud/config","openWB/system/backup_cloud/backup_before_update","openWB/system/device/+/component/+/config","openWB/chargepoint/+/config","openWB/optional/monitoring/config","openWB/vehicle/+/name","openWB/LegacySmartHome/config/get/Devices/+/device_configured","openWB/LegacySmartHome/config/get/Devices/+/device_name"],warningAcknowledged:!1,showRestoreSection:!this.installAssistantActive,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"]}]}],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,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 n=this.getWildcardTopics("openWB/chargepoint/+/config");var e=[];for(const r of Object.values(n))e.push({value:r.id,text:r.name});return e},counterOptions(){var n=[];for(const e of Object.values(this.componentConfigurations))this.isComponentType(e.type,"counter")&&n.push({value:e.id,text:e.name});return n},inverterOptions(){var n=[];for(const e of Object.values(this.componentConfigurations))this.isComponentType(e.type,"inverter")&&n.push({value:e.id,text:e.name});return n},monitoringList(){return this.$store.state.mqtt["openWB/system/configurable/monitoring"]},batteryOptions(){var n=[];for(const e of Object.values(this.componentConfigurations))this.isComponentType(e.type,"bat")&&n.push({value:e.id,text:e.name});return n},vehicleOptions(){let n=this.getWildcardTopics("openWB/vehicle/+/name");var e=[];for(const[r,_]of Object.entries(n)){let l=parseInt(r.match(/\/(\d\d?)\//)[1]);e.push({value:l,text:_})}return e},smartHomeOptions(){let n=this.getWildcardTopics("openWB/LegacySmartHome/config/get/Devices/+/device_configured");var e=[];for(const[r,_]of Object.entries(n))if(_==1){let l=parseInt(r.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(n,e){return n.split("_").includes(e)},getBackupCloudDefaultConfiguration(n){const e=this.backupCloudList.find(r=>r.value==n);return Object.prototype.hasOwnProperty.call(e,"defaults")?{...JSON.parse(JSON.stringify(e.defaults))}:(console.warn("no default configuration found for backup cloud type!",n),{})},sendSystemCommand(n,e={}){this.$emit("sendCommand",{command:n,data:e})},getMigrationOptions(n){var e=[{value:void 0,text:"-- nicht übernehmen --"}];return n.includes("chargePoint")&&e.push(...this.chargePointOptions),n.includes("counter")&&e.push(...this.counterOptions),n.includes("inverter")&&e.push(...this.inverterOptions),n.includes("battery")&&e.push(...this.batteryOptions),n.includes("vehicle")&&e.push(...this.vehicleOptions),n.includes("smartHome")&&e.push(...this.smartHomeOptions),e},updateConfiguration(n,e){console.debug("updateConfiguration",n,e),this.updateState(n,e.value,e.object)},updateSelectedBackupCloud(n){this.updateState("openWB/system/backup_cloud/config",n,"type"),this.updateState("openWB/system/backup_cloud/config",this.getBackupCloudDefaultConfiguration(n))},updateSelectedRestoreFile(n){this.selectedRestoreFile=n.target.files[0]},updateSelectedDataMigrationFile(n){this.selectedDataMigrationFile=n.target.files[0]},uploadFile(n,e,r){return new Promise(_=>{if(e!==void 0){this.$root.postClientMessage("Hochladen der Datei gestartet.","info");let l=new FormData;l.append("file",e),l.append("target",n),this.axios.post(location.protocol+"//"+location.host+"/openWB/web/settings/uploadFile.php",l,{headers:{"Content-Type":"multipart/form-data"}}).then(()=>{this.$root.postClientMessage(r,"success"),_(!0)}).catch(a=>{if(a.response){console.error(a.response.status,a.response.data);var p="Hochladen der Datei fehlgeschlagen!
"+a.response.status+": "+a.response.data}else a.request?(console.error(a.request),p+="Es wurde keine Antwort vom Server empfangen."):(console.error("Error",a.message),p+="Es ist ein unbekannter Fehler aufgetreten.");this.$root.postClientMessage(p,"danger"),_(!1)})}else console.error("no file selected for upload"),_(!1)})},getMonitoringDefaultConfiguration(n){const e=this.monitoringList.find(r=>r.value==n);return Object.prototype.hasOwnProperty.call(e,"defaults")?{...e.defaults}:(console.warn("no default configuration found for monitoring type!",n),{})},updateSelectedMonitoring(n){this.updateState("openWB/optional/monitoring/config",n,"type"),this.updateState("openWB/optional/monitoring/config",this.getMonitoringDefaultConfiguration(n))},async uploadRestoreFile(){const n="Die Sicherungsdatei wurde erfolgreich hochgeladen. Sie können die Wiederherstellung jetzt starten.";this.restoreUploadDone=await this.uploadFile("restore",this.selectedRestoreFile,n)},async uploadDataMigrationFile(){const n="Die Sicherungsdatei wurde erfolgreich hochgeladen. Sie können den Import jetzt starten.";this.dataMigrationUploadDone=await this.uploadFile("migrate",this.selectedDataMigrationFile,n)},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})}}},be={class:"system"},he={key:1},ke={name:"backupForm"},_e={class:"row justify-content-center"},ye={class:"col-md-4 d-flex py-1 justify-content-center"},ve={key:0,name:"restoreForm"},we={class:"input-group"},Ce={class:"input-group-prepend"},Be={class:"input-group-text"},De={class:"custom-file"},Se={id:"input-file-label",class:"custom-file-label",for:"input-file","data-browse":"Suchen"},Me={class:"input-group-append"},We=["disabled"],Oe={class:"row justify-content-center"},Fe={class:"col-md-4 d-flex py-1 justify-content-center"},Ae={key:1,name:"cloudBackupForm"},Le={key:0},Te={name:"dataMigrationForm"},Ve={class:"input-group"},Ee={class:"input-group-prepend"},je={class:"input-group-text"},ze={class:"custom-file"},Pe={id:"data-migration-file-label",class:"custom-file-label",for:"data-migration-file","data-browse":"Suchen"},Re={class:"input-group-append"},xe=["disabled"],Ue={class:"row justify-content-center"},qe={class:"col-md-4 d-flex py-1 justify-content-center"},He={key:1,name:"resetForm"},Ne={class:"row justify-content-center"},$e={class:"col-md-4 d-flex py-1 justify-content-center"},Ie={key:2,name:"monitoringConfigured"},Ge={key:0},Je={key:1},Ke={key:0};function Ze(n,e,r,_,l,a){const p=d("openwb-base-button-group-input"),c=d("openwb-base-alert"),k=d("openwb-base-heading"),h=d("font-awesome-icon"),D=d("openwb-base-click-button"),O=d("openwb-base-select-input"),R=d("openwb-base-button-input"),x=d("openwb-backup-cloud-proxy"),L=d("openwb-base-submit-buttons"),S=d("openwb-base-card"),U=d("openwb-monitoring-proxy");return u(),f("div",be,[r.installAssistantActive?w("",!0):(u(),y(c,{key:0,subtype:"danger"},{default:i(()=>[e[21]||(e[21]=s("h2",null,"Achtung!",-1)),e[22]||(e[22]=s("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)),t(p,{modelValue:l.warningAcknowledged,"onUpdate:modelValue":e[0]||(e[0]=m=>l.warningAcknowledged=m),title:"Ich habe die Warnung verstanden",buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}]},null,8,["modelValue"])]),_:1,__:[21,22]})),l.warningAcknowledged||r.installAssistantActive?(u(),f("div",he,[t(S,{title:"Sicherung / Wiederherstellung",subtype:"success",collapsible:!0,collapsed:!r.installAssistantActive},{default:i(()=>{var m,v;return[s("form",ke,[t(k,null,{default:i(()=>e[23]||(e[23]=[o("Sicherung",-1)])),_:1,__:[23]}),t(c,{subtype:"danger"},{default:i(()=>e[24]||(e[24]=[o(' Aktuell können nur Sicherungen wiederhergestellt werden, die in den Entwicklungszweigen "master", "Beta" oder "Release" erstellt wurden! ',-1)])),_:1,__:[24]}),t(c,{subtype:"info"},{default:i(()=>e[25]||(e[25]=[o(" Nachdem die Sicherung abgeschlossen ist, kann die erstellte Datei über den Link in der Benachrichtigung oder ",-1),s("a",{href:"/openWB/data/backup/",target:"_blank"},"hier",-1),o(" heruntergeladen werden. Beim Herunterladen bitte darauf achten, dass die Datei mit der Endung .tar.gz gespeichert wird. Ggf. das automatische Entpacken des Browsers deaktivieren. ",-1)])),_:1,__:[25]}),s("div",_e,[s("div",ye,[t(D,{class:"btn-success clickable",onButtonClicked:e[1]||(e[1]=g=>a.sendSystemCommand("createBackup",{use_extended_filename:!0}))},{default:i(()=>[e[26]||(e[26]=o(" Sicherung erstellen ",-1)),t(h,{icon:["fas","archive"]})]),_:1,__:[26]})])])]),l.showRestoreSection?(u(),f("form",ve,[e[31]||(e[31]=s("hr",null,null,-1)),t(k,null,{default:i(()=>e[27]||(e[27]=[o("Wiederherstellung",-1)])),_:1,__:[27]}),t(c,{subtype:"danger"},{default:i(()=>e[28]||(e[28]=[o(" Für die Wiederherstellung wird eine aktive Internetverbindung benötigt.",-1),s("br",null,null,-1),o(' Es können nur Sicherungen wiederhergestellt werden, die in den Entwicklungszweigen "master", "Beta" oder "Release" erstellt wurden! ',-1)])),_:1,__:[28]}),s("div",we,[s("div",Ce,[s("div",Be,[t(h,{icon:["fas","file-archive"]})])]),s("div",De,[s("input",{id:"input-file",type:"file",class:"custom-file-input",accept:".tar.gz,application/gzip,application/tar+gzip",onChange:e[2]||(e[2]=g=>a.updateSelectedRestoreFile(g))},null,32),s("label",Se,b(l.selectedRestoreFile?l.selectedRestoreFile.name:"Bitte eine Datei auswählen"),1)]),s("div",Me,[s("button",{class:M(["btn",l.selectedRestoreFile?"btn-success clickable":"btn-outline-success"]),disabled:!l.selectedRestoreFile,type:"button",onClick:e[3]||(e[3]=g=>a.uploadRestoreFile())},[e[29]||(e[29]=o(" Hochladen ",-1)),t(h,{icon:["fas","upload"]})],10,We)])]),s("div",Oe,[s("div",Fe,[t(D,{class:M(l.restoreUploadDone?"btn-success clickable":"btn-outline-success"),disabled:!l.restoreUploadDone,onButtonClicked:e[4]||(e[4]=g=>a.restoreBackup())},{default:i(()=>[e[30]||(e[30]=o(" Wiederherstellung starten ",-1)),t(h,{icon:["fas","box-open"]})]),_:1,__:[30]},8,["class","disabled"])])])])):w("",!0),r.showBackupCloudSection?(u(),f("form",Ae,[e[35]||(e[35]=s("hr",null,null,-1)),t(k,null,{default:i(()=>e[32]||(e[32]=[o(" Automatische Sicherung in einen Cloud-Dienst ",-1)])),_:1,__:[32]}),t(c,{subtype:"info"},{default:i(()=>e[33]||(e[33]=[o(" Ist die openWB als primary konfiguriert, wird zwischen Mitternacht und 5:00 Uhr 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.",-1),s("br",null,null,-1),o(" Die manuelle Cloud-Sicherung und -falls aktiviert- die Sicherung vor einem Update werden sowohl von einer primary als auch von einer secondary durchgeführt.",-1),s("br",null,null,-1),o(" Die Anleitung zur Konfiguration des Cloud-Dienstes findest Du ",-1),s("a",{href:"https://github.com/openWB/core/wiki/Cloud-Sicherung",target:"_blank",rel:"noopener noreferrer"}," hier ",-1),o(" . ",-1)])),_:1,__:[33]}),t(O,{class:"mb-2",title:"Backup-Cloud",options:a.backupCloudList,"model-value":(m=n.$store.state.mqtt["openWB/system/backup_cloud/config"])==null?void 0:m.type,"onUpdate:modelValue":e[5]||(e[5]=g=>a.updateSelectedBackupCloud(g))},null,8,["options","model-value"]),(v=n.$store.state.mqtt["openWB/system/backup_cloud/config"])!=null&&v.type?(u(),f("div",Le,[t(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":n.$store.state.mqtt["openWB/system/backup_cloud/backup_before_update"],"onUpdate:modelValue":e[6]||(e[6]=g=>n.updateState("openWB/system/backup_cloud/backup_before_update",g))},{help:i(()=>e[34]||(e[34]=[o(" Ist diese Option aktiviert, dann wird vor jedem System-Update automatisch eine Sicherung erstellt und diese in die Backup-Cloud hochgeladen. ",-1)])),_:1},8,["model-value"]),t(R,{title:"Manuelle Cloud-Sicherung","button-text":"Sicherung erstellen und hochladen",subtype:"success",onButtonClicked:e[7]||(e[7]=g=>a.sendSystemCommand("createCloudBackup",{}))}),t(x,{"backup-cloud":n.$store.state.mqtt["openWB/system/backup_cloud/config"],"onUpdate:configuration":e[8]||(e[8]=g=>a.updateConfiguration("openWB/system/backup_cloud/config",g)),onSendCommand:e[9]||(e[9]=g=>a.sendSystemCommand(g.command,g.args))},null,8,["backup-cloud"])])):w("",!0),t(L,{"form-name":"cloudBackupForm","hide-reset":!0,"hide-defaults":!0,onSave:e[10]||(e[10]=g=>n.$emit("save")),onReset:e[11]||(e[11]=g=>n.$emit("reset")),onDefaults:e[12]||(e[12]=g=>n.$emit("defaults"))})])):w("",!0)]}),_:1},8,["collapsed"]),!r.installAssistantActive&&!n.$store.state.mqtt["openWB/general/extern"]?(u(),y(S,{key:0,title:"Datenübernahme",subtype:"success",collapsible:!0,collapsed:!0},{default:i(()=>[s("form",Te,[t(c,{subtype:"info"},{default:i(()=>e[36]||(e[36]=[o(" Hier kann die Sicherung aus den älteren Software Versionen 1.9.303 oder 1.9.304 hochgeladen werden, um vorhandene historische Daten (Diagramme und Ladeprotokolle) sowie Cloud-Daten und Seriennummer in diese Installation zu importieren.",-1),s("br",null,null,-1),o(" Ein Import aus Versionen kleiner als 1.9.303 ist nicht möglich. Falls eine Datenübernahme aus 1.9er Versionen gewünscht ist, muss erst ein Upgrade auf 1.9.303 oder 1.9.304 durchgeführt werden! Die Zuordnung zwischen den alten und neuen Komponenten muss manuell durchgeführt werden. ",-1)])),_:1,__:[36]}),t(c,{subtype:"danger"},{default:i(()=>e[37]||(e[37]=[o(" 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.",-1),s("br",null,null,-1),o(" Vor der Datenübernahme unbedingt eine Sicherung erstellen.",-1),s("br",null,null,-1),o(" Die Datenübernahme kann nur durch Einspielen einer Sicherung rückgängig gemacht werden! ",-1)])),_:1,__:[37]}),s("div",Ve,[s("div",Ee,[s("div",je,[t(h,{icon:["fas","file-archive"]})])]),s("div",ze,[s("input",{id:"data-migration-file",type:"file",class:"custom-file-input",accept:".tar.gz,application/gzip,application/tar+gzip",onChange:e[13]||(e[13]=m=>a.updateSelectedDataMigrationFile(m))},null,32),s("label",Pe,b(l.selectedDataMigrationFile?l.selectedDataMigrationFile.name:"Bitte eine Datei auswählen"),1)]),s("div",Re,[s("button",{class:M(["btn",l.selectedDataMigrationFile?"btn-success clickable":"btn-outline-success"]),disabled:!l.selectedDataMigrationFile,type:"button",onClick:e[14]||(e[14]=m=>a.uploadDataMigrationFile())},[e[38]||(e[38]=o(" Hochladen ",-1)),t(h,{icon:["fas","upload"]})],10,xe)])]),t(k,null,{default:i(()=>e[39]||(e[39]=[o(" Zuordnung der Komponenten ",-1)])),_:1,__:[39]}),(u(!0),f(W,null,T(l.dataMigrationConfig,m=>(u(),f("div",{key:m.sectionName},[t(k,null,{default:i(()=>[o(b(m.sectionName),1)]),_:2},1024),(u(!0),f(W,null,T(m.sectionComponents,v=>(u(),y(O,{key:v.key,modelValue:l.dataMigrationMapping[v.key],"onUpdate:modelValue":g=>l.dataMigrationMapping[v.key]=g,title:v.label,options:a.getMigrationOptions(v.validTypes)},J({_:2},[v.help?{name:"help",fn:i(()=>[o(b(v.help),1)]),key:"0"}:void 0]),1032,["modelValue","onUpdate:modelValue","title","options"]))),128))]))),128)),s("div",Ue,[s("div",qe,[t(D,{class:M(l.dataMigrationUploadDone?"btn-success clickable":"btn-outline-success"),disabled:!l.dataMigrationUploadDone,onButtonClicked:e[15]||(e[15]=m=>a.dataMigration())},{default:i(()=>[e[40]||(e[40]=o(" Datenübernahme starten ",-1)),t(h,{icon:["fas","box-open"]})]),_:1,__:[40]},8,["class","disabled"])])])])]),_:1})):w("",!0),r.installAssistantActive?w("",!0):(u(),f("form",He,[t(S,{title:"Zurücksetzen",subtype:"danger",collapsible:!0,collapsed:!0},{footer:i(()=>[s("div",Ne,[s("div",$e,[t(D,{class:"btn-danger clickable",onButtonClicked:e[16]||(e[16]=m=>a.factoryReset())},{default:i(()=>[t(h,{icon:["fas","skull-crossbones"]}),e[42]||(e[42]=o(" Zurücksetzen ",-1)),t(h,{icon:["fas","skull-crossbones"]})]),_:1,__:[42]})])])]),default:i(()=>[t(c,{subtype:"danger"},{default:i(()=>e[41]||(e[41]=[o(" 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,__:[41]})]),_:1})])),r.installAssistantActive?w("",!0):(u(),f("form",Ie,[t(S,{title:"Monitoring",subtype:"success",collapsible:!0,collapsed:!0},{footer:i(()=>[t(L,{"form-name":n.monitoringConfigured,"hide-defaults":!0,onSave:e[19]||(e[19]=m=>n.$emit("save")),onReset:e[20]||(e[20]=m=>n.$emit("reset"))},null,8,["form-name"])]),default:i(()=>[n.$store.state.mqtt["openWB/general/extern"]===!0?(u(),f("div",Ge,[t(c,{subtype:"info"},{default:i(()=>e[43]||(e[43]=[o(' Diese Einstellungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. ',-1)])),_:1,__:[43]})])):(u(),f("div",Je,[t(c,{subtype:"info"},{default:i(()=>e[44]||(e[44]=[o(" Das Monitoring informiert Dich sofort per E-Mail, wenn eine Deiner Komponenten oder Ladepunkte ein Problem hat oder die openWB nicht mehr erreichbar ist. ",-1)])),_:1,__:[44]}),t(O,{class:"mb-2",title:"Anbieter",options:a.monitoringList,"model-value":n.$store.state.mqtt["openWB/optional/monitoring/config"]?n.$store.state.mqtt["openWB/optional/monitoring/config"].type:"","onUpdate:modelValue":e[17]||(e[17]=m=>a.updateSelectedMonitoring(m))},null,8,["options","model-value"]),n.$store.state.mqtt["openWB/optional/monitoring/config"]&&n.$store.state.mqtt["openWB/optional/monitoring/config"].type?(u(),f("div",Ke,[t(U,{monitoring:n.$store.state.mqtt["openWB/optional/monitoring/config"],"onUpdate:configuration":e[18]||(e[18]=m=>a.updateConfiguration("openWB/optional/monitoring/config",m))},null,8,["monitoring"])])):w("",!0)]))]),_:1})]))])):w("",!0)])}const Qe=C(fe,[["render",Ze],["__file","/opt/openWB-dev/openwb-ui-settings/src/views/DataManagement.vue"]]),tn=Object.freeze(Object.defineProperty({__proto__:null,default:Qe},Symbol.toStringTag,{value:"Module"}));export{Z as B,Qe as D,ae as M,tn as a};
diff --git a/web/settings/assets/DebugConfig-2b0f1847.js b/web/settings/assets/DebugConfig-7ec1f92a.js
similarity index 99%
rename from web/settings/assets/DebugConfig-2b0f1847.js
rename to web/settings/assets/DebugConfig-7ec1f92a.js
index d95c321fd2..1509700f55 100644
--- a/web/settings/assets/DebugConfig-2b0f1847.js
+++ b/web/settings/assets/DebugConfig-7ec1f92a.js
@@ -1,2 +1,2 @@
-import{C as x}from"./index-d6a3d34f.js";import{l as B,ac as V,ad as z,k as W,ae as P,g as M,F as T}from"./vendor-fortawesome-855c7d62.js";import{a as y}from"./vendor-axios-3dcaeec5.js";import{_ as F,a4 as N,u as l,l as u,x as g,E as r,q as f,y as L,G as p,z as m,B as h,F as v,A as b,m as C,N as S,M as q}from"./vendor-cc4615be.js";import"./vendor-bootstrap-09a7ccd9.js";import"./vendor-jquery-13cad4c1.js";import"./vendor-sortablejs-7c09d6dd.js";B.add(V,z,W,P,M);const E={name:"OpenwbLogCard",components:{FontAwesomeIcon:T},props:{title:{type:String,required:!0},logFile:{type:String,required:!0}},data(){return{logData:"-- noch nicht geladen --",loading:!1,foundFiles:[],selectedVariant:"",copyMessage:!1,pastebinLink:""}},methods:{async getFilePromise(o,e=!1,n=!0,a=!1){return y[a?"head":"get"](location.protocol+"//"+location.host+o).then(s=>{if(a)return!0;{const d=s.data;return d||"log file is empty"}}).catch(s=>{if(!n)throw s;return s.response?s.response.status==404&&e?a?!1:"":`A 404 is expected if running node.js dev server!
+import{C as x}from"./index-5b5e1b75.js";import{l as B,ac as V,ad as z,k as W,ae as P,g as M,F as T}from"./vendor-fortawesome-855c7d62.js";import{a as y}from"./vendor-axios-3dcaeec5.js";import{_ as F,a4 as N,u as l,l as u,x as g,E as r,q as f,y as L,G as p,z as m,B as h,F as v,A as b,m as C,N as S,M as q}from"./vendor-cc4615be.js";import"./vendor-bootstrap-09a7ccd9.js";import"./vendor-jquery-13cad4c1.js";import"./vendor-sortablejs-7c09d6dd.js";B.add(V,z,W,P,M);const E={name:"OpenwbLogCard",components:{FontAwesomeIcon:T},props:{title:{type:String,required:!0},logFile:{type:String,required:!0}},data(){return{logData:"-- noch nicht geladen --",loading:!1,foundFiles:[],selectedVariant:"",copyMessage:!1,pastebinLink:""}},methods:{async getFilePromise(o,e=!1,n=!0,a=!1){return y[a?"head":"get"](location.protocol+"//"+location.host+o).then(s=>{if(a)return!0;{const d=s.data;return d||"log file is empty"}}).catch(s=>{if(!n)throw s;return s.response?s.response.status==404&&e?a?!1:"":`A 404 is expected if running node.js dev server!
`+s.response.status+" "+s.response.statusText+": "+s.response.request.responseURL:s.request?s.request:s.message})},async loadLog(o,e=""){this.logData="wird aktualisiert...",this.loading=!0,this.pastebinLink="";var n="";e&&(o=o.replace(".log",`.${e}.log`));for(let t=4;t>=1;t--){const s=await this.getFilePromise(o+"."+t,!0);n+=s}const a=await this.getFilePromise(o);n+=a,this.logData=n,this.loading=!1},async checkLatestLog(o){const e=[{suffix:"latest",title:"Letzten 3 Durchläufe",description:"Logs der Letzten 3 Durchläufe laden"},{suffix:"current",title:"Letzter Durchlauf",description:"Logs des letzten Durchlaufs laden"},{suffix:"latest-warning",title:"Letzter Durchlauf mit Warnung oder Fehler",description:"Fehlerprotokoll laden"}];this.foundFiles=[];for(const n of e){const a=o.replace(".log",`.${n.suffix}.log`);try{await this.getFilePromise(a,!1,!1,!0),this.foundFiles.push(n),n.suffix==="latest"&&(this.selectedVariant="latest",console.log("Found latest log file: ",a))}catch(t){console.log(t)}}this.foundFiles.length>0&&this.foundFiles.push({suffix:"",title:"Vollständiges Log",description:"Vollständiges Log laden"})},async onCardExpand(){await this.checkLatestLog(this.logFile),this.loadLog(this.logFile,this.selectedVariant)},copyToClipboard(o=this.logData,e=!0){if(navigator.clipboard&&navigator.clipboard.writeText)navigator.clipboard.writeText(o).then(()=>{e&&this.showCopyMessage()}).catch(n=>{console.error("Fehler beim Kopieren in die Zwischenablage: ",n)});else{const n=document.createElement("textarea");n.value=o,document.body.appendChild(n),n.select();try{document.execCommand("copy"),e&&this.showCopyMessage()}catch(a){console.error("Fehler beim Kopieren in die Zwischenablage: ",a)}document.body.removeChild(n)}},showCopyMessage(){this.copyMessage=!0,this.$root.postClientMessage("Log in die Zwischenablage kopiert.","info"),setTimeout(()=>{this.copyMessage=!1},3e3)},async postToPastebin(){try{const o=N.gzip(this.logData),e=await y.post("https://bytebin.openwb.de/post",o,{headers:{"Content-Type":"text/log","Content-Encoding":"gzip"}});if(!e.data.key)throw new Error("Key is missing in the response");const n=e.data.key;this.pastebinLink=`https://paste.openwb.de/${n}`,console.log("Pastebin link:",this.pastebinLink),this.copyToClipboard(this.pastebinLink,!1),this.$root.postClientMessage(`Log an Pastebin gesendet.
Key: ${n}
Der Link wurde in die Zwischenablage kopiert.`,"info")}catch(o){console.error("Fehler beim Posten auf paste.openwb.de: ",o)}}}},I={class:"log-data mb-0"};function A(o,e,n,a,t,s){const d=l("font-awesome-icon"),c=l("openwb-base-avatar"),_=l("openwb-base-select-input"),w=l("openwb-base-alert"),k=l("openwb-base-card");return u(),g(k,{title:n.title,class:"log-card",collapsible:!0,collapsed:!0,onExpanded:s.onCardExpand},{actions:r(({collapsed:i})=>[i?m("",!0):(u(),g(c,{key:0,class:f(["clickable mr-1",t.pastebinLink?"bg-success":"bg-info"]),onClick:L(s.postToPastebin,["stop"])},{default:r(()=>[p(d,{icon:t.pastebinLink?["fas","check"]:["fas","share-nodes"],title:t.pastebinLink?"Link in die Zwischenablage kopiert":"Log auf paste.openwb.de teilen"},null,8,["icon","title"])]),_:1},8,["class","onClick"])),i?m("",!0):(u(),g(c,{key:1,class:f(["clickable mr-1",t.copyMessage?"bg-success":"bg-info"]),onClick:e[0]||(e[0]=L(D=>s.copyToClipboard(t.logData),["stop"]))},{default:r(()=>[p(d,{icon:t.copyMessage?["fas","check"]:["fas","clipboard"],title:t.copyMessage?"Log in die Zwischenablage kopiert":"Log kopieren"},null,8,["icon","title"])]),_:1},8,["class"])),i?m("",!0):(u(),g(c,{key:2,class:f(["clickable",t.loading?"bg-success":"bg-info"]),onClick:e[1]||(e[1]=L(D=>s.loadLog(n.logFile,t.selectedVariant),["stop"]))},{default:r(()=>[p(d,{class:f(t.loading?"fa-spin-pulse":""),icon:t.loading?["fas","spinner"]:["fas","file-download"],title:"Log laden/aktualisieren"},null,8,["class","icon"])]),_:1},8,["class"]))]),default:r(()=>[t.foundFiles.length>0?(u(),g(w,{key:0,subtype:"info"},{default:r(()=>[h(" Im "+v(n.title)+" stehen unterschiedliche Logauszüge zur Verfügung. Standardmässig werden Logs der letzten 3 Durchläufe geladen, für viele Fälle sollte dies ausreichen. Optional kann auch das gesamte Log geladen werden.",1),e[4]||(e[4]=b("br",null,null,-1)),e[5]||(e[5]=h(" Wurde eine Warnung oder ein Fehler protokolliert steht zusätzlich der letzte Durchlauf mit Warnungen und Fehlern zur Verfügung.",-1)),e[6]||(e[6]=b("br",null,null,-1)),p(_,{modelValue:t.selectedVariant,"onUpdate:modelValue":e[2]||(e[2]=i=>t.selectedVariant=i),title:"Logfile",required:"",options:t.foundFiles.map(i=>({value:i.suffix,text:i.title})),onChange:e[3]||(e[3]=i=>s.loadLog(n.logFile,t.selectedVariant))},null,8,["modelValue","options"])]),_:1,__:[4,5,6]})):m("",!0),b("pre",I,v(t.logData),1)]),_:1},8,["title","onExpanded"])}const K=F(E,[["render",A],["__scopeId","data-v-a320c3d6"],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/debug_config/LogCard.vue"]]),Z={name:"OpenwbDebuggingView",components:{OpenwbLogCard:K},mixins:[x],emits:["save","reset","defaults"],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"},{title:"Protokoll über die Schaltvorgänge von steuerbaren Verbrauchseinrichtungen",fileName:"/openWB/data/log/steuve_control_command.log"},{title:"Thread-Erros",fileName:"/openWB/ramdisk/thread_errors.log"}]}}},O={class:"debugging"},R={name:"debugConfigForm"};function U(o,e,n,a,t,s){const d=l("openwb-base-button-group-input"),c=l("openwb-base-alert"),_=l("openwb-base-card"),w=l("openwb-base-submit-buttons"),k=l("openwb-log-card");return u(),C("div",O,[b("form",R,[p(_,{title:"Protokollierung"},{default:r(()=>[p(d,{title:"Debug Level",buttons:[{buttonValue:30,text:"Warnungen und Fehler"},{buttonValue:20,text:"Info"},{buttonValue:10,text:"Details"}],"model-value":o.$store.state.mqtt["openWB/system/debug_level"],"onUpdate:modelValue":e[0]||(e[0]=i=>o.updateState("openWB/system/debug_level",i))},{help:r(()=>e[4]||(e[4]=[h(' 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)])),_:1},8,["model-value"]),p(c,{subtype:"warning"},{default:r(()=>e[5]||(e[5]=[h(' Achtung! In den Einstellungen "Info" und "Details" können in den Logdateien sensible Daten wie Benutzernamen und Passwö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,__:[5]})]),_:1}),p(w,{"form-name":"debugConfigForm",onSave:e[1]||(e[1]=i=>o.$emit("save")),onReset:e[2]||(e[2]=i=>o.$emit("reset")),onDefaults:e[3]||(e[3]=i=>o.$emit("defaults"))})]),(u(!0),C(S,null,q(t.logFiles,i=>(u(),g(k,{key:i.fileName,title:i.title,"log-file":i.fileName},null,8,["title","log-file"]))),128))])}const H=F(Z,[["render",U],["__file","/opt/openWB-dev/openwb-ui-settings/src/views/DebugConfig.vue"]]);export{H as default};
diff --git a/web/settings/assets/GeneralChargeConfig-e165f2f7.js b/web/settings/assets/GeneralChargeConfig-9090b268.js
similarity index 92%
rename from web/settings/assets/GeneralChargeConfig-e165f2f7.js
rename to web/settings/assets/GeneralChargeConfig-9090b268.js
index 07935c063b..8d05d7d684 100644
--- a/web/settings/assets/GeneralChargeConfig-e165f2f7.js
+++ b/web/settings/assets/GeneralChargeConfig-9090b268.js
@@ -1 +1 @@
-import{_ as f,C as L}from"./index-d6a3d34f.js";import{_ as O}from"./dynamic-import-helper-be004503.js";import{l as q,a6 as D,a7 as F,F as A}from"./vendor-fortawesome-855c7d62.js";import{_ as B,u,l as a,m as s,x as b,E as r,B as i,F as _,G as n,A as d,a2 as U,a3 as N,N as I,z as y}from"./vendor-cc4615be.js";const M={props:{electricityTariff:{type:Object,required:!0}},emits:["update:configuration"],methods:{updateConfiguration(t,e=void 0){this.$emit("update:configuration",{value:t,object:e})}}},R=B(M,[["__file","/opt/openWB-dev/openwb-ui-settings/src/components/electricity_tariffs/ElectricityTariffConfigMixin.vue"]]),Z={name:"ElectricityTariffConfigFallback",mixins:[R]},H={class:"backup-cloud-fallback"},j={key:1};function G(t,e,g,W,z,m){const l=u("openwb-base-alert"),p=u("openwb-base-textarea");return a(),s("div",H,[Object.keys(t.electricityTariff.configuration).length==0?(a(),b(l,{key:0,subtype:"info"},{default:r(()=>[i(' Der Anbieter "'+_(t.electricityTariff.name)+'" bietet keine Einstellungen. ',1)]),_:1})):(a(),s("div",j,[n(l,{subtype:"warning"},{default:r(()=>[i(' Es wurde keine Konfigurationsseite für den Anbieter "'+_(t.electricityTariff.name)+'" gefunden. Die Einstellungen können als JSON direkt bearbeitet werden. ',1)]),_:1}),n(p,{title:"Konfiguration",subtype:"json","model-value":t.electricityTariff.configuration,"onUpdate:modelValue":e[0]||(e[0]=h=>t.updateConfiguration(h,"configuration"))},{help:r(()=>e[1]||(e[1]=[i(" Bitte prüfen Sie, ob die Eingaben richtig interpretiert werden. ",-1)])),_:1},8,["model-value"]),n(l,{subtype:"info"},{default:r(()=>[d("pre",null,_(JSON.stringify(t.electricityTariff.configuration,void 0,2)),1)]),_:1})]))])}const J=B(Z,[["render",G],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/electricity_tariffs/OpenwbElectricityTariffConfigFallback.vue"]]);q.add(D,F);const K={name:"OpenwbElectricityTariffProxy",components:{FontAwesomeIcon:A},props:{electricityTariff:{type:Object,required:!0}},emits:["update:configuration"],methods:{getTariffComponent(){return console.debug(`loading electricity tariff: ${this.electricityTariff.type}`),U({loader:()=>O(Object.assign({"./awattar/electricity_tariff.vue":()=>f(()=>import("./electricity_tariff-6ccd8219.js"),["assets/electricity_tariff-6ccd8219.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/index-d6a3d34f.js","assets/vendor-fortawesome-855c7d62.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./energycharts/electricity_tariff.vue":()=>f(()=>import("./electricity_tariff-2f97c070.js"),["assets/electricity_tariff-2f97c070.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/index-d6a3d34f.js","assets/vendor-fortawesome-855c7d62.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./fixed_hours/electricity_tariff.vue":()=>f(()=>import("./electricity_tariff-0d1c6497.js"),["assets/electricity_tariff-0d1c6497.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js","assets/electricity_tariff-48648707.css"]),"./octopusenergy/electricity_tariff.vue":()=>f(()=>import("./electricity_tariff-047df1c6.js"),["assets/electricity_tariff-047df1c6.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/index-d6a3d34f.js","assets/vendor-fortawesome-855c7d62.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./ostrom/electricity_tariff.vue":()=>f(()=>import("./electricity_tariff-c23de5a3.js"),["assets/electricity_tariff-c23de5a3.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/index-d6a3d34f.js","assets/vendor-fortawesome-855c7d62.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./rabot/electricity_tariff.vue":()=>f(()=>import("./electricity_tariff-80042143.js"),["assets/electricity_tariff-80042143.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/index-d6a3d34f.js","assets/vendor-fortawesome-855c7d62.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./tibber/electricity_tariff.vue":()=>f(()=>import("./electricity_tariff-b4fe3eab.js"),["assets/electricity_tariff-b4fe3eab.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/index-d6a3d34f.js","assets/vendor-fortawesome-855c7d62.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./voltego/electricity_tariff.vue":()=>f(()=>import("./electricity_tariff-50217282.js"),["assets/electricity_tariff-50217282.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/index-d6a3d34f.js","assets/vendor-fortawesome-855c7d62.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"])}),`./${this.electricityTariff.type}/electricity_tariff.vue`),errorComponent:J})},updateConfiguration(t){this.$emit("update:configuration",t)}}};function x(t,e,g,W,z,m){const l=u("font-awesome-icon"),p=u("openwb-base-alert"),h=u("openwb-base-heading");return a(),s(I,null,[g.electricityTariff.official?(a(),b(p,{key:0,subtype:"success"},{default:r(()=>[n(l,{icon:["fas","certificate"]}),i(' Das ausgewählte Modul "'+_(g.electricityTariff.name)+'" wird von openWB gepflegt. ',1)]),_:1})):(a(),b(p,{key:1,subtype:"info"},{default:r(()=>[n(l,{icon:["fas","people-group"]}),i(' Das ausgewählte Modul "'+_(g.electricityTariff.name)+'" wird in unserer Community gepflegt. Rückfragen oder Probleme bitte im Forum diskutieren. ',1)]),_:1})),n(h,null,{default:r(()=>[i(' Einstellungen für Modul "'+_(g.electricityTariff.name)+'" ',1)]),_:1}),(a(),b(N(m.getTariffComponent()),{"electricity-tariff":g.electricityTariff,"onUpdate:configuration":e[0]||(e[0]=c=>m.updateConfiguration(c))},null,40,["electricity-tariff"]))],64)}const Q=B(K,[["render",x],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/electricity_tariffs/OpenwbElectricityTariffProxy.vue"]]),X={name:"OpenwbGeneralChargeConfigView",components:{OpenwbElectricityTariffProxy:Q},mixins:[L],emits:["save","reset","defaults"],data(){return{mqttTopicsToSubscribe:["openWB/bat/config/power_limit_mode","openWB/bat/config/bat_control_permitted","openWB/bat/get/power_limit_controllable","openWB/general/extern","openWB/general/chargemode_config/phase_switch_delay","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/optional/ocpp/config","openWB/system/configurable/electricity_tariffs"]}},computed:{electricityTariffList(){return this.$store.state.mqtt["openWB/system/configurable/electricity_tariffs"]}},methods:{getElectricityTariffDefaultConfiguration(t){const e=this.electricityTariffList.find(g=>g.value==t);return Object.prototype.hasOwnProperty.call(e,"defaults")?{...e.defaults}:(console.warn("no default configuration found for electricity tariff type!",t),{})},updateSelectedElectricityTariff(t){this.updateState("openWB/optional/et/provider",t,"type"),this.updateState("openWB/optional/et/provider",this.getElectricityTariffDefaultConfiguration(t))},updateConfiguration(t,e){console.debug("updateConfiguration",t,e),this.updateState(t,e.value,e.object)}}},Y={class:"generalChargeConfig"},ee={name:"generalChargeConfigForm"},te={key:0},ne={key:1},ie={key:0},re={key:1},oe={key:1},ae={key:0},se={key:1},le={key:0},ue={key:0},de={key:1},pe={key:0},ge={key:1},fe={key:0};function me(t,e,g,W,z,m){const l=u("openwb-base-alert"),p=u("openwb-base-button-group-input"),h=u("openwb-base-range-input"),c=u("openwb-base-number-input"),w=u("openwb-base-card"),k=u("openwb-base-heading"),S=u("openwb-base-select-input"),C=u("openwb-electricity-tariff-proxy"),$=u("openwb-base-text-input"),T=u("openwb-base-submit-buttons");return a(),s("div",Y,[d("form",ee,[n(w,{title:"Allgemein"},{default:r(()=>[t.$store.state.mqtt["openWB/general/extern"]===!0?(a(),s("div",te,[n(l,{subtype:"info"},{default:r(()=>e[17]||(e[17]=[i(' Diese Einstellungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. ',-1)])),_:1,__:[17]})])):(a(),s("div",ne,[n(p,{title:"Begrenzung der Schieflast",buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":t.$store.state.mqtt["openWB/general/chargemode_config/unbalanced_load"],"onUpdate:modelValue":e[0]||(e[0]=o=>t.updateState("openWB/general/chargemode_config/unbalanced_load",o))},{help:r(()=>e[18]||(e[18]=[i(" 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!",-1),d("br",null,null,-1),i(' 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)])),_:1},8,["model-value"]),t.$store.state.mqtt["openWB/general/chargemode_config/unbalanced_load"]?(a(),b(h,{key:0,title:"Erlaubte Schieflast",min:10,max:32,step:1,unit:"A","model-value":t.$store.state.mqtt["openWB/general/chargemode_config/unbalanced_load_limit"],"onUpdate:modelValue":e[1]||(e[1]=o=>t.updateState("openWB/general/chargemode_config/unbalanced_load_limit",o))},{help:r(()=>e[19]||(e[19]=[i(" Hiermit wird festgelegt, welche Schieflast am Netzanschlusspunkt erlaubt ist. Bei Überschreitung werden gezielt einzelne Ladevorgänge in der Leistung begrenzt. ",-1)])),_:1},8,["model-value"])):y("",!0),n(p,{title:"Phasenumschaltung wiederholt anstoßen",buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":t.$store.state.mqtt["openWB/general/chargemode_config/retry_failed_phase_switches"],"onUpdate:modelValue":e[2]||(e[2]=o=>t.updateState("openWB/general/chargemode_config/retry_failed_phase_switches",o))},{help:r(()=>e[20]||(e[20]=[i(" Wenn diese Option aktiviert ist, werden bis zu zwei Umschaltversuche vorgenommen, wenn die vorgegebene und genutzte Phasenzahl nicht übereinstimmen. Wird die Option deaktiviert, wird nur eine Umschaltung durchgeführt.",-1),d("br",null,null,-1),i(" Die gezählten Fehlversuche werden mit dem Abstecken zurückgesetzt. ",-1)])),_:1},8,["model-value"]),n(c,{title:"Pufferzeit zwischen automat. Phasenumschaltungen",unit:"Min.",min:5,max:20,step:1,"model-value":t.$store.state.mqtt["openWB/general/chargemode_config/phase_switch_delay"],"onUpdate:modelValue":e[3]||(e[3]=o=>t.updateState("openWB/general/chargemode_config/phase_switch_delay",o))},{help:r(()=>e[21]||(e[21]=[i(" Um zu viele Umschaltungen zu vermeiden, wird mindestens die hier eingestellte Zeit zwischen zwei Umschaltungen abgewartet. Das Umschalten auf mehrphasiges Laden erfolgt nur, wenn mit der maximalen Stromstärke geladen wird und genug Leistung für mehrphasiges Laden zur Verfügung steht. Auf einphasiges Laden wird zurückgeschaltet, wenn auf die minimale Stromstärke heruntergeregelt wurde. Die Verzögerung wird nur bei der automatischen Phasenumschaltung bei Überschuss-Laden abgewartet.",-1),d("br",null,null,-1),i(" Ist ausreichend Überschuss vorhanden, wird beim Ladestart die Umschaltverzögerung nicht abgewartet, sondern direkt mit mehrphasiger Ladung begonnen. ",-1)])),_:1},8,["model-value"])]))]),_:1}),n(w,{title:"Ladekosten"},{default:r(()=>[t.$store.state.mqtt["openWB/general/extern"]===!0?(a(),s("div",ie,[n(l,{subtype:"info"},{default:r(()=>e[22]||(e[22]=[i(' Diese Einstellungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. ',-1)])),_:1,__:[22]})])):(a(),s("div",re,[n(k,{class:"mt-0"},{help:r(()=>e[23]||(e[23]=[i(" Zur Berechnung der Ladekosten im Lade-Protokoll werden stundenweise die Anteile der Stromquellen (Speicher, Netz, PV) berechnet und mit den hier angegebenen Preisen multipliziert.",-1),d("br",null,null,-1),i(" Ist die Abrechnung über das Ladeprotokoll, z.B. mit dem Arbeitgeber, vereinbart, ist bei allen drei Feldern der vereinbarte Preis einzutragen. ",-1)])),default:r(()=>[e[24]||(e[24]=i(" Berechnung der Ladekosten ",-1))]),_:1,__:[24]}),t.$store.state.mqtt["openWB/optional/et/provider"]&&t.$store.state.mqtt["openWB/optional/et/provider"].type?(a(),b(l,{key:0,subtype:"info"},{default:r(()=>e[25]||(e[25]=[i(" Für den Netzbezug wird der dynamische Strompreis des Anbieters für variable Stromtarife verwendet. Wenn keine dynamischen Strompreise abgefragt werden können, wird der eingetragene Preis für den Netzbezug verwendet. ",-1)])),_:1,__:[25]})):y("",!0),n(c,{title:"Preis für Netzbezug",step:.001,precision:3,unit:"ct/kWh",required:"","model-value":t.$store.state.mqtt["openWB/general/prices/grid"]*1e5,"onUpdate:modelValue":e[4]||(e[4]=o=>t.updateState("openWB/general/prices/grid",parseFloat((o/1e5).toFixed(7))))},null,8,["model-value"]),n(c,{title:"Preis für Speicherentladung",step:.001,precision:3,unit:"ct/kWh",required:"","model-value":t.$store.state.mqtt["openWB/general/prices/bat"]*1e5,"onUpdate:modelValue":e[5]||(e[5]=o=>t.updateState("openWB/general/prices/bat",parseFloat((o/1e5).toFixed(7))))},null,8,["model-value"]),n(c,{title:"Preis für PV-Strom",step:.001,precision:3,unit:"ct/kWh",required:"","model-value":t.$store.state.mqtt["openWB/general/prices/pv"]*1e5,"onUpdate:modelValue":e[6]||(e[6]=o=>t.updateState("openWB/general/prices/pv",parseFloat((o/1e5).toFixed(7))))},null,8,["model-value"]),e[28]||(e[28]=d("hr",null,null,-1)),n(k,null,{default:r(()=>e[26]||(e[26]=[i(" Variable Stromtarife ",-1)])),_:1,__:[26]}),n(l,{subtype:"info"},{default:r(()=>e[27]||(e[27]=[i(" Bei Sofort- und Zeitladen wird nur geladen, wenn der Strompreis unter dem angegebenen maximalen Strompreis liegt. Für Zielladen wird die Ladedauer ermittelt und dann zu den günstigsten Stunden geladen.",-1),d("br",null,null,-1),i(" 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)])),_:1,__:[27]}),n(S,{class:"mb-2",title:"Anbieter",options:m.electricityTariffList,"model-value":t.$store.state.mqtt["openWB/optional/et/provider"]?t.$store.state.mqtt["openWB/optional/et/provider"].type:"","onUpdate:modelValue":e[7]||(e[7]=o=>m.updateSelectedElectricityTariff(o))},null,8,["options","model-value"]),t.$store.state.mqtt["openWB/optional/et/provider"]&&t.$store.state.mqtt["openWB/optional/et/provider"].type?(a(),s("div",oe,[n(C,{"electricity-tariff":t.$store.state.mqtt["openWB/optional/et/provider"],"onUpdate:configuration":e[8]||(e[8]=o=>m.updateConfiguration("openWB/optional/et/provider",o))},null,8,["electricity-tariff"])])):y("",!0)]))]),_:1}),n(w,{title:"Optional"},{default:r(()=>[t.$store.state.mqtt["openWB/general/extern"]===!0?(a(),s("div",ae,[n(l,{subtype:"info"},{default:r(()=>e[29]||(e[29]=[i(' Diese Einstellungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. ',-1)])),_:1,__:[29]})])):(a(),s("div",se,[n(l,{subtype:"info",class:"mb-3"},{default:r(()=>[e[30]||(e[30]=d("p",null,[i(" Die aktive Speichersteuerung durch openWB basiert auf öffentlich zugänglichen Informationen zu den verschiedenen Speichersystemen. Diese können auch nicht herstellerseitig freigegebene Informationen beinhalten."),d("br"),i(' Fragen bezüglich der Gewährleistung und Hardwarekompatibilität sind vor der Nutzung mit dem Hersteller zu klären. openWB übernimmt keine Haftung für Schäden, welche aus der Nutzung der "aktiven Speichersteuerung" entstehen. ')],-1)),n(p,{title:"Hinweise zur aktiven Speichersteuerung gelesen und akzeptiert",buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":t.$store.state.mqtt["openWB/bat/config/bat_control_permitted"],"onUpdate:modelValue":e[9]||(e[9]=o=>t.updateState("openWB/bat/config/bat_control_permitted",o))},null,8,["model-value"])]),_:1,__:[30]}),t.$store.state.mqtt["openWB/bat/config/bat_control_permitted"]===!0?(a(),s("div",le,[n(k,{class:"mt-0"},{default:r(()=>e[31]||(e[31]=[i(" Speicher-Entladung ins Fahrzeug steuern ",-1)])),_:1,__:[31]}),t.$store.state.mqtt["openWB/bat/get/power_limit_controllable"]===!0?(a(),s("div",ue,[n(p,{title:"Speicher-Entladung",buttons:[{buttonValue:"no_limit",text:"immer"},{buttonValue:"limit_stop",text:"gesperrt, wenn Fahrzeug lädt"},{buttonValue:"limit_to_home_consumption",text:"für Hausverbrauch"}],"model-value":t.$store.state.mqtt["openWB/bat/config/power_limit_mode"],"onUpdate:modelValue":e[10]||(e[10]=o=>t.updateState("openWB/bat/config/power_limit_mode",o))},{help:r(()=>e[32]||(e[32]=[i(" Wenn das Entladen des Speichers immer erlaubt ist, wird das Fahrzeug aus dem Speicher geladen anstatt Strom aus dem Netz zu beziehen. ",-1),d("br",null,null,-1),i(' Im Modus "gesperrt, wenn Fahrzeug lädt", wird die Entladung nur zugelassen, wenn alle Fahrzeuge im Modus PV-Laden ohne Mindeststrom oder Zielladen mit PV-Überschuss laden.',-1),d("br",null,null,-1),i(' Wenn das Entladen des Speichers auf den Hausverbrauch begrenzt ist und mindestens Fahrzeuge nicht im Modus PV-Laden ohne Mindeststrom oder Zielladen lädt, wird die Entladung des Speichers in Höhe des Hausverbrauchs zugelassen. Kann die Entladung am Speicher nur komplett gesperrt werden, verhält sich diese Einstellung wie "gesperrt, wenn Fahrzeug lädt".',-1),d("br",null,null,-1),i(" Diese Einstellung übersteuert ggf die Einstellungen zur Speicher-Beachtung im Modus PV-Laden. ",-1)])),_:1},8,["model-value"])])):(a(),s("div",de,[n(l,{subtype:"info"},{default:r(()=>e[33]||(e[33]=[i(" Die Speicher-Entladung ins Fahrzeug kann nicht gesteuert werden, da die Entladeleistung nicht an den/die konfigurierten Speicher übergeben werden kann. ",-1)])),_:1,__:[33]})]))])):y("",!0)]))]),_:1}),n(w,{title:"OCPP Anbindung"},{default:r(()=>{var o,E,P,V;return[t.$store.state.mqtt["openWB/general/extern"]===!0?(a(),s("div",pe,[n(l,{subtype:"info"},{default:r(()=>e[34]||(e[34]=[i(' Diese Einstellungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. ',-1)])),_:1,__:[34]})])):(a(),s("div",ge,[n(p,{title:"OCPP aktivieren",buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":(o=t.$store.state.mqtt["openWB/optional/ocpp/config"])==null?void 0:o.active,"onUpdate:modelValue":e[11]||(e[11]=v=>t.updateState("openWB/optional/ocpp/config",v,"active"))},null,8,["model-value"]),((E=t.$store.state.mqtt["openWB/optional/ocpp/config"])==null?void 0:E.active)===!0?(a(),s("div",fe,[n(l,{subtype:"info"},{default:r(()=>e[35]||(e[35]=[i(" Die Ladepunkte übermitteln den ID-Tag, Heartbeat und den Zählerstand zum Zeitpunkt des Ansteckens, Absteckens und alle 5 Minuten. Eine Steuerung per OCPP ist nicht möglich.",-1),d("br",null,null,-1),i(" Alle Ladepunkte, die ihre Daten an das OCPP-Backend übermitteln sollen, müssen zunächst im OCPP-Backend angelegt werden. Die dort eingetragene Chargebox ID muss in der openWB in den Einstellungen des Ladepunkts eingetragen werden. ",-1)])),_:1,__:[35]}),n($,{title:"URL des OCPP-Backends",subtype:"url","model-value":(P=t.$store.state.mqtt["openWB/optional/ocpp/config"])==null?void 0:P.url,"onUpdate:modelValue":e[12]||(e[12]=v=>t.updateState("openWB/optional/ocpp/config",v,"url"))},null,8,["model-value"]),n(S,{title:"Version","not-selected":"Bitte auswählen",options:[{value:"ocpp1.6",text:"OCPP 1.6"},{value:"ocpp2.0.1",text:"OCPP 2.0.1"}],"model-value":(V=t.$store.state.mqtt["openWB/optional/ocpp/config"])==null?void 0:V.version,"onUpdate:modelValue":e[13]||(e[13]=v=>t.updateState("openWB/optional/ocpp/config",v,"version"))},null,8,["model-value"])])):y("",!0)]))]}),_:1}),n(T,{"form-name":"generalChargeConfigForm",onSave:e[14]||(e[14]=o=>t.$emit("save")),onReset:e[15]||(e[15]=o=>t.$emit("reset")),onDefaults:e[16]||(e[16]=o=>t.$emit("defaults"))})])])}const ce=B(X,[["render",me],["__file","/opt/openWB-dev/openwb-ui-settings/src/views/GeneralChargeConfig.vue"]]),ye=Object.freeze(Object.defineProperty({__proto__:null,default:ce},Symbol.toStringTag,{value:"Module"}));export{R as E,ye as G};
+import{_ as f,C as L}from"./index-5b5e1b75.js";import{_ as O}from"./dynamic-import-helper-be004503.js";import{l as q,a6 as D,a7 as F,F as A}from"./vendor-fortawesome-855c7d62.js";import{_ as B,u,l as a,m as s,x as b,E as r,B as i,F as _,G as n,A as d,a2 as U,a3 as N,N as I,z as y}from"./vendor-cc4615be.js";const M={props:{electricityTariff:{type:Object,required:!0}},emits:["update:configuration"],methods:{updateConfiguration(t,e=void 0){this.$emit("update:configuration",{value:t,object:e})}}},R=B(M,[["__file","/opt/openWB-dev/openwb-ui-settings/src/components/electricity_tariffs/ElectricityTariffConfigMixin.vue"]]),Z={name:"ElectricityTariffConfigFallback",mixins:[R]},H={class:"backup-cloud-fallback"},j={key:1};function G(t,e,g,W,z,m){const l=u("openwb-base-alert"),p=u("openwb-base-textarea");return a(),s("div",H,[Object.keys(t.electricityTariff.configuration).length==0?(a(),b(l,{key:0,subtype:"info"},{default:r(()=>[i(' Der Anbieter "'+_(t.electricityTariff.name)+'" bietet keine Einstellungen. ',1)]),_:1})):(a(),s("div",j,[n(l,{subtype:"warning"},{default:r(()=>[i(' Es wurde keine Konfigurationsseite für den Anbieter "'+_(t.electricityTariff.name)+'" gefunden. Die Einstellungen können als JSON direkt bearbeitet werden. ',1)]),_:1}),n(p,{title:"Konfiguration",subtype:"json","model-value":t.electricityTariff.configuration,"onUpdate:modelValue":e[0]||(e[0]=h=>t.updateConfiguration(h,"configuration"))},{help:r(()=>e[1]||(e[1]=[i(" Bitte prüfen Sie, ob die Eingaben richtig interpretiert werden. ",-1)])),_:1},8,["model-value"]),n(l,{subtype:"info"},{default:r(()=>[d("pre",null,_(JSON.stringify(t.electricityTariff.configuration,void 0,2)),1)]),_:1})]))])}const J=B(Z,[["render",G],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/electricity_tariffs/OpenwbElectricityTariffConfigFallback.vue"]]);q.add(D,F);const K={name:"OpenwbElectricityTariffProxy",components:{FontAwesomeIcon:A},props:{electricityTariff:{type:Object,required:!0}},emits:["update:configuration"],methods:{getTariffComponent(){return console.debug(`loading electricity tariff: ${this.electricityTariff.type}`),U({loader:()=>O(Object.assign({"./awattar/electricity_tariff.vue":()=>f(()=>import("./electricity_tariff-a7206626.js"),["assets/electricity_tariff-a7206626.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/index-5b5e1b75.js","assets/vendor-fortawesome-855c7d62.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./energycharts/electricity_tariff.vue":()=>f(()=>import("./electricity_tariff-fbcf702e.js"),["assets/electricity_tariff-fbcf702e.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/index-5b5e1b75.js","assets/vendor-fortawesome-855c7d62.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./fixed_hours/electricity_tariff.vue":()=>f(()=>import("./electricity_tariff-f8256f22.js"),["assets/electricity_tariff-f8256f22.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js","assets/electricity_tariff-48648707.css"]),"./octopusenergy/electricity_tariff.vue":()=>f(()=>import("./electricity_tariff-bb2e8d54.js"),["assets/electricity_tariff-bb2e8d54.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/index-5b5e1b75.js","assets/vendor-fortawesome-855c7d62.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./ostrom/electricity_tariff.vue":()=>f(()=>import("./electricity_tariff-3bf8dd25.js"),["assets/electricity_tariff-3bf8dd25.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/index-5b5e1b75.js","assets/vendor-fortawesome-855c7d62.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./rabot/electricity_tariff.vue":()=>f(()=>import("./electricity_tariff-b686879b.js"),["assets/electricity_tariff-b686879b.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/index-5b5e1b75.js","assets/vendor-fortawesome-855c7d62.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./tibber/electricity_tariff.vue":()=>f(()=>import("./electricity_tariff-40bd5da8.js"),["assets/electricity_tariff-40bd5da8.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/index-5b5e1b75.js","assets/vendor-fortawesome-855c7d62.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./voltego/electricity_tariff.vue":()=>f(()=>import("./electricity_tariff-6e1968b0.js"),["assets/electricity_tariff-6e1968b0.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/index-5b5e1b75.js","assets/vendor-fortawesome-855c7d62.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"])}),`./${this.electricityTariff.type}/electricity_tariff.vue`),errorComponent:J})},updateConfiguration(t){this.$emit("update:configuration",t)}}};function x(t,e,g,W,z,m){const l=u("font-awesome-icon"),p=u("openwb-base-alert"),h=u("openwb-base-heading");return a(),s(I,null,[g.electricityTariff.official?(a(),b(p,{key:0,subtype:"success"},{default:r(()=>[n(l,{icon:["fas","certificate"]}),i(' Das ausgewählte Modul "'+_(g.electricityTariff.name)+'" wird von openWB gepflegt. ',1)]),_:1})):(a(),b(p,{key:1,subtype:"info"},{default:r(()=>[n(l,{icon:["fas","people-group"]}),i(' Das ausgewählte Modul "'+_(g.electricityTariff.name)+'" wird in unserer Community gepflegt. Rückfragen oder Probleme bitte im Forum diskutieren. ',1)]),_:1})),n(h,null,{default:r(()=>[i(' Einstellungen für Modul "'+_(g.electricityTariff.name)+'" ',1)]),_:1}),(a(),b(N(m.getTariffComponent()),{"electricity-tariff":g.electricityTariff,"onUpdate:configuration":e[0]||(e[0]=c=>m.updateConfiguration(c))},null,40,["electricity-tariff"]))],64)}const Q=B(K,[["render",x],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/electricity_tariffs/OpenwbElectricityTariffProxy.vue"]]),X={name:"OpenwbGeneralChargeConfigView",components:{OpenwbElectricityTariffProxy:Q},mixins:[L],emits:["save","reset","defaults"],data(){return{mqttTopicsToSubscribe:["openWB/bat/config/power_limit_mode","openWB/bat/config/bat_control_permitted","openWB/bat/get/power_limit_controllable","openWB/general/extern","openWB/general/chargemode_config/phase_switch_delay","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/optional/ocpp/config","openWB/system/configurable/electricity_tariffs"]}},computed:{electricityTariffList(){return this.$store.state.mqtt["openWB/system/configurable/electricity_tariffs"]}},methods:{getElectricityTariffDefaultConfiguration(t){const e=this.electricityTariffList.find(g=>g.value==t);return Object.prototype.hasOwnProperty.call(e,"defaults")?{...e.defaults}:(console.warn("no default configuration found for electricity tariff type!",t),{})},updateSelectedElectricityTariff(t){this.updateState("openWB/optional/et/provider",t,"type"),this.updateState("openWB/optional/et/provider",this.getElectricityTariffDefaultConfiguration(t))},updateConfiguration(t,e){console.debug("updateConfiguration",t,e),this.updateState(t,e.value,e.object)}}},Y={class:"generalChargeConfig"},ee={name:"generalChargeConfigForm"},te={key:0},ne={key:1},ie={key:0},re={key:1},oe={key:1},ae={key:0},se={key:1},le={key:0},ue={key:0},de={key:1},pe={key:0},ge={key:1},fe={key:0};function me(t,e,g,W,z,m){const l=u("openwb-base-alert"),p=u("openwb-base-button-group-input"),h=u("openwb-base-range-input"),c=u("openwb-base-number-input"),w=u("openwb-base-card"),k=u("openwb-base-heading"),S=u("openwb-base-select-input"),C=u("openwb-electricity-tariff-proxy"),$=u("openwb-base-text-input"),T=u("openwb-base-submit-buttons");return a(),s("div",Y,[d("form",ee,[n(w,{title:"Allgemein"},{default:r(()=>[t.$store.state.mqtt["openWB/general/extern"]===!0?(a(),s("div",te,[n(l,{subtype:"info"},{default:r(()=>e[17]||(e[17]=[i(' Diese Einstellungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. ',-1)])),_:1,__:[17]})])):(a(),s("div",ne,[n(p,{title:"Begrenzung der Schieflast",buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":t.$store.state.mqtt["openWB/general/chargemode_config/unbalanced_load"],"onUpdate:modelValue":e[0]||(e[0]=o=>t.updateState("openWB/general/chargemode_config/unbalanced_load",o))},{help:r(()=>e[18]||(e[18]=[i(" 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!",-1),d("br",null,null,-1),i(' 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)])),_:1},8,["model-value"]),t.$store.state.mqtt["openWB/general/chargemode_config/unbalanced_load"]?(a(),b(h,{key:0,title:"Erlaubte Schieflast",min:10,max:32,step:1,unit:"A","model-value":t.$store.state.mqtt["openWB/general/chargemode_config/unbalanced_load_limit"],"onUpdate:modelValue":e[1]||(e[1]=o=>t.updateState("openWB/general/chargemode_config/unbalanced_load_limit",o))},{help:r(()=>e[19]||(e[19]=[i(" Hiermit wird festgelegt, welche Schieflast am Netzanschlusspunkt erlaubt ist. Bei Überschreitung werden gezielt einzelne Ladevorgänge in der Leistung begrenzt. ",-1)])),_:1},8,["model-value"])):y("",!0),n(p,{title:"Phasenumschaltung wiederholt anstoßen",buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":t.$store.state.mqtt["openWB/general/chargemode_config/retry_failed_phase_switches"],"onUpdate:modelValue":e[2]||(e[2]=o=>t.updateState("openWB/general/chargemode_config/retry_failed_phase_switches",o))},{help:r(()=>e[20]||(e[20]=[i(" Wenn diese Option aktiviert ist, werden bis zu zwei Umschaltversuche vorgenommen, wenn die vorgegebene und genutzte Phasenzahl nicht übereinstimmen. Wird die Option deaktiviert, wird nur eine Umschaltung durchgeführt.",-1),d("br",null,null,-1),i(" Die gezählten Fehlversuche werden mit dem Abstecken zurückgesetzt. ",-1)])),_:1},8,["model-value"]),n(c,{title:"Pufferzeit zwischen automat. Phasenumschaltungen",unit:"Min.",min:5,max:20,step:1,"model-value":t.$store.state.mqtt["openWB/general/chargemode_config/phase_switch_delay"],"onUpdate:modelValue":e[3]||(e[3]=o=>t.updateState("openWB/general/chargemode_config/phase_switch_delay",o))},{help:r(()=>e[21]||(e[21]=[i(" Um zu viele Umschaltungen zu vermeiden, wird mindestens die hier eingestellte Zeit zwischen zwei Umschaltungen abgewartet. Das Umschalten auf mehrphasiges Laden erfolgt nur, wenn mit der maximalen Stromstärke geladen wird und genug Leistung für mehrphasiges Laden zur Verfügung steht. Auf einphasiges Laden wird zurückgeschaltet, wenn auf die minimale Stromstärke heruntergeregelt wurde. Die Verzögerung wird nur bei der automatischen Phasenumschaltung bei Überschuss-Laden abgewartet.",-1),d("br",null,null,-1),i(" Ist ausreichend Überschuss vorhanden, wird beim Ladestart die Umschaltverzögerung nicht abgewartet, sondern direkt mit mehrphasiger Ladung begonnen. ",-1)])),_:1},8,["model-value"])]))]),_:1}),n(w,{title:"Ladekosten"},{default:r(()=>[t.$store.state.mqtt["openWB/general/extern"]===!0?(a(),s("div",ie,[n(l,{subtype:"info"},{default:r(()=>e[22]||(e[22]=[i(' Diese Einstellungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. ',-1)])),_:1,__:[22]})])):(a(),s("div",re,[n(k,{class:"mt-0"},{help:r(()=>e[23]||(e[23]=[i(" Zur Berechnung der Ladekosten im Lade-Protokoll werden stundenweise die Anteile der Stromquellen (Speicher, Netz, PV) berechnet und mit den hier angegebenen Preisen multipliziert.",-1),d("br",null,null,-1),i(" Ist die Abrechnung über das Ladeprotokoll, z.B. mit dem Arbeitgeber, vereinbart, ist bei allen drei Feldern der vereinbarte Preis einzutragen. ",-1)])),default:r(()=>[e[24]||(e[24]=i(" Berechnung der Ladekosten ",-1))]),_:1,__:[24]}),t.$store.state.mqtt["openWB/optional/et/provider"]&&t.$store.state.mqtt["openWB/optional/et/provider"].type?(a(),b(l,{key:0,subtype:"info"},{default:r(()=>e[25]||(e[25]=[i(" Für den Netzbezug wird der dynamische Strompreis des Anbieters für variable Stromtarife verwendet. Wenn keine dynamischen Strompreise abgefragt werden können, wird der eingetragene Preis für den Netzbezug verwendet. ",-1)])),_:1,__:[25]})):y("",!0),n(c,{title:"Preis für Netzbezug",step:.001,precision:3,unit:"ct/kWh",required:"","model-value":t.$store.state.mqtt["openWB/general/prices/grid"]*1e5,"onUpdate:modelValue":e[4]||(e[4]=o=>t.updateState("openWB/general/prices/grid",parseFloat((o/1e5).toFixed(7))))},null,8,["model-value"]),n(c,{title:"Preis für Speicherentladung",step:.001,precision:3,unit:"ct/kWh",required:"","model-value":t.$store.state.mqtt["openWB/general/prices/bat"]*1e5,"onUpdate:modelValue":e[5]||(e[5]=o=>t.updateState("openWB/general/prices/bat",parseFloat((o/1e5).toFixed(7))))},null,8,["model-value"]),n(c,{title:"Preis für PV-Strom",step:.001,precision:3,unit:"ct/kWh",required:"","model-value":t.$store.state.mqtt["openWB/general/prices/pv"]*1e5,"onUpdate:modelValue":e[6]||(e[6]=o=>t.updateState("openWB/general/prices/pv",parseFloat((o/1e5).toFixed(7))))},null,8,["model-value"]),e[28]||(e[28]=d("hr",null,null,-1)),n(k,null,{default:r(()=>e[26]||(e[26]=[i(" Variable Stromtarife ",-1)])),_:1,__:[26]}),n(l,{subtype:"info"},{default:r(()=>e[27]||(e[27]=[i(" Bei Sofort- und Zeitladen wird nur geladen, wenn der Strompreis unter dem angegebenen maximalen Strompreis liegt. Für Zielladen wird die Ladedauer ermittelt und dann zu den günstigsten Stunden geladen.",-1),d("br",null,null,-1),i(" 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)])),_:1,__:[27]}),n(S,{class:"mb-2",title:"Anbieter",options:m.electricityTariffList,"model-value":t.$store.state.mqtt["openWB/optional/et/provider"]?t.$store.state.mqtt["openWB/optional/et/provider"].type:"","onUpdate:modelValue":e[7]||(e[7]=o=>m.updateSelectedElectricityTariff(o))},null,8,["options","model-value"]),t.$store.state.mqtt["openWB/optional/et/provider"]&&t.$store.state.mqtt["openWB/optional/et/provider"].type?(a(),s("div",oe,[n(C,{"electricity-tariff":t.$store.state.mqtt["openWB/optional/et/provider"],"onUpdate:configuration":e[8]||(e[8]=o=>m.updateConfiguration("openWB/optional/et/provider",o))},null,8,["electricity-tariff"])])):y("",!0)]))]),_:1}),n(w,{title:"Optional"},{default:r(()=>[t.$store.state.mqtt["openWB/general/extern"]===!0?(a(),s("div",ae,[n(l,{subtype:"info"},{default:r(()=>e[29]||(e[29]=[i(' Diese Einstellungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. ',-1)])),_:1,__:[29]})])):(a(),s("div",se,[n(l,{subtype:"info",class:"mb-3"},{default:r(()=>[e[30]||(e[30]=d("p",null,[i(" Die aktive Speichersteuerung durch openWB basiert auf öffentlich zugänglichen Informationen zu den verschiedenen Speichersystemen. Diese können auch nicht herstellerseitig freigegebene Informationen beinhalten."),d("br"),i(' Fragen bezüglich der Gewährleistung und Hardwarekompatibilität sind vor der Nutzung mit dem Hersteller zu klären. openWB übernimmt keine Haftung für Schäden, welche aus der Nutzung der "aktiven Speichersteuerung" entstehen. ')],-1)),n(p,{title:"Hinweise zur aktiven Speichersteuerung gelesen und akzeptiert",buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":t.$store.state.mqtt["openWB/bat/config/bat_control_permitted"],"onUpdate:modelValue":e[9]||(e[9]=o=>t.updateState("openWB/bat/config/bat_control_permitted",o))},null,8,["model-value"])]),_:1,__:[30]}),t.$store.state.mqtt["openWB/bat/config/bat_control_permitted"]===!0?(a(),s("div",le,[n(k,{class:"mt-0"},{default:r(()=>e[31]||(e[31]=[i(" Speicher-Entladung ins Fahrzeug steuern ",-1)])),_:1,__:[31]}),t.$store.state.mqtt["openWB/bat/get/power_limit_controllable"]===!0?(a(),s("div",ue,[n(p,{title:"Speicher-Entladung",buttons:[{buttonValue:"no_limit",text:"immer"},{buttonValue:"limit_stop",text:"gesperrt, wenn Fahrzeug lädt"},{buttonValue:"limit_to_home_consumption",text:"für Hausverbrauch"}],"model-value":t.$store.state.mqtt["openWB/bat/config/power_limit_mode"],"onUpdate:modelValue":e[10]||(e[10]=o=>t.updateState("openWB/bat/config/power_limit_mode",o))},{help:r(()=>e[32]||(e[32]=[i(" Wenn das Entladen des Speichers immer erlaubt ist, wird das Fahrzeug aus dem Speicher geladen anstatt Strom aus dem Netz zu beziehen. ",-1),d("br",null,null,-1),i(' Im Modus "gesperrt, wenn Fahrzeug lädt", wird die Entladung nur zugelassen, wenn alle Fahrzeuge im Modus PV-Laden ohne Mindeststrom oder Zielladen mit PV-Überschuss laden.',-1),d("br",null,null,-1),i(' Wenn das Entladen des Speichers auf den Hausverbrauch begrenzt ist und mindestens Fahrzeuge nicht im Modus PV-Laden ohne Mindeststrom oder Zielladen lädt, wird die Entladung des Speichers in Höhe des Hausverbrauchs zugelassen. Kann die Entladung am Speicher nur komplett gesperrt werden, verhält sich diese Einstellung wie "gesperrt, wenn Fahrzeug lädt".',-1),d("br",null,null,-1),i(" Diese Einstellung übersteuert ggf die Einstellungen zur Speicher-Beachtung im Modus PV-Laden. ",-1)])),_:1},8,["model-value"])])):(a(),s("div",de,[n(l,{subtype:"info"},{default:r(()=>e[33]||(e[33]=[i(" Die Speicher-Entladung ins Fahrzeug kann nicht gesteuert werden, da die Entladeleistung nicht an den/die konfigurierten Speicher übergeben werden kann. ",-1)])),_:1,__:[33]})]))])):y("",!0)]))]),_:1}),n(w,{title:"OCPP Anbindung"},{default:r(()=>{var o,E,P,V;return[t.$store.state.mqtt["openWB/general/extern"]===!0?(a(),s("div",pe,[n(l,{subtype:"info"},{default:r(()=>e[34]||(e[34]=[i(' Diese Einstellungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. ',-1)])),_:1,__:[34]})])):(a(),s("div",ge,[n(p,{title:"OCPP aktivieren",buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":(o=t.$store.state.mqtt["openWB/optional/ocpp/config"])==null?void 0:o.active,"onUpdate:modelValue":e[11]||(e[11]=v=>t.updateState("openWB/optional/ocpp/config",v,"active"))},null,8,["model-value"]),((E=t.$store.state.mqtt["openWB/optional/ocpp/config"])==null?void 0:E.active)===!0?(a(),s("div",fe,[n(l,{subtype:"info"},{default:r(()=>e[35]||(e[35]=[i(" Die Ladepunkte übermitteln den ID-Tag, Heartbeat und den Zählerstand zum Zeitpunkt des Ansteckens, Absteckens und alle 5 Minuten. Eine Steuerung per OCPP ist nicht möglich.",-1),d("br",null,null,-1),i(" Alle Ladepunkte, die ihre Daten an das OCPP-Backend übermitteln sollen, müssen zunächst im OCPP-Backend angelegt werden. Die dort eingetragene Chargebox ID muss in der openWB in den Einstellungen des Ladepunkts eingetragen werden. ",-1)])),_:1,__:[35]}),n($,{title:"URL des OCPP-Backends",subtype:"url","model-value":(P=t.$store.state.mqtt["openWB/optional/ocpp/config"])==null?void 0:P.url,"onUpdate:modelValue":e[12]||(e[12]=v=>t.updateState("openWB/optional/ocpp/config",v,"url"))},null,8,["model-value"]),n(S,{title:"Version","not-selected":"Bitte auswählen",options:[{value:"ocpp1.6",text:"OCPP 1.6"},{value:"ocpp2.0.1",text:"OCPP 2.0.1"}],"model-value":(V=t.$store.state.mqtt["openWB/optional/ocpp/config"])==null?void 0:V.version,"onUpdate:modelValue":e[13]||(e[13]=v=>t.updateState("openWB/optional/ocpp/config",v,"version"))},null,8,["model-value"])])):y("",!0)]))]}),_:1}),n(T,{"form-name":"generalChargeConfigForm",onSave:e[14]||(e[14]=o=>t.$emit("save")),onReset:e[15]||(e[15]=o=>t.$emit("reset")),onDefaults:e[16]||(e[16]=o=>t.$emit("defaults"))})])])}const ce=B(X,[["render",me],["__file","/opt/openWB-dev/openwb-ui-settings/src/views/GeneralChargeConfig.vue"]]),ye=Object.freeze(Object.defineProperty({__proto__:null,default:ce},Symbol.toStringTag,{value:"Module"}));export{R as E,ye as G};
diff --git a/web/settings/assets/GeneralConfig-443e6d5a.js b/web/settings/assets/GeneralConfig-bd327700.js
similarity index 98%
rename from web/settings/assets/GeneralConfig-443e6d5a.js
rename to web/settings/assets/GeneralConfig-bd327700.js
index 8778066c65..95770a32ed 100644
--- a/web/settings/assets/GeneralConfig-443e6d5a.js
+++ b/web/settings/assets/GeneralConfig-bd327700.js
@@ -1 +1 @@
-import{l as J,a6 as I,a7 as x,F,a0 as j,Q as H,E as K,ag as Z,ah as Q,ai as X}from"./vendor-fortawesome-855c7d62.js";import{_ as O,C as Y}from"./index-d6a3d34f.js";import{_ as ee}from"./dynamic-import-helper-be004503.js";import{_ as W,u as m,l as r,m as g,x as c,E as o,B as a,F as w,G as n,A as p,a2 as te,a3 as ne,N as oe,z as f}from"./vendor-cc4615be.js";const ae={props:{webTheme:{type:Object,required:!0}},emits:["update:configuration"],methods:{updateConfiguration(t,e=void 0){this.$emit("update:configuration",{value:t,object:e})}}},se=W(ae,[["__file","/opt/openWB-dev/openwb-ui-settings/src/components/web_themes/WebThemeConfigMixin.vue"]]),le={name:"WebThemeFallback",mixins:[se]},re={class:"web-theme-fallback"},ie={key:1};function ue(t,e,u,B,V,h){const b=m("openwb-base-alert"),l=m("openwb-base-textarea");return r(),g("div",re,[Object.keys(t.webTheme.configuration).length==0?(r(),c(b,{key:0,subtype:"info"},{default:o(()=>[a(' Das Web Theme "'+w(t.webTheme.name)+'" bietet keine Einstellungen. ',1)]),_:1})):(r(),g("div",ie,[n(b,{subtype:"warning"},{default:o(()=>[a(' Es wurde keine Konfigurationsseite für das Web Theme "'+w(t.webTheme.name)+'" gefunden. Die Einstellungen können als JSON direkt bearbeitet werden. ',1)]),_:1}),n(l,{title:"Theme Konfiguration",subtype:"json","model-value":t.webTheme.configuration,"onUpdate:modelValue":e[0]||(e[0]=_=>t.updateConfiguration(_,"configuration"))},{help:o(()=>e[1]||(e[1]=[a(" Bitte prüfen Sie, ob die Eingaben richtig interpretiert werden. ",-1)])),_:1},8,["model-value"]),n(b,{subtype:"info"},{default:o(()=>[p("pre",null,w(JSON.stringify(t.webTheme.configuration,void 0,2)),1)]),_:1})]))])}const de=W(le,[["render",ue],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/web_themes/OpenwbWebThemeFallback.vue"]]);J.add(I,x);const ge={name:"OpenwbWebThemeProxy",components:{FontAwesomeIcon:F},props:{webTheme:{type:Object,required:!0}},emits:["update:configuration"],methods:{getThemeComponent(){return console.debug(`loading web theme: ${this.webTheme.type}`),te({loader:()=>ee(Object.assign({"./koala/webTheme.vue":()=>O(()=>import("./webTheme-d0efcdef.js"),["assets/webTheme-d0efcdef.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./standard_legacy/webTheme.vue":()=>O(()=>import("./webTheme-81cb352e.js"),["assets/webTheme-81cb352e.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"])}),`./${this.webTheme.type}/webTheme.vue`),errorComponent:de})},updateConfiguration(t){this.$emit("update:configuration",t)}}};function pe(t,e,u,B,V,h){const b=m("font-awesome-icon"),l=m("openwb-base-alert"),_=m("openwb-base-heading");return r(),g(oe,null,[u.webTheme.official?(r(),c(l,{key:0,subtype:"success"},{default:o(()=>[n(b,{icon:["fas","certificate"]}),a(' Das ausgewählte Web Theme "'+w(u.webTheme.name)+'" wird von openWB gepflegt. ',1)]),_:1})):(r(),c(l,{key:1,subtype:"info"},{default:o(()=>[n(b,{icon:["fas","people-group"]}),e[1]||(e[1]=a(" Das ausgewählte Theme wird in unserer Community gepflegt. Rückfragen oder Probleme bitte im Forum diskutieren. ",-1))]),_:1,__:[1]})),n(_,null,{default:o(()=>[a(' Einstellungen für Web Theme "'+w(u.webTheme.name)+'" ',1)]),_:1}),(r(),c(ne(h.getThemeComponent()),{"web-theme":u.webTheme,"onUpdate:configuration":e[0]||(e[0]=v=>h.updateConfiguration(v))},null,40,["web-theme"]))],64)}const me=W(ge,[["render",pe],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/web_themes/OpenwbWebThemeProxy.vue"]]);J.add(j,H,K,Z,Q,X);const be={name:"OpenwbGeneralConfigView",components:{OpenwbWebThemeProxy:me,FontAwesomeIcon:F},mixins:[Y],props:{installAssistantActive:{type:Boolean,required:!1,default:!1}},emits:["save","reset","defaults"],data(){return{mqttTopicsToSubscribe:["openWB/general/charge_log_data_config","openWB/general/control_interval","openWB/general/extern","openWB/general/external_buttons_hw","openWB/general/grid_protection_configured","openWB/general/http_api","openWB/general/modbus_control","openWB/general/notifications/configuration","openWB/general/notifications/plug","openWB/general/notifications/selected","openWB/general/notifications/smart_home","openWB/general/notifications/start_charging","openWB/general/notifications/stop_charging","openWB/general/price_kwh","openWB/general/range_unit","openWB/general/web_theme","openWB/system/configurable/web_themes","openWB/system/ip_address"]}},computed:{webThemeList:{get(){return this.$store.state.mqtt["openWB/system/configurable/web_themes"]}},webThemeGroupList:{get(){var e;let t=[{label:"openWB",options:[]},{label:"Community",options:[]}];return(e=this.webThemeList)==null||e.forEach(u=>{u.official===!0?t[0].options.push(u):t[1].options.push(u)}),t}}},methods:{getIpAddress(){return this.$store.state.mqtt["openWB/system/ip_address"]},getWebThemeDefaults(t){const e=this.webThemeList.find(u=>u.value==t);return Object.prototype.hasOwnProperty.call(e,"defaults")?{...JSON.parse(JSON.stringify(e.defaults))}:(console.warn("no default configuration found for web theme type!",t),{})},updateSelectedWebTheme(t){this.updateState("openWB/general/web_theme",this.getWebThemeDefaults(t))},updateConfiguration(t,e){console.debug("updateConfiguration",t,e),this.updateState(t,e.value,e.object)}}},fe={class:"generalConfig"},_e={name:"generalConfigForm"},ce={key:0},he={key:1},we={key:1},ve={key:0},We={key:0},Be={key:1},Ve={key:0},ye={key:1},Se={key:0},ke={key:0},Te={key:1};function $e(t,e,u,B,V,h){const b=m("openwb-base-alert"),l=m("openwb-base-button-group-input"),_=m("openwb-base-card"),v=m("openwb-base-heading"),R=m("openwb-base-select-input"),M=m("openwb-web-theme-proxy"),d=m("font-awesome-icon"),G=m("openwb-base-submit-buttons");return r(),g("div",fe,[p("form",_e,[n(_,{title:"Steuerungsmodus"},{default:o(()=>[n(b,{subtype:"info"},{default:o(()=>e[27]||(e[27]=[p("p",null,' Wird für den Steuerungsmodus "primary" gewählt, übernimmt diese openWB die alleinige Regelung und steuert ggf. vorhandene weitere openWB (z.B. secondary openWB, openWB Pro, Satellit u.a.) fern. Sie werden in den Ladepunkt-Einstellungen der primary-openWB hinzugefügt. ',-1),p("p",null,[a(' 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.'),p("br"),a(" Eine bebilderte Anleitung zur Konfiguration der Ladepunkte findest Du auf der "),p("a",{href:"https://openwb.de/main/?page_id=1025",target:"_blank",rel:"noopener noreferrer"}," Homepage "),a(". ")],-1)])),_:1,__:[27]}),n(l,{title:"Steuerungsmodus",buttons:[{buttonValue:!1,text:"primary",class:"btn-outline-danger"},{buttonValue:!0,text:"secondary",class:"btn-outline-success"}],"model-value":t.$store.state.mqtt["openWB/general/extern"],"onUpdate:modelValue":e[0]||(e[0]=i=>t.updateState("openWB/general/extern",i))},null,8,["model-value"]),u.installAssistantActive?f("",!0):(r(),g("div",ce,[t.$store.state.mqtt["openWB/general/extern"]===!0?(r(),c(l,{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":t.$store.state.mqtt["openWB/general/modbus_control"],"onUpdate:modelValue":e[1]||(e[1]=i=>t.updateState("openWB/general/modbus_control",i))},{help:o(()=>e[28]||(e[28]=[a(" Im secondary-Modus kann die openWB über die Modbus-Schnittstelle gesteuert werden. Die Register sind ",-1),p("a",{href:"https://openwb.de/main/wp-content/uploads/2023/10/ModbusTCP-openWB-series2-Pro-1.pdf",target:"_blank",rel:"noopener noreferrer"}," hier ",-1),a(" dokumentiert. Bei aktivierter Modbus-Schnittstelle darf die openWB nicht von einer primary-openWB gesteuert werden. ",-1)])),_:1},8,["model-value"])):f("",!0),t.$store.state.mqtt["openWB/general/extern"]===!0&&t.$store.state.mqtt["openWB/general/modbus_control"]!==!0?(r(),g("div",he,[n(b,{subtype:"info",class:"mb-2"},{default:o(()=>e[29]||(e[29]=[a(' Wenn die Steuerung über Modbus auf "Aus" geändert wird, muss danach ein Neustart durchgeführt werden! ',-1)])),_:1,__:[29]})])):f("",!0)])),u.installAssistantActive?f("",!0):(r(),g("div",we,[n(l,{title:"HTTP-API",buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}],"model-value":t.$store.state.mqtt["openWB/general/http_api"],"onUpdate:modelValue":e[2]||(e[2]=i=>t.updateState("openWB/general/http_api",i))},{help:o(()=>e[30]||(e[30]=[p("p",null,[a(" Mit der HTTP-API kann man den Wert eines MQTT-Topics per HTTPs abfragen oder neu setzen. Die Schnittstelle ist "),p("a",{href:"https://openwb.de/main/wp-content/uploads/2025/02/HTTP-API-fuer-openWB-series1-und-series2.pdf",target:"_blank",rel:"noopener noreferrer"}," hier "),a(" dokumentiert. ")],-1)])),_:1},8,["model-value"])]))]),_:1}),u.installAssistantActive?f("",!0):(r(),g("div",ve,[n(_,{title:"Hardware"},{default:o(()=>[t.$store.state.mqtt["openWB/general/extern"]===!0?(r(),g("div",We,[n(b,{subtype:"info"},{default:o(()=>e[31]||(e[31]=[a(' Diese Einstellungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. ',-1)])),_:1,__:[31]})])):f("",!0),t.$store.state.mqtt["openWB/general/extern"]===!1?(r(),g("div",Be,[n(l,{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":t.$store.state.mqtt["openWB/general/control_interval"],"onUpdate:modelValue":e[3]||(e[3]=i=>t.updateState("openWB/general/control_interval",i))},{help:o(()=>e[32]||(e[32]=[a(' 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.',-1),p("br",null,null,-1),p("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)])),_:1},8,["model-value"]),n(l,{title:"Netzschutz",buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}],"model-value":t.$store.state.mqtt["openWB/general/grid_protection_configured"],"onUpdate:modelValue":e[4]||(e[4]=i=>t.updateState("openWB/general/grid_protection_configured",i))},{help:o(()=>e[33]||(e[33]=[a(' 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.',-1),p("br",null,null,-1),p("span",{class:"text-danger"}," Die Option ist nur aktiv, wenn der EVU-Zähler die Frequenz übermittelt. ",-1)])),_:1},8,["model-value"])])):f("",!0)]),_:1})])),u.installAssistantActive?f("",!0):(r(),c(_,{key:1,title:"Darstellung"},{default:o(()=>[t.$store.state.mqtt["openWB/general/extern"]===!0?(r(),g("div",Ve,[n(b,{subtype:"info"},{default:o(()=>e[34]||(e[34]=[a(' Diese Einstellungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. ',-1)])),_:1,__:[34]})])):(r(),g("div",ye,[n(v,{class:"mt-0"},{default:o(()=>e[35]||(e[35]=[a(" Hauptseite ",-1)])),_:1,__:[35]}),t.$store.state.mqtt["openWB/general/web_theme"]!==void 0?(r(),g("div",Se,[n(R,{class:"mb-2",title:"Theme",groups:h.webThemeGroupList,"model-value":t.$store.state.mqtt["openWB/general/web_theme"].type,"onUpdate:modelValue":e[5]||(e[5]=i=>h.updateSelectedWebTheme(i))},null,8,["groups","model-value"]),t.$store.state.mqtt["openWB/general/web_theme"].type?(r(),c(M,{key:0,"web-theme":t.$store.state.mqtt["openWB/general/web_theme"],"onUpdate:configuration":e[6]||(e[6]=i=>h.updateConfiguration("openWB/general/web_theme",i))},null,8,["web-theme"])):f("",!0)])):f("",!0)]))]),_:1})),u.installAssistantActive?f("",!0):(r(),c(_,{key:2,title:"Lade-Protokoll"},{default:o(()=>{var i,y,S,k,T,$,q,C,N,z,A,D,E,U,P,L;return[t.$store.state.mqtt["openWB/general/extern"]===!0?(r(),g("div",ke,[n(b,{subtype:"info"},{default:o(()=>e[36]||(e[36]=[a(' Diese Einstellungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. ',-1)])),_:1,__:[36]})])):(r(),g("div",Te,[n(l,{title:"Einheit für Entfernungen","model-value":t.$store.state.mqtt["openWB/general/range_unit"],buttons:[{buttonValue:"km",text:"Kilometer"},{buttonValue:"mi",text:"Meilen"}],"onUpdate:modelValue":e[7]||(e[7]=s=>t.updateState("openWB/general/range_unit",s))},null,8,["model-value"]),n(v,null,{default:o(()=>e[37]||(e[37]=[a(" Auswahl der Datenfelder ",-1)])),_:1,__:[37]}),n(l,{buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":(i=t.$store.state.mqtt["openWB/general/charge_log_data_config"])==null?void 0:i.time_begin,"onUpdate:modelValue":e[8]||(e[8]=s=>t.updateState("openWB/general/charge_log_data_config",s,"time_begin"))},{title:o(()=>[n(d,{icon:["fas","calendar"]}),e[38]||(e[38]=a(" Beginn ",-1))]),_:1},8,["model-value"]),n(l,{buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":(y=t.$store.state.mqtt["openWB/general/charge_log_data_config"])==null?void 0:y.time_end,"onUpdate:modelValue":e[9]||(e[9]=s=>t.updateState("openWB/general/charge_log_data_config",s,"time_end"))},{title:o(()=>[n(d,{icon:["fas","calendar"]}),e[39]||(e[39]=a(" Ende ",-1))]),_:1},8,["model-value"]),n(l,{buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":(S=t.$store.state.mqtt["openWB/general/charge_log_data_config"])==null?void 0:S.time_time_charged,"onUpdate:modelValue":e[10]||(e[10]=s=>t.updateState("openWB/general/charge_log_data_config",s,"time_time_charged"))},{title:o(()=>[n(d,{icon:["fas","clock"]}),e[40]||(e[40]=a(" Dauer ",-1))]),_:1},8,["model-value"]),n(l,{buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":(k=t.$store.state.mqtt["openWB/general/charge_log_data_config"])==null?void 0:k.data_costs,"onUpdate:modelValue":e[11]||(e[11]=s=>t.updateState("openWB/general/charge_log_data_config",s,"data_costs"))},{title:o(()=>[n(d,{icon:["fas","coins"]}),e[41]||(e[41]=a(" Kosten ",-1))]),_:1},8,["model-value"]),n(l,{buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":(T=t.$store.state.mqtt["openWB/general/charge_log_data_config"])==null?void 0:T.data_power_source,"onUpdate:modelValue":e[12]||(e[12]=s=>t.updateState("openWB/general/charge_log_data_config",s,"data_power_source"))},{title:o(()=>[n(d,{icon:["fas","pie-chart"]}),e[42]||(e[42]=a(" Energieaufteilung ",-1))]),_:1},8,["model-value"]),n(l,{buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":($=t.$store.state.mqtt["openWB/general/charge_log_data_config"])==null?void 0:$.vehicle_name,"onUpdate:modelValue":e[13]||(e[13]=s=>t.updateState("openWB/general/charge_log_data_config",s,"vehicle_name"))},{title:o(()=>[n(d,{icon:["fas","car"]}),e[43]||(e[43]=a(" Name ",-1))]),_:1},8,["model-value"]),n(l,{buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":(q=t.$store.state.mqtt["openWB/general/charge_log_data_config"])==null?void 0:q.vehicle_chargemode,"onUpdate:modelValue":e[14]||(e[14]=s=>t.updateState("openWB/general/charge_log_data_config",s,"vehicle_chargemode"))},{title:o(()=>[n(d,{icon:["fas","car"]}),e[44]||(e[44]=a(" Lademodus ",-1))]),_:1},8,["model-value"]),n(l,{buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":(C=t.$store.state.mqtt["openWB/general/charge_log_data_config"])==null?void 0:C.vehicle_prio,"onUpdate:modelValue":e[15]||(e[15]=s=>t.updateState("openWB/general/charge_log_data_config",s,"vehicle_prio"))},{title:o(()=>[n(d,{icon:["fas","car"]}),e[45]||(e[45]=a(" Priorität ",-1))]),_:1},8,["model-value"]),n(l,{buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":(N=t.$store.state.mqtt["openWB/general/charge_log_data_config"])==null?void 0:N.vehicle_rfid,"onUpdate:modelValue":e[16]||(e[16]=s=>t.updateState("openWB/general/charge_log_data_config",s,"vehicle_rfid"))},{title:o(()=>[n(d,{icon:["fas","car"]}),e[46]||(e[46]=a(" ID-Tag ",-1))]),_:1},8,["model-value"]),n(l,{buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":(z=t.$store.state.mqtt["openWB/general/charge_log_data_config"])==null?void 0:z.vehicle_soc_at_start,"onUpdate:modelValue":e[17]||(e[17]=s=>t.updateState("openWB/general/charge_log_data_config",s,"vehicle_soc_at_start"))},{title:o(()=>[n(d,{icon:["fas","car"]}),e[47]||(e[47]=a(" SoC bei Ladebeginn ",-1))]),_:1},8,["model-value"]),n(l,{buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":(A=t.$store.state.mqtt["openWB/general/charge_log_data_config"])==null?void 0:A.vehicle_soc_at_end,"onUpdate:modelValue":e[18]||(e[18]=s=>t.updateState("openWB/general/charge_log_data_config",s,"vehicle_soc_at_end"))},{title:o(()=>[n(d,{icon:["fas","car"]}),e[48]||(e[48]=a(" SoC bei Ladende ",-1))]),_:1},8,["model-value"]),n(l,{buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":(D=t.$store.state.mqtt["openWB/general/charge_log_data_config"])==null?void 0:D.chargepoint_name,"onUpdate:modelValue":e[19]||(e[19]=s=>t.updateState("openWB/general/charge_log_data_config",s,"chargepoint_name"))},{title:o(()=>[n(d,{icon:["fas","charging-station"]}),e[49]||(e[49]=a(" Name ",-1))]),_:1},8,["model-value"]),n(l,{buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":(E=t.$store.state.mqtt["openWB/general/charge_log_data_config"])==null?void 0:E.chargepoint_serial_number,"onUpdate:modelValue":e[20]||(e[20]=s=>t.updateState("openWB/general/charge_log_data_config",s,"chargepoint_serial_number"))},{title:o(()=>[n(d,{icon:["fas","charging-station"]}),e[50]||(e[50]=a(" Seriennummer ",-1))]),_:1},8,["model-value"]),n(l,{buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":(U=t.$store.state.mqtt["openWB/general/charge_log_data_config"])==null?void 0:U.data_imported_since_mode_switch,"onUpdate:modelValue":e[21]||(e[21]=s=>t.updateState("openWB/general/charge_log_data_config",s,"data_imported_since_mode_switch"))},{title:o(()=>[n(d,{icon:["fas","charging-station"]}),e[51]||(e[51]=a(" Geladene Energie ",-1))]),_:1},8,["model-value"]),n(l,{buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":(P=t.$store.state.mqtt["openWB/general/charge_log_data_config"])==null?void 0:P.chargepoint_imported_at_start,"onUpdate:modelValue":e[22]||(e[22]=s=>t.updateState("openWB/general/charge_log_data_config",s,"chargepoint_imported_at_start"))},{title:o(()=>[n(d,{icon:["fas","charging-station"]}),e[52]||(e[52]=a(" Zählerstand bei Ladebeginn ",-1))]),_:1},8,["model-value"]),n(l,{buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":(L=t.$store.state.mqtt["openWB/general/charge_log_data_config"])==null?void 0:L.chargepoint_imported_at_end,"onUpdate:modelValue":e[23]||(e[23]=s=>t.updateState("openWB/general/charge_log_data_config",s,"chargepoint_imported_at_end"))},{title:o(()=>[n(d,{icon:["fas","charging-station"]}),e[53]||(e[53]=a(" Zählerstand bei Ladeende ",-1))]),_:1},8,["model-value"])]))]}),_:1})),n(G,{"form-name":"generalConfigForm",onSave:e[24]||(e[24]=i=>t.$emit("save")),onReset:e[25]||(e[25]=i=>t.$emit("reset")),onDefaults:e[26]||(e[26]=i=>t.$emit("defaults"))})])])}const qe=W(be,[["render",$e],["__file","/opt/openWB-dev/openwb-ui-settings/src/views/GeneralConfig.vue"]]),De=Object.freeze(Object.defineProperty({__proto__:null,default:qe},Symbol.toStringTag,{value:"Module"}));export{qe as G,se as W,De as a};
+import{l as J,a6 as I,a7 as x,F,a0 as j,Q as H,E as K,ag as Z,ah as Q,ai as X}from"./vendor-fortawesome-855c7d62.js";import{_ as O,C as Y}from"./index-5b5e1b75.js";import{_ as ee}from"./dynamic-import-helper-be004503.js";import{_ as W,u as m,l as r,m as g,x as c,E as o,B as a,F as w,G as n,A as p,a2 as te,a3 as ne,N as oe,z as f}from"./vendor-cc4615be.js";const ae={props:{webTheme:{type:Object,required:!0}},emits:["update:configuration"],methods:{updateConfiguration(t,e=void 0){this.$emit("update:configuration",{value:t,object:e})}}},se=W(ae,[["__file","/opt/openWB-dev/openwb-ui-settings/src/components/web_themes/WebThemeConfigMixin.vue"]]),le={name:"WebThemeFallback",mixins:[se]},re={class:"web-theme-fallback"},ie={key:1};function ue(t,e,u,B,V,h){const b=m("openwb-base-alert"),l=m("openwb-base-textarea");return r(),g("div",re,[Object.keys(t.webTheme.configuration).length==0?(r(),c(b,{key:0,subtype:"info"},{default:o(()=>[a(' Das Web Theme "'+w(t.webTheme.name)+'" bietet keine Einstellungen. ',1)]),_:1})):(r(),g("div",ie,[n(b,{subtype:"warning"},{default:o(()=>[a(' Es wurde keine Konfigurationsseite für das Web Theme "'+w(t.webTheme.name)+'" gefunden. Die Einstellungen können als JSON direkt bearbeitet werden. ',1)]),_:1}),n(l,{title:"Theme Konfiguration",subtype:"json","model-value":t.webTheme.configuration,"onUpdate:modelValue":e[0]||(e[0]=_=>t.updateConfiguration(_,"configuration"))},{help:o(()=>e[1]||(e[1]=[a(" Bitte prüfen Sie, ob die Eingaben richtig interpretiert werden. ",-1)])),_:1},8,["model-value"]),n(b,{subtype:"info"},{default:o(()=>[p("pre",null,w(JSON.stringify(t.webTheme.configuration,void 0,2)),1)]),_:1})]))])}const de=W(le,[["render",ue],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/web_themes/OpenwbWebThemeFallback.vue"]]);J.add(I,x);const ge={name:"OpenwbWebThemeProxy",components:{FontAwesomeIcon:F},props:{webTheme:{type:Object,required:!0}},emits:["update:configuration"],methods:{getThemeComponent(){return console.debug(`loading web theme: ${this.webTheme.type}`),te({loader:()=>ee(Object.assign({"./koala/webTheme.vue":()=>O(()=>import("./webTheme-b08c3f46.js"),["assets/webTheme-b08c3f46.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./standard_legacy/webTheme.vue":()=>O(()=>import("./webTheme-f6f9eecb.js"),["assets/webTheme-f6f9eecb.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"])}),`./${this.webTheme.type}/webTheme.vue`),errorComponent:de})},updateConfiguration(t){this.$emit("update:configuration",t)}}};function pe(t,e,u,B,V,h){const b=m("font-awesome-icon"),l=m("openwb-base-alert"),_=m("openwb-base-heading");return r(),g(oe,null,[u.webTheme.official?(r(),c(l,{key:0,subtype:"success"},{default:o(()=>[n(b,{icon:["fas","certificate"]}),a(' Das ausgewählte Web Theme "'+w(u.webTheme.name)+'" wird von openWB gepflegt. ',1)]),_:1})):(r(),c(l,{key:1,subtype:"info"},{default:o(()=>[n(b,{icon:["fas","people-group"]}),e[1]||(e[1]=a(" Das ausgewählte Theme wird in unserer Community gepflegt. Rückfragen oder Probleme bitte im Forum diskutieren. ",-1))]),_:1,__:[1]})),n(_,null,{default:o(()=>[a(' Einstellungen für Web Theme "'+w(u.webTheme.name)+'" ',1)]),_:1}),(r(),c(ne(h.getThemeComponent()),{"web-theme":u.webTheme,"onUpdate:configuration":e[0]||(e[0]=v=>h.updateConfiguration(v))},null,40,["web-theme"]))],64)}const me=W(ge,[["render",pe],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/web_themes/OpenwbWebThemeProxy.vue"]]);J.add(j,H,K,Z,Q,X);const be={name:"OpenwbGeneralConfigView",components:{OpenwbWebThemeProxy:me,FontAwesomeIcon:F},mixins:[Y],props:{installAssistantActive:{type:Boolean,required:!1,default:!1}},emits:["save","reset","defaults"],data(){return{mqttTopicsToSubscribe:["openWB/general/charge_log_data_config","openWB/general/control_interval","openWB/general/extern","openWB/general/external_buttons_hw","openWB/general/grid_protection_configured","openWB/general/http_api","openWB/general/modbus_control","openWB/general/notifications/configuration","openWB/general/notifications/plug","openWB/general/notifications/selected","openWB/general/notifications/smart_home","openWB/general/notifications/start_charging","openWB/general/notifications/stop_charging","openWB/general/price_kwh","openWB/general/range_unit","openWB/general/web_theme","openWB/system/configurable/web_themes","openWB/system/ip_address"]}},computed:{webThemeList:{get(){return this.$store.state.mqtt["openWB/system/configurable/web_themes"]}},webThemeGroupList:{get(){var e;let t=[{label:"openWB",options:[]},{label:"Community",options:[]}];return(e=this.webThemeList)==null||e.forEach(u=>{u.official===!0?t[0].options.push(u):t[1].options.push(u)}),t}}},methods:{getIpAddress(){return this.$store.state.mqtt["openWB/system/ip_address"]},getWebThemeDefaults(t){const e=this.webThemeList.find(u=>u.value==t);return Object.prototype.hasOwnProperty.call(e,"defaults")?{...JSON.parse(JSON.stringify(e.defaults))}:(console.warn("no default configuration found for web theme type!",t),{})},updateSelectedWebTheme(t){this.updateState("openWB/general/web_theme",this.getWebThemeDefaults(t))},updateConfiguration(t,e){console.debug("updateConfiguration",t,e),this.updateState(t,e.value,e.object)}}},fe={class:"generalConfig"},_e={name:"generalConfigForm"},ce={key:0},he={key:1},we={key:1},ve={key:0},We={key:0},Be={key:1},Ve={key:0},ye={key:1},Se={key:0},ke={key:0},Te={key:1};function $e(t,e,u,B,V,h){const b=m("openwb-base-alert"),l=m("openwb-base-button-group-input"),_=m("openwb-base-card"),v=m("openwb-base-heading"),R=m("openwb-base-select-input"),M=m("openwb-web-theme-proxy"),d=m("font-awesome-icon"),G=m("openwb-base-submit-buttons");return r(),g("div",fe,[p("form",_e,[n(_,{title:"Steuerungsmodus"},{default:o(()=>[n(b,{subtype:"info"},{default:o(()=>e[27]||(e[27]=[p("p",null,' Wird für den Steuerungsmodus "primary" gewählt, übernimmt diese openWB die alleinige Regelung und steuert ggf. vorhandene weitere openWB (z.B. secondary openWB, openWB Pro, Satellit u.a.) fern. Sie werden in den Ladepunkt-Einstellungen der primary-openWB hinzugefügt. ',-1),p("p",null,[a(' 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.'),p("br"),a(" Eine bebilderte Anleitung zur Konfiguration der Ladepunkte findest Du auf der "),p("a",{href:"https://openwb.de/main/?page_id=1025",target:"_blank",rel:"noopener noreferrer"}," Homepage "),a(". ")],-1)])),_:1,__:[27]}),n(l,{title:"Steuerungsmodus",buttons:[{buttonValue:!1,text:"primary",class:"btn-outline-danger"},{buttonValue:!0,text:"secondary",class:"btn-outline-success"}],"model-value":t.$store.state.mqtt["openWB/general/extern"],"onUpdate:modelValue":e[0]||(e[0]=i=>t.updateState("openWB/general/extern",i))},null,8,["model-value"]),u.installAssistantActive?f("",!0):(r(),g("div",ce,[t.$store.state.mqtt["openWB/general/extern"]===!0?(r(),c(l,{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":t.$store.state.mqtt["openWB/general/modbus_control"],"onUpdate:modelValue":e[1]||(e[1]=i=>t.updateState("openWB/general/modbus_control",i))},{help:o(()=>e[28]||(e[28]=[a(" Im secondary-Modus kann die openWB über die Modbus-Schnittstelle gesteuert werden. Die Register sind ",-1),p("a",{href:"https://openwb.de/main/wp-content/uploads/2023/10/ModbusTCP-openWB-series2-Pro-1.pdf",target:"_blank",rel:"noopener noreferrer"}," hier ",-1),a(" dokumentiert. Bei aktivierter Modbus-Schnittstelle darf die openWB nicht von einer primary-openWB gesteuert werden. ",-1)])),_:1},8,["model-value"])):f("",!0),t.$store.state.mqtt["openWB/general/extern"]===!0&&t.$store.state.mqtt["openWB/general/modbus_control"]!==!0?(r(),g("div",he,[n(b,{subtype:"info",class:"mb-2"},{default:o(()=>e[29]||(e[29]=[a(' Wenn die Steuerung über Modbus auf "Aus" geändert wird, muss danach ein Neustart durchgeführt werden! ',-1)])),_:1,__:[29]})])):f("",!0)])),u.installAssistantActive?f("",!0):(r(),g("div",we,[n(l,{title:"HTTP-API",buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}],"model-value":t.$store.state.mqtt["openWB/general/http_api"],"onUpdate:modelValue":e[2]||(e[2]=i=>t.updateState("openWB/general/http_api",i))},{help:o(()=>e[30]||(e[30]=[p("p",null,[a(" Mit der HTTP-API kann man den Wert eines MQTT-Topics per HTTPs abfragen oder neu setzen. Die Schnittstelle ist "),p("a",{href:"https://openwb.de/main/wp-content/uploads/2025/02/HTTP-API-fuer-openWB-series1-und-series2.pdf",target:"_blank",rel:"noopener noreferrer"}," hier "),a(" dokumentiert. ")],-1)])),_:1},8,["model-value"])]))]),_:1}),u.installAssistantActive?f("",!0):(r(),g("div",ve,[n(_,{title:"Hardware"},{default:o(()=>[t.$store.state.mqtt["openWB/general/extern"]===!0?(r(),g("div",We,[n(b,{subtype:"info"},{default:o(()=>e[31]||(e[31]=[a(' Diese Einstellungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. ',-1)])),_:1,__:[31]})])):f("",!0),t.$store.state.mqtt["openWB/general/extern"]===!1?(r(),g("div",Be,[n(l,{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":t.$store.state.mqtt["openWB/general/control_interval"],"onUpdate:modelValue":e[3]||(e[3]=i=>t.updateState("openWB/general/control_interval",i))},{help:o(()=>e[32]||(e[32]=[a(' 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.',-1),p("br",null,null,-1),p("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)])),_:1},8,["model-value"]),n(l,{title:"Netzschutz",buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}],"model-value":t.$store.state.mqtt["openWB/general/grid_protection_configured"],"onUpdate:modelValue":e[4]||(e[4]=i=>t.updateState("openWB/general/grid_protection_configured",i))},{help:o(()=>e[33]||(e[33]=[a(' 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.',-1),p("br",null,null,-1),p("span",{class:"text-danger"}," Die Option ist nur aktiv, wenn der EVU-Zähler die Frequenz übermittelt. ",-1)])),_:1},8,["model-value"])])):f("",!0)]),_:1})])),u.installAssistantActive?f("",!0):(r(),c(_,{key:1,title:"Darstellung"},{default:o(()=>[t.$store.state.mqtt["openWB/general/extern"]===!0?(r(),g("div",Ve,[n(b,{subtype:"info"},{default:o(()=>e[34]||(e[34]=[a(' Diese Einstellungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. ',-1)])),_:1,__:[34]})])):(r(),g("div",ye,[n(v,{class:"mt-0"},{default:o(()=>e[35]||(e[35]=[a(" Hauptseite ",-1)])),_:1,__:[35]}),t.$store.state.mqtt["openWB/general/web_theme"]!==void 0?(r(),g("div",Se,[n(R,{class:"mb-2",title:"Theme",groups:h.webThemeGroupList,"model-value":t.$store.state.mqtt["openWB/general/web_theme"].type,"onUpdate:modelValue":e[5]||(e[5]=i=>h.updateSelectedWebTheme(i))},null,8,["groups","model-value"]),t.$store.state.mqtt["openWB/general/web_theme"].type?(r(),c(M,{key:0,"web-theme":t.$store.state.mqtt["openWB/general/web_theme"],"onUpdate:configuration":e[6]||(e[6]=i=>h.updateConfiguration("openWB/general/web_theme",i))},null,8,["web-theme"])):f("",!0)])):f("",!0)]))]),_:1})),u.installAssistantActive?f("",!0):(r(),c(_,{key:2,title:"Lade-Protokoll"},{default:o(()=>{var i,y,S,k,T,$,q,C,N,z,A,D,E,U,P,L;return[t.$store.state.mqtt["openWB/general/extern"]===!0?(r(),g("div",ke,[n(b,{subtype:"info"},{default:o(()=>e[36]||(e[36]=[a(' Diese Einstellungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. ',-1)])),_:1,__:[36]})])):(r(),g("div",Te,[n(l,{title:"Einheit für Entfernungen","model-value":t.$store.state.mqtt["openWB/general/range_unit"],buttons:[{buttonValue:"km",text:"Kilometer"},{buttonValue:"mi",text:"Meilen"}],"onUpdate:modelValue":e[7]||(e[7]=s=>t.updateState("openWB/general/range_unit",s))},null,8,["model-value"]),n(v,null,{default:o(()=>e[37]||(e[37]=[a(" Auswahl der Datenfelder ",-1)])),_:1,__:[37]}),n(l,{buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":(i=t.$store.state.mqtt["openWB/general/charge_log_data_config"])==null?void 0:i.time_begin,"onUpdate:modelValue":e[8]||(e[8]=s=>t.updateState("openWB/general/charge_log_data_config",s,"time_begin"))},{title:o(()=>[n(d,{icon:["fas","calendar"]}),e[38]||(e[38]=a(" Beginn ",-1))]),_:1},8,["model-value"]),n(l,{buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":(y=t.$store.state.mqtt["openWB/general/charge_log_data_config"])==null?void 0:y.time_end,"onUpdate:modelValue":e[9]||(e[9]=s=>t.updateState("openWB/general/charge_log_data_config",s,"time_end"))},{title:o(()=>[n(d,{icon:["fas","calendar"]}),e[39]||(e[39]=a(" Ende ",-1))]),_:1},8,["model-value"]),n(l,{buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":(S=t.$store.state.mqtt["openWB/general/charge_log_data_config"])==null?void 0:S.time_time_charged,"onUpdate:modelValue":e[10]||(e[10]=s=>t.updateState("openWB/general/charge_log_data_config",s,"time_time_charged"))},{title:o(()=>[n(d,{icon:["fas","clock"]}),e[40]||(e[40]=a(" Dauer ",-1))]),_:1},8,["model-value"]),n(l,{buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":(k=t.$store.state.mqtt["openWB/general/charge_log_data_config"])==null?void 0:k.data_costs,"onUpdate:modelValue":e[11]||(e[11]=s=>t.updateState("openWB/general/charge_log_data_config",s,"data_costs"))},{title:o(()=>[n(d,{icon:["fas","coins"]}),e[41]||(e[41]=a(" Kosten ",-1))]),_:1},8,["model-value"]),n(l,{buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":(T=t.$store.state.mqtt["openWB/general/charge_log_data_config"])==null?void 0:T.data_power_source,"onUpdate:modelValue":e[12]||(e[12]=s=>t.updateState("openWB/general/charge_log_data_config",s,"data_power_source"))},{title:o(()=>[n(d,{icon:["fas","pie-chart"]}),e[42]||(e[42]=a(" Energieaufteilung ",-1))]),_:1},8,["model-value"]),n(l,{buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":($=t.$store.state.mqtt["openWB/general/charge_log_data_config"])==null?void 0:$.vehicle_name,"onUpdate:modelValue":e[13]||(e[13]=s=>t.updateState("openWB/general/charge_log_data_config",s,"vehicle_name"))},{title:o(()=>[n(d,{icon:["fas","car"]}),e[43]||(e[43]=a(" Name ",-1))]),_:1},8,["model-value"]),n(l,{buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":(q=t.$store.state.mqtt["openWB/general/charge_log_data_config"])==null?void 0:q.vehicle_chargemode,"onUpdate:modelValue":e[14]||(e[14]=s=>t.updateState("openWB/general/charge_log_data_config",s,"vehicle_chargemode"))},{title:o(()=>[n(d,{icon:["fas","car"]}),e[44]||(e[44]=a(" Lademodus ",-1))]),_:1},8,["model-value"]),n(l,{buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":(C=t.$store.state.mqtt["openWB/general/charge_log_data_config"])==null?void 0:C.vehicle_prio,"onUpdate:modelValue":e[15]||(e[15]=s=>t.updateState("openWB/general/charge_log_data_config",s,"vehicle_prio"))},{title:o(()=>[n(d,{icon:["fas","car"]}),e[45]||(e[45]=a(" Priorität ",-1))]),_:1},8,["model-value"]),n(l,{buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":(N=t.$store.state.mqtt["openWB/general/charge_log_data_config"])==null?void 0:N.vehicle_rfid,"onUpdate:modelValue":e[16]||(e[16]=s=>t.updateState("openWB/general/charge_log_data_config",s,"vehicle_rfid"))},{title:o(()=>[n(d,{icon:["fas","car"]}),e[46]||(e[46]=a(" ID-Tag ",-1))]),_:1},8,["model-value"]),n(l,{buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":(z=t.$store.state.mqtt["openWB/general/charge_log_data_config"])==null?void 0:z.vehicle_soc_at_start,"onUpdate:modelValue":e[17]||(e[17]=s=>t.updateState("openWB/general/charge_log_data_config",s,"vehicle_soc_at_start"))},{title:o(()=>[n(d,{icon:["fas","car"]}),e[47]||(e[47]=a(" SoC bei Ladebeginn ",-1))]),_:1},8,["model-value"]),n(l,{buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":(A=t.$store.state.mqtt["openWB/general/charge_log_data_config"])==null?void 0:A.vehicle_soc_at_end,"onUpdate:modelValue":e[18]||(e[18]=s=>t.updateState("openWB/general/charge_log_data_config",s,"vehicle_soc_at_end"))},{title:o(()=>[n(d,{icon:["fas","car"]}),e[48]||(e[48]=a(" SoC bei Ladende ",-1))]),_:1},8,["model-value"]),n(l,{buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":(D=t.$store.state.mqtt["openWB/general/charge_log_data_config"])==null?void 0:D.chargepoint_name,"onUpdate:modelValue":e[19]||(e[19]=s=>t.updateState("openWB/general/charge_log_data_config",s,"chargepoint_name"))},{title:o(()=>[n(d,{icon:["fas","charging-station"]}),e[49]||(e[49]=a(" Name ",-1))]),_:1},8,["model-value"]),n(l,{buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":(E=t.$store.state.mqtt["openWB/general/charge_log_data_config"])==null?void 0:E.chargepoint_serial_number,"onUpdate:modelValue":e[20]||(e[20]=s=>t.updateState("openWB/general/charge_log_data_config",s,"chargepoint_serial_number"))},{title:o(()=>[n(d,{icon:["fas","charging-station"]}),e[50]||(e[50]=a(" Seriennummer ",-1))]),_:1},8,["model-value"]),n(l,{buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":(U=t.$store.state.mqtt["openWB/general/charge_log_data_config"])==null?void 0:U.data_imported_since_mode_switch,"onUpdate:modelValue":e[21]||(e[21]=s=>t.updateState("openWB/general/charge_log_data_config",s,"data_imported_since_mode_switch"))},{title:o(()=>[n(d,{icon:["fas","charging-station"]}),e[51]||(e[51]=a(" Geladene Energie ",-1))]),_:1},8,["model-value"]),n(l,{buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":(P=t.$store.state.mqtt["openWB/general/charge_log_data_config"])==null?void 0:P.chargepoint_imported_at_start,"onUpdate:modelValue":e[22]||(e[22]=s=>t.updateState("openWB/general/charge_log_data_config",s,"chargepoint_imported_at_start"))},{title:o(()=>[n(d,{icon:["fas","charging-station"]}),e[52]||(e[52]=a(" Zählerstand bei Ladebeginn ",-1))]),_:1},8,["model-value"]),n(l,{buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":(L=t.$store.state.mqtt["openWB/general/charge_log_data_config"])==null?void 0:L.chargepoint_imported_at_end,"onUpdate:modelValue":e[23]||(e[23]=s=>t.updateState("openWB/general/charge_log_data_config",s,"chargepoint_imported_at_end"))},{title:o(()=>[n(d,{icon:["fas","charging-station"]}),e[53]||(e[53]=a(" Zählerstand bei Ladeende ",-1))]),_:1},8,["model-value"])]))]}),_:1})),n(G,{"form-name":"generalConfigForm",onSave:e[24]||(e[24]=i=>t.$emit("save")),onReset:e[25]||(e[25]=i=>t.$emit("reset")),onDefaults:e[26]||(e[26]=i=>t.$emit("defaults"))})])])}const qe=W(be,[["render",$e],["__file","/opt/openWB-dev/openwb-ui-settings/src/views/GeneralConfig.vue"]]),De=Object.freeze(Object.defineProperty({__proto__:null,default:qe},Symbol.toStringTag,{value:"Module"}));export{qe as G,se as W,De as a};
diff --git a/web/settings/assets/HardwareInstallation-4e683481.js b/web/settings/assets/HardwareInstallation-5d83a25e.js
similarity index 67%
rename from web/settings/assets/HardwareInstallation-4e683481.js
rename to web/settings/assets/HardwareInstallation-5d83a25e.js
index 8c862661d6..ed9cdc7fb4 100644
--- a/web/settings/assets/HardwareInstallation-4e683481.js
+++ b/web/settings/assets/HardwareInstallation-5d83a25e.js
@@ -1 +1 @@
-import{l as S,d as U,y as q,aj as G,aa as N,_ as K,Z as F,Y as H,F as $}from"./vendor-fortawesome-855c7d62.js";import{_ as e,C as J}from"./index-d6a3d34f.js";import{_ as x}from"./dynamic-import-helper-be004503.js";import{_ as I,u as p,l as v,m as g,x as E,E as r,B as d,F as f,G as u,A as c,a2 as z,a3 as Z,z as R,N as L,M as k,q as Y}from"./vendor-cc4615be.js";const Q={props:{device:{type:Object,required:!0}},emits:["update:configuration"],methods:{updateConfiguration(t,o=void 0){this.$emit("update:configuration",{value:t,object:o})}}},B=I(Q,[["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/DeviceConfigMixin.vue"]]),X={name:"DeviceFallback",mixins:[B]},ee={class:"device-fallback"},oe={key:1};function te(t,o,i,m,s,n){const l=p("openwb-base-alert"),A=p("openwb-base-textarea");return v(),g("div",ee,[Object.keys(t.device.configuration).length==0?(v(),E(l,{key:0,subtype:"info"},{default:r(()=>[d(' Der Gerät-Typ "'+f(t.device.type)+'" bietet keine Einstellungen. ',1)]),_:1})):(v(),g("div",oe,[u(l,{subtype:"warning"},{default:r(()=>[d(' Es wurde keine Konfigurationsseite für den Geräte-Typ "'+f(t.device.type)+'" gefunden. Die Einstellungen können als JSON direkt bearbeitet werden. ',1)]),_:1}),u(A,{title:"Konfiguration",subtype:"json","model-value":t.device.configuration,"onUpdate:modelValue":o[0]||(o[0]=T=>t.updateConfiguration(T,"configuration"))},{help:r(()=>o[1]||(o[1]=[d(" Bitte prüfen Sie, ob die Eingaben richtig interpretiert werden. ",-1)])),_:1},8,["model-value"]),u(l,{subtype:"info"},{default:r(()=>[c("pre",null,f(JSON.stringify(t.device.configuration,void 0,2)),1)]),_:1})]))])}const _e=I(X,[["render",te],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/OpenwbDeviceConfigFallback.vue"]]),ie={mixins:[B],props:{component:{type:Object,required:!0}}},re=I(ie,[["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/ComponentConfigMixin.vue"]]),ne={name:"ComponentFallback",mixins:[re]},ue={class:"component-fallback"},de={key:1};function ve(t,o,i,m,s,n){const l=p("openwb-base-alert"),A=p("openwb-base-textarea");return v(),g("div",ue,[Object.keys(t.component.configuration).length==0?(v(),E(l,{key:0,subtype:"info"},{default:r(()=>[d(' Der Komponenten-Typ "'+f(t.component.type)+'" bietet keine Einstellungen. ',1)]),_:1})):(v(),g("div",de,[u(l,{subtype:"warning"},{default:r(()=>[d(' Es wurde keine Konfigurationsseite für den Komponenten-Typ "'+f(t.component.type)+'" gefunden. Die Einstellungen können als JSON direkt bearbeitet werden. ',1)]),_:1}),u(A,{title:"Konfiguration",subtype:"json","model-value":t.component.configuration,"onUpdate:modelValue":o[0]||(o[0]=T=>t.updateConfiguration(T,"configuration"))},{help:r(()=>o[1]||(o[1]=[d(" Bitte prüfen Sie, ob die Eingaben richtig interpretiert werden. ",-1)])),_:1},8,["model-value"]),u(l,{subtype:"info"},{default:r(()=>[c("pre",null,f(JSON.stringify(t.component.configuration,void 0,2)),1)]),_:1})]))])}const se=I(ne,[["render",ve],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/OpenwbComponentConfigFallback.vue"]]),ae={name:"OpenwbConfigProxy",props:{device:{type:Object,required:!0},component:{type:Object,required:!1,default:void 0}},emits:["update:configuration"],methods:{getComponent(){var t;return console.debug(`loading component: ${this.device.type} / ${(t=this.component)==null?void 0:t.type}`),this.component!==void 0?z({loader:()=>x(Object.assign({"./algodue/algodue/device.vue":()=>e(()=>import("./device-e401ac69.js"),["assets/device-e401ac69.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./alpha_ess/alpha_ess/device.vue":()=>e(()=>import("./device-0ea15195.js"),["assets/device-0ea15195.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./ampere/ampere/device.vue":()=>e(()=>import("./device-87e016a3.js"),["assets/device-87e016a3.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./avm/avm/counter.vue":()=>e(()=>import("./counter-88f88632.js"),["assets/counter-88f88632.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./avm/avm/device.vue":()=>e(()=>import("./device-ef8d9077.js"),["assets/device-ef8d9077.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./azzurro_zcs/azzurro_zcs/device.vue":()=>e(()=>import("./device-61e2841a.js"),["assets/device-61e2841a.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./batterx/batterx/device.vue":()=>e(()=>import("./device-f0b60498.js"),["assets/device-f0b60498.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./benning/benning/device.vue":()=>e(()=>import("./device-218b09cd.js"),["assets/device-218b09cd.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./benning/benning/inverter.vue":()=>e(()=>import("./inverter-f51fa2ae.js"),["assets/inverter-f51fa2ae.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./byd/byd/device.vue":()=>e(()=>import("./device-2472f721.js"),["assets/device-2472f721.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./carlo_gavazzi/carlo_gavazzi/counter.vue":()=>e(()=>import("./counter-68b75775.js"),["assets/counter-68b75775.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./carlo_gavazzi/carlo_gavazzi/device.vue":()=>e(()=>import("./device-a66e2518.js"),["assets/device-a66e2518.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./deye/deye/bat.vue":()=>e(()=>import("./bat-f7ffdfcb.js"),["assets/bat-f7ffdfcb.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./deye/deye/counter.vue":()=>e(()=>import("./counter-77202478.js"),["assets/counter-77202478.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./deye/deye/device.vue":()=>e(()=>import("./device-f0fd82a2.js"),["assets/device-f0fd82a2.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./deye/deye/inverter.vue":()=>e(()=>import("./inverter-2b64215f.js"),["assets/inverter-2b64215f.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./discovergy/discovergy/counter.vue":()=>e(()=>import("./counter-5afa492f.js"),["assets/counter-5afa492f.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./discovergy/discovergy/device.vue":()=>e(()=>import("./device-79621565.js"),["assets/device-79621565.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./discovergy/discovergy/inverter.vue":()=>e(()=>import("./inverter-03b55fd7.js"),["assets/inverter-03b55fd7.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./e3dc/e3dc/device.vue":()=>e(()=>import("./device-31da3e5e.js"),["assets/device-31da3e5e.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./elgris/elgris/device.vue":()=>e(()=>import("./device-f572c548.js"),["assets/device-f572c548.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./enphase/enphase/counter.vue":()=>e(()=>import("./counter-b77b4896.js"),["assets/counter-b77b4896.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./enphase/enphase/device.vue":()=>e(()=>import("./device-1d81454d.js"),["assets/device-1d81454d.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./enphase/enphase/inverter.vue":()=>e(()=>import("./inverter-f839973b.js"),["assets/inverter-f839973b.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./fems/fems/bat.vue":()=>e(()=>import("./bat-bf357181.js"),["assets/bat-bf357181.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./fems/fems/device.vue":()=>e(()=>import("./device-36c0cab0.js"),["assets/device-36c0cab0.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./fox_ess/fox_ess/bat.vue":()=>e(()=>import("./bat-ec648467.js"),["assets/bat-ec648467.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./fox_ess/fox_ess/counter.vue":()=>e(()=>import("./counter-45255ad3.js"),["assets/counter-45255ad3.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./fox_ess/fox_ess/device.vue":()=>e(()=>import("./device-f1ccff4c.js"),["assets/device-f1ccff4c.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./fox_ess/fox_ess/inverter.vue":()=>e(()=>import("./inverter-59c7cbc3.js"),["assets/inverter-59c7cbc3.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./fronius/fronius/bat.vue":()=>e(()=>import("./bat-76fa7659.js"),["assets/bat-76fa7659.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./fronius/fronius/counter_sm.vue":()=>e(()=>import("./counter_sm-28290f74.js"),["assets/counter_sm-28290f74.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./fronius/fronius/device.vue":()=>e(()=>import("./device-08fba840.js"),["assets/device-08fba840.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./fronius/fronius/inverter_secondary.vue":()=>e(()=>import("./inverter_secondary-014c453a.js"),["assets/inverter_secondary-014c453a.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./generic/http/bat.vue":()=>e(()=>import("./bat-34cd327f.js"),["assets/bat-34cd327f.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./generic/http/counter.vue":()=>e(()=>import("./counter-91ded1a9.js"),["assets/counter-91ded1a9.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./generic/http/device.vue":()=>e(()=>import("./device-47812bad.js"),["assets/device-47812bad.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./generic/http/inverter.vue":()=>e(()=>import("./inverter-efca2541.js"),["assets/inverter-efca2541.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./generic/json/bat.vue":()=>e(()=>import("./bat-8b67b0f3.js"),["assets/bat-8b67b0f3.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./generic/json/counter.vue":()=>e(()=>import("./counter-2526cad6.js"),["assets/counter-2526cad6.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./generic/json/device.vue":()=>e(()=>import("./device-43986cd6.js"),["assets/device-43986cd6.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./generic/json/inverter.vue":()=>e(()=>import("./inverter-e924ef23.js"),["assets/inverter-e924ef23.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./generic/mqtt/bat.vue":()=>e(()=>import("./bat-0942eb35.js"),["assets/bat-0942eb35.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./generic/mqtt/counter.vue":()=>e(()=>import("./counter-d0700573.js"),["assets/counter-d0700573.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./generic/mqtt/device.vue":()=>e(()=>import("./device-8dd63da1.js"),["assets/device-8dd63da1.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./generic/mqtt/inverter.vue":()=>e(()=>import("./inverter-18fd0c0d.js"),["assets/inverter-18fd0c0d.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./generic/virtual/counter.vue":()=>e(()=>import("./counter-041fe06f.js"),["assets/counter-041fe06f.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./good_we/good_we/bat.vue":()=>e(()=>import("./bat-111155d7.js"),["assets/bat-111155d7.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./good_we/good_we/device.vue":()=>e(()=>import("./device-a21bb572.js"),["assets/device-a21bb572.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./growatt/growatt/device.vue":()=>e(()=>import("./device-f094258d.js"),["assets/device-f094258d.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./huawei/huawei/device.vue":()=>e(()=>import("./device-fc715943.js"),["assets/device-fc715943.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./huawei/huawei_emma/device.vue":()=>e(()=>import("./device-f04ef4ac.js"),["assets/device-f04ef4ac.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./huawei/huawei_smartlogger/bat.vue":()=>e(()=>import("./bat-0a74f2a9.js"),["assets/bat-0a74f2a9.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./huawei/huawei_smartlogger/counter.vue":()=>e(()=>import("./counter-9149e938.js"),["assets/counter-9149e938.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./huawei/huawei_smartlogger/device.vue":()=>e(()=>import("./device-5807ebee.js"),["assets/device-5807ebee.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./huawei/huawei_smartlogger/inverter.vue":()=>e(()=>import("./inverter-fb3e0176.js"),["assets/inverter-fb3e0176.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./janitza/janitza/counter.vue":()=>e(()=>import("./counter-86833f7f.js"),["assets/counter-86833f7f.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./janitza/janitza/device.vue":()=>e(()=>import("./device-cbf5fbbd.js"),["assets/device-cbf5fbbd.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./kaco/kaco_tx/device.vue":()=>e(()=>import("./device-c8187eb5.js"),["assets/device-c8187eb5.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./kaco/kaco_tx/inverter.vue":()=>e(()=>import("./inverter-a8de18f7.js"),["assets/inverter-a8de18f7.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./kostal/kostal_piko/counter.vue":()=>e(()=>import("./counter-baff066e.js"),["assets/counter-baff066e.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./kostal/kostal_piko/device.vue":()=>e(()=>import("./device-808923c7.js"),["assets/device-808923c7.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./kostal/kostal_piko/inverter.vue":()=>e(()=>import("./inverter-3fb1b6d2.js"),["assets/inverter-3fb1b6d2.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./kostal/kostal_piko_old/device.vue":()=>e(()=>import("./device-6dbafd38.js"),["assets/device-6dbafd38.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./kostal/kostal_plenticore/counter.vue":()=>e(()=>import("./counter-30e90c99.js"),["assets/counter-30e90c99.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./kostal/kostal_plenticore/device.vue":()=>e(()=>import("./device-5463dea0.js"),["assets/device-5463dea0.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./kostal/kostal_sem/counter.vue":()=>e(()=>import("./counter-0e4fe151.js"),["assets/counter-0e4fe151.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./kostal/kostal_sem/device.vue":()=>e(()=>import("./device-1e772402.js"),["assets/device-1e772402.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./kostal/kostal_steca/device.vue":()=>e(()=>import("./device-65cc3761.js"),["assets/device-65cc3761.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./kostal/kostal_steca/inverter.vue":()=>e(()=>import("./inverter-d8ce39c1.js"),["assets/inverter-d8ce39c1.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./lg/lg/device.vue":()=>e(()=>import("./device-cb8ef2ad.js"),["assets/device-cb8ef2ad.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./mtec/mtec/bat.vue":()=>e(()=>import("./bat-e5f78612.js"),["assets/bat-e5f78612.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./mtec/mtec/counter.vue":()=>e(()=>import("./counter-4fb791d7.js"),["assets/counter-4fb791d7.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./mtec/mtec/device.vue":()=>e(()=>import("./device-c82e8ea1.js"),["assets/device-c82e8ea1.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./mtec/mtec/inverter.vue":()=>e(()=>import("./inverter-aae923e9.js"),["assets/inverter-aae923e9.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./mystrom/mystrom/device.vue":()=>e(()=>import("./device-4907de51.js"),["assets/device-4907de51.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./nibe/nibe/counter.vue":()=>e(()=>import("./counter-f620caf7.js"),["assets/counter-f620caf7.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./nibe/nibe/device.vue":()=>e(()=>import("./device-e5c2345d.js"),["assets/device-e5c2345d.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./opendtu/opendtu/device.vue":()=>e(()=>import("./device-fcf93e23.js"),["assets/device-fcf93e23.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./opendtu/opendtu/inverter.vue":()=>e(()=>import("./inverter-43a13f4b.js"),["assets/inverter-43a13f4b.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./openwb/openwb_bat_kit/bat.vue":()=>e(()=>import("./bat-8b7b0af3.js"),["assets/bat-8b7b0af3.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./openwb/openwb_evu_kit/bat.vue":()=>e(()=>import("./bat-98e76bea.js"),["assets/bat-98e76bea.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./openwb/openwb_evu_kit/counter.vue":()=>e(()=>import("./counter-82b8eb69.js"),["assets/counter-82b8eb69.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./openwb/openwb_evu_kit/inverter.vue":()=>e(()=>import("./inverter-5bb18bd4.js"),["assets/inverter-5bb18bd4.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./openwb/openwb_flex/bat.vue":()=>e(()=>import("./bat-f889c511.js"),["assets/bat-f889c511.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./openwb/openwb_flex/consumption_counter.vue":()=>e(()=>import("./consumption_counter-df3c7afa.js"),["assets/consumption_counter-df3c7afa.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./openwb/openwb_flex/counter.vue":()=>e(()=>import("./counter-6ee307c2.js"),["assets/counter-6ee307c2.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./openwb/openwb_flex/device.vue":()=>e(()=>import("./device-8b9e3c75.js"),["assets/device-8b9e3c75.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./openwb/openwb_flex/inverter.vue":()=>e(()=>import("./inverter-b197b82c.js"),["assets/inverter-b197b82c.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./openwb/openwb_pv_kit/inverter.vue":()=>e(()=>import("./inverter-8bdbeb64.js"),["assets/inverter-8bdbeb64.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./orno/orno/counter.vue":()=>e(()=>import("./counter-70f5dd9b.js"),["assets/counter-70f5dd9b.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./orno/orno/device.vue":()=>e(()=>import("./device-54f3c417.js"),["assets/device-54f3c417.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./powerdog/powerdog/counter.vue":()=>e(()=>import("./counter-017e77a4.js"),["assets/counter-017e77a4.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./powerdog/powerdog/device.vue":()=>e(()=>import("./device-53799531.js"),["assets/device-53799531.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./powerfox/powerfox/counter.vue":()=>e(()=>import("./counter-2fc38937.js"),["assets/counter-2fc38937.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./powerfox/powerfox/device.vue":()=>e(()=>import("./device-f6053ab4.js"),["assets/device-f6053ab4.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./powerfox/powerfox/inverter.vue":()=>e(()=>import("./inverter-ca1c8588.js"),["assets/inverter-ca1c8588.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./qcells/qcells/device.vue":()=>e(()=>import("./device-f2da5425.js"),["assets/device-f2da5425.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./rct/rct/device.vue":()=>e(()=>import("./device-6104279d.js"),["assets/device-6104279d.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./saxpower/saxpower/device.vue":()=>e(()=>import("./device-4523f8fc.js"),["assets/device-4523f8fc.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./shelly/shelly/counter.vue":()=>e(()=>import("./counter-e9a14660.js"),["assets/counter-e9a14660.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./shelly/shelly/device.vue":()=>e(()=>import("./device-81a97b9b.js"),["assets/device-81a97b9b.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./siemens/siemens/device.vue":()=>e(()=>import("./device-bc53700c.js"),["assets/device-bc53700c.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./siemens/siemens_sentron/device.vue":()=>e(()=>import("./device-f764e02c.js"),["assets/device-f764e02c.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./sigenergy/sigenergy/bat.vue":()=>e(()=>import("./bat-9b07f137.js"),["assets/bat-9b07f137.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./sigenergy/sigenergy/counter.vue":()=>e(()=>import("./counter-14458196.js"),["assets/counter-14458196.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./sigenergy/sigenergy/device.vue":()=>e(()=>import("./device-211461f8.js"),["assets/device-211461f8.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./sigenergy/sigenergy/inverter.vue":()=>e(()=>import("./inverter-a0b15190.js"),["assets/inverter-a0b15190.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./sma/sma_shm/counter.vue":()=>e(()=>import("./counter-620f1678.js"),["assets/counter-620f1678.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./sma/sma_shm/inverter.vue":()=>e(()=>import("./inverter-9edc613d.js"),["assets/inverter-9edc613d.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./sma/sma_sunny_boy/bat.vue":()=>e(()=>import("./bat-71fdd21b.js"),["assets/bat-71fdd21b.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./sma/sma_sunny_boy/bat_smart_energy.vue":()=>e(()=>import("./bat_smart_energy-40c0ec58.js"),["assets/bat_smart_energy-40c0ec58.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./sma/sma_sunny_boy/counter.vue":()=>e(()=>import("./counter-1b7c5910.js"),["assets/counter-1b7c5910.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./sma/sma_sunny_boy/device.vue":()=>e(()=>import("./device-0e2ed0f4.js"),["assets/device-0e2ed0f4.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./sma/sma_sunny_boy/inverter.vue":()=>e(()=>import("./inverter-0c7af68c.js"),["assets/inverter-0c7af68c.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./sma/sma_sunny_island/bat.vue":()=>e(()=>import("./bat-55dbd2f7.js"),["assets/bat-55dbd2f7.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./sma/sma_sunny_island/device.vue":()=>e(()=>import("./device-ce813499.js"),["assets/device-ce813499.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./sma/sma_webbox/device.vue":()=>e(()=>import("./device-16f94594.js"),["assets/device-16f94594.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./smart_me/smart_me/counter.vue":()=>e(()=>import("./counter-82cc1f53.js"),["assets/counter-82cc1f53.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./smart_me/smart_me/device.vue":()=>e(()=>import("./device-3089c813.js"),["assets/device-3089c813.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./smart_me/smart_me/inverter.vue":()=>e(()=>import("./inverter-4972d5b7.js"),["assets/inverter-4972d5b7.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./smartfox/smartfox/device.vue":()=>e(()=>import("./device-6e7e25ad.js"),["assets/device-6e7e25ad.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./sofar/sofar/device.vue":()=>e(()=>import("./device-c69f1004.js"),["assets/device-c69f1004.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./solar_log/solar_log/counter.vue":()=>e(()=>import("./counter-0c6d19d9.js"),["assets/counter-0c6d19d9.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./solar_log/solar_log/device.vue":()=>e(()=>import("./device-a6c61205.js"),["assets/device-a6c61205.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./solar_view/solar_view/device.vue":()=>e(()=>import("./device-4d43e65d.js"),["assets/device-4d43e65d.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./solar_view/solar_view/inverter.vue":()=>e(()=>import("./inverter-e5da7d57.js"),["assets/inverter-e5da7d57.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./solar_watt/solar_watt/device.vue":()=>e(()=>import("./device-f427a482.js"),["assets/device-f427a482.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./solar_world/solar_world/device.vue":()=>e(()=>import("./device-3fd60df9.js"),["assets/device-3fd60df9.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./solaredge/solaredge/bat.vue":()=>e(()=>import("./bat-b2ef5ea1.js"),["assets/bat-b2ef5ea1.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./solaredge/solaredge/counter.vue":()=>e(()=>import("./counter-b40d8140.js"),["assets/counter-b40d8140.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./solaredge/solaredge/device.vue":()=>e(()=>import("./device-a8480ad5.js"),["assets/device-a8480ad5.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./solaredge/solaredge/external_inverter.vue":()=>e(()=>import("./external_inverter-607129d1.js"),["assets/external_inverter-607129d1.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./solaredge/solaredge/inverter.vue":()=>e(()=>import("./inverter-6c4a4ba9.js"),["assets/inverter-6c4a4ba9.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./solarmax/solarmax/bat.vue":()=>e(()=>import("./bat-78c5b02b.js"),["assets/bat-78c5b02b.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./solarmax/solarmax/device.vue":()=>e(()=>import("./device-0a193de4.js"),["assets/device-0a193de4.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./solarmax/solarmax/inverter.vue":()=>e(()=>import("./inverter-84984a63.js"),["assets/inverter-84984a63.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./solax/solax/device.vue":()=>e(()=>import("./device-dbb63709.js"),["assets/device-dbb63709.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./solis/solis/bat.vue":()=>e(()=>import("./bat-9c34b83b.js"),["assets/bat-9c34b83b.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./solis/solis/counter.vue":()=>e(()=>import("./counter-886f178a.js"),["assets/counter-886f178a.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./solis/solis/device.vue":()=>e(()=>import("./device-407c2782.js"),["assets/device-407c2782.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./solis/solis/inverter.vue":()=>e(()=>import("./inverter-34896370.js"),["assets/inverter-34896370.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./sonnen/sonnenbatterie/bat.vue":()=>e(()=>import("./bat-b2297e60.js"),["assets/bat-b2297e60.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./sonnen/sonnenbatterie/counter.vue":()=>e(()=>import("./counter-2d3648e5.js"),["assets/counter-2d3648e5.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./sonnen/sonnenbatterie/counter_consumption.vue":()=>e(()=>import("./counter_consumption-ee9ac008.js"),["assets/counter_consumption-ee9ac008.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./sonnen/sonnenbatterie/device.vue":()=>e(()=>import("./device-25c9cf6c.js"),["assets/device-25c9cf6c.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./studer/studer/bat.vue":()=>e(()=>import("./bat-e5d9f268.js"),["assets/bat-e5d9f268.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./studer/studer/device.vue":()=>e(()=>import("./device-4a77509b.js"),["assets/device-4a77509b.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./studer/studer/inverter.vue":()=>e(()=>import("./inverter-86512c3a.js"),["assets/inverter-86512c3a.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./sungrow/sungrow/device.vue":()=>e(()=>import("./device-418fe4a4.js"),["assets/device-418fe4a4.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./sunways/sunways/device.vue":()=>e(()=>import("./device-76b66d5a.js"),["assets/device-76b66d5a.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./tasmota/tasmota/device.vue":()=>e(()=>import("./device-5b02dd02.js"),["assets/device-5b02dd02.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./tesla/tesla/counter.vue":()=>e(()=>import("./counter-788a649e.js"),["assets/counter-788a649e.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./tesla/tesla/device.vue":()=>e(()=>import("./device-f8f2f71a.js"),["assets/device-f8f2f71a.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./thermia/thermia/counter.vue":()=>e(()=>import("./counter-0c741b8f.js"),["assets/counter-0c741b8f.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./thermia/thermia/device.vue":()=>e(()=>import("./device-c295e923.js"),["assets/device-c295e923.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./upower/upower/device.vue":()=>e(()=>import("./device-a12f0b7f.js"),["assets/device-a12f0b7f.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./varta/varta/device.vue":()=>e(()=>import("./device-ba2cb572.js"),["assets/device-ba2cb572.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./varta/varta/inverter.vue":()=>e(()=>import("./inverter-5f1abb47.js"),["assets/inverter-5f1abb47.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./victron/victron/bat.vue":()=>e(()=>import("./bat-7d7a49c4.js"),["assets/bat-7d7a49c4.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./victron/victron/counter.vue":()=>e(()=>import("./counter-7fbaba37.js"),["assets/counter-7fbaba37.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./victron/victron/device.vue":()=>e(()=>import("./device-0e5d6404.js"),["assets/device-0e5d6404.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./victron/victron/inverter.vue":()=>e(()=>import("./inverter-7e3d96f9.js"),["assets/inverter-7e3d96f9.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./vzlogger/vzlogger/counter.vue":()=>e(()=>import("./counter-8895d998.js"),["assets/counter-8895d998.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./vzlogger/vzlogger/device.vue":()=>e(()=>import("./device-b16fb75e.js"),["assets/device-b16fb75e.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./vzlogger/vzlogger/inverter.vue":()=>e(()=>import("./inverter-e2b66791.js"),["assets/inverter-e2b66791.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./youless/youless/device.vue":()=>e(()=>import("./device-e9a29566.js"),["assets/device-e9a29566.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./youless/youless/inverter.vue":()=>e(()=>import("./inverter-6dfaf529.js"),["assets/inverter-6dfaf529.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"])}),`./${this.device.vendor}/${this.device.type}/${this.component.type}.vue`),errorComponent:se}):z({loader:()=>x(Object.assign({"./algodue/algodue/device.vue":()=>e(()=>import("./device-e401ac69.js"),["assets/device-e401ac69.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./alpha_ess/alpha_ess/device.vue":()=>e(()=>import("./device-0ea15195.js"),["assets/device-0ea15195.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./ampere/ampere/device.vue":()=>e(()=>import("./device-87e016a3.js"),["assets/device-87e016a3.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./avm/avm/device.vue":()=>e(()=>import("./device-ef8d9077.js"),["assets/device-ef8d9077.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./azzurro_zcs/azzurro_zcs/device.vue":()=>e(()=>import("./device-61e2841a.js"),["assets/device-61e2841a.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./batterx/batterx/device.vue":()=>e(()=>import("./device-f0b60498.js"),["assets/device-f0b60498.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./benning/benning/device.vue":()=>e(()=>import("./device-218b09cd.js"),["assets/device-218b09cd.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./byd/byd/device.vue":()=>e(()=>import("./device-2472f721.js"),["assets/device-2472f721.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./carlo_gavazzi/carlo_gavazzi/device.vue":()=>e(()=>import("./device-a66e2518.js"),["assets/device-a66e2518.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./deye/deye/device.vue":()=>e(()=>import("./device-f0fd82a2.js"),["assets/device-f0fd82a2.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./discovergy/discovergy/device.vue":()=>e(()=>import("./device-79621565.js"),["assets/device-79621565.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./e3dc/e3dc/device.vue":()=>e(()=>import("./device-31da3e5e.js"),["assets/device-31da3e5e.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./elgris/elgris/device.vue":()=>e(()=>import("./device-f572c548.js"),["assets/device-f572c548.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./enphase/enphase/device.vue":()=>e(()=>import("./device-1d81454d.js"),["assets/device-1d81454d.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./fems/fems/device.vue":()=>e(()=>import("./device-36c0cab0.js"),["assets/device-36c0cab0.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./fox_ess/fox_ess/device.vue":()=>e(()=>import("./device-f1ccff4c.js"),["assets/device-f1ccff4c.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./fronius/fronius/device.vue":()=>e(()=>import("./device-08fba840.js"),["assets/device-08fba840.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./generic/http/device.vue":()=>e(()=>import("./device-47812bad.js"),["assets/device-47812bad.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./generic/json/device.vue":()=>e(()=>import("./device-43986cd6.js"),["assets/device-43986cd6.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./generic/mqtt/device.vue":()=>e(()=>import("./device-8dd63da1.js"),["assets/device-8dd63da1.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./good_we/good_we/device.vue":()=>e(()=>import("./device-a21bb572.js"),["assets/device-a21bb572.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./growatt/growatt/device.vue":()=>e(()=>import("./device-f094258d.js"),["assets/device-f094258d.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./huawei/huawei/device.vue":()=>e(()=>import("./device-fc715943.js"),["assets/device-fc715943.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./huawei/huawei_emma/device.vue":()=>e(()=>import("./device-f04ef4ac.js"),["assets/device-f04ef4ac.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./huawei/huawei_smartlogger/device.vue":()=>e(()=>import("./device-5807ebee.js"),["assets/device-5807ebee.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./janitza/janitza/device.vue":()=>e(()=>import("./device-cbf5fbbd.js"),["assets/device-cbf5fbbd.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./kaco/kaco_tx/device.vue":()=>e(()=>import("./device-c8187eb5.js"),["assets/device-c8187eb5.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./kostal/kostal_piko/device.vue":()=>e(()=>import("./device-808923c7.js"),["assets/device-808923c7.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./kostal/kostal_piko_old/device.vue":()=>e(()=>import("./device-6dbafd38.js"),["assets/device-6dbafd38.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./kostal/kostal_plenticore/device.vue":()=>e(()=>import("./device-5463dea0.js"),["assets/device-5463dea0.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./kostal/kostal_sem/device.vue":()=>e(()=>import("./device-1e772402.js"),["assets/device-1e772402.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./kostal/kostal_steca/device.vue":()=>e(()=>import("./device-65cc3761.js"),["assets/device-65cc3761.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./lg/lg/device.vue":()=>e(()=>import("./device-cb8ef2ad.js"),["assets/device-cb8ef2ad.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./mtec/mtec/device.vue":()=>e(()=>import("./device-c82e8ea1.js"),["assets/device-c82e8ea1.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./mystrom/mystrom/device.vue":()=>e(()=>import("./device-4907de51.js"),["assets/device-4907de51.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./nibe/nibe/device.vue":()=>e(()=>import("./device-e5c2345d.js"),["assets/device-e5c2345d.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./opendtu/opendtu/device.vue":()=>e(()=>import("./device-fcf93e23.js"),["assets/device-fcf93e23.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./openwb/openwb_flex/device.vue":()=>e(()=>import("./device-8b9e3c75.js"),["assets/device-8b9e3c75.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./orno/orno/device.vue":()=>e(()=>import("./device-54f3c417.js"),["assets/device-54f3c417.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./powerdog/powerdog/device.vue":()=>e(()=>import("./device-53799531.js"),["assets/device-53799531.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./powerfox/powerfox/device.vue":()=>e(()=>import("./device-f6053ab4.js"),["assets/device-f6053ab4.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./qcells/qcells/device.vue":()=>e(()=>import("./device-f2da5425.js"),["assets/device-f2da5425.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./rct/rct/device.vue":()=>e(()=>import("./device-6104279d.js"),["assets/device-6104279d.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./saxpower/saxpower/device.vue":()=>e(()=>import("./device-4523f8fc.js"),["assets/device-4523f8fc.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./shelly/shelly/device.vue":()=>e(()=>import("./device-81a97b9b.js"),["assets/device-81a97b9b.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./siemens/siemens/device.vue":()=>e(()=>import("./device-bc53700c.js"),["assets/device-bc53700c.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./siemens/siemens_sentron/device.vue":()=>e(()=>import("./device-f764e02c.js"),["assets/device-f764e02c.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./sigenergy/sigenergy/device.vue":()=>e(()=>import("./device-211461f8.js"),["assets/device-211461f8.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./sma/sma_sunny_boy/device.vue":()=>e(()=>import("./device-0e2ed0f4.js"),["assets/device-0e2ed0f4.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./sma/sma_sunny_island/device.vue":()=>e(()=>import("./device-ce813499.js"),["assets/device-ce813499.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./sma/sma_webbox/device.vue":()=>e(()=>import("./device-16f94594.js"),["assets/device-16f94594.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./smart_me/smart_me/device.vue":()=>e(()=>import("./device-3089c813.js"),["assets/device-3089c813.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./smartfox/smartfox/device.vue":()=>e(()=>import("./device-6e7e25ad.js"),["assets/device-6e7e25ad.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./sofar/sofar/device.vue":()=>e(()=>import("./device-c69f1004.js"),["assets/device-c69f1004.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./solar_log/solar_log/device.vue":()=>e(()=>import("./device-a6c61205.js"),["assets/device-a6c61205.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./solar_view/solar_view/device.vue":()=>e(()=>import("./device-4d43e65d.js"),["assets/device-4d43e65d.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./solar_watt/solar_watt/device.vue":()=>e(()=>import("./device-f427a482.js"),["assets/device-f427a482.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./solar_world/solar_world/device.vue":()=>e(()=>import("./device-3fd60df9.js"),["assets/device-3fd60df9.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./solaredge/solaredge/device.vue":()=>e(()=>import("./device-a8480ad5.js"),["assets/device-a8480ad5.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./solarmax/solarmax/device.vue":()=>e(()=>import("./device-0a193de4.js"),["assets/device-0a193de4.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./solax/solax/device.vue":()=>e(()=>import("./device-dbb63709.js"),["assets/device-dbb63709.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./solis/solis/device.vue":()=>e(()=>import("./device-407c2782.js"),["assets/device-407c2782.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./sonnen/sonnenbatterie/device.vue":()=>e(()=>import("./device-25c9cf6c.js"),["assets/device-25c9cf6c.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./studer/studer/device.vue":()=>e(()=>import("./device-4a77509b.js"),["assets/device-4a77509b.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./sungrow/sungrow/device.vue":()=>e(()=>import("./device-418fe4a4.js"),["assets/device-418fe4a4.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./sunways/sunways/device.vue":()=>e(()=>import("./device-76b66d5a.js"),["assets/device-76b66d5a.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./tasmota/tasmota/device.vue":()=>e(()=>import("./device-5b02dd02.js"),["assets/device-5b02dd02.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./tesla/tesla/device.vue":()=>e(()=>import("./device-f8f2f71a.js"),["assets/device-f8f2f71a.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./thermia/thermia/device.vue":()=>e(()=>import("./device-c295e923.js"),["assets/device-c295e923.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./upower/upower/device.vue":()=>e(()=>import("./device-a12f0b7f.js"),["assets/device-a12f0b7f.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./varta/varta/device.vue":()=>e(()=>import("./device-ba2cb572.js"),["assets/device-ba2cb572.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./victron/victron/device.vue":()=>e(()=>import("./device-0e5d6404.js"),["assets/device-0e5d6404.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./vzlogger/vzlogger/device.vue":()=>e(()=>import("./device-b16fb75e.js"),["assets/device-b16fb75e.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./youless/youless/device.vue":()=>e(()=>import("./device-e9a29566.js"),["assets/device-e9a29566.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"])}),`./${this.device.vendor}/${this.device.type}/device.vue`),errorComponent:_e})},updateConfiguration(t){this.$emit("update:configuration",t)}}};function me(t,o,i,m,s,n){return v(),E(Z(n.getComponent()),{device:i.device,component:i.component,configuration:i.component?i.component.configuration:i.device.configuration,"device-id":i.device.id,"device-type":i.device.type,"component-id":i.component?i.component.id:void 0,"component-type":i.component?i.component.type:void 0,"onUpdate:configuration":o[0]||(o[0]=l=>n.updateConfiguration(l))},null,40,["device","component","configuration","device-id","device-type","component-id","component-type"])}const pe=I(ae,[["render",me],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/OpenwbConfigProxy.vue"]]);S.add(U,q,G,N,K,F,H);const le={name:"OpenwbHardwareInstallationView",components:{FontAwesomeIcon:$,OpenwbConfigProxy:pe},mixins:[J],props:{installAssistantActive:{type:Boolean,required:!1,default:!1}},emits:["sendCommand","save","reset","defaults"],data(){return{mqttTopicsToSubscribe:["openWB/general/extern","openWB/counter/get/hierarchy","openWB/system/device/+/config","openWB/system/device/+/component/+/config","openWB/system/configurable/devices_components"],selectedVendor:void 0,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")}},vendorList:{get(){return this.$store.state.mqtt["openWB/system/configurable/devices_components"]===void 0?[]:Object.entries(this.$store.state.mqtt["openWB/system/configurable/devices_components"]).map(([t,o])=>({label:o.group_name,options:Object.entries(o.vendors).map(([i,m])=>({value:[t,i],text:m.vendor_name})).sort((i,m)=>i.text.localeCompare(m.text))})).sort((t,o)=>-t.label.localeCompare(o.label))}},deviceList:{get(){if(this.selectedVendor===void 0)return[];let[t,o]=this.selectedVendor;return Object.entries(this.$store.state.mqtt["openWB/system/configurable/devices_components"][t].vendors[o].devices).map(([i,m])=>({value:[o,i],text:m.device_name})).sort((i,m)=>i.text.localeCompare(m.text))}}},methods:{getComponentTypeClass(t){return t.match(/^(.+_)?counter(_.+)?$/)?"danger":t.match(/^(.+_)?inverter(_.+)?$/)?"success":t.match(/^(.+_)?bat(_.+)?$/)?"warning":"dark"},getComponentTypeIcon(t){return t.match(/^(.+_)?counter(_.+)?$/)?["fas","fa-gauge-high"]:t.match(/^(.+_)?inverter(_.+)?$/)?["fas","fa-solar-panel"]:t.match(/^(.+_)?bat(_.+)?$/)?["fas","fa-car-battery"]:["fas","fa-microchip"]},getMyInstalledComponents(t){return this.getWildcardTopics("openWB/system/device/"+t+"/component/+/config")},deviceHasConfiguredComponents(t){return Object.keys(this.getMyInstalledComponents(t)).length>0},addDevice(){this.$emit("sendCommand",{command:"addDevice",data:{vendor:this.deviceToAdd[0],type:this.deviceToAdd[1]}})},removeDeviceModal(t,o,i){i.stopPropagation(),this.modalDevice=t,this.modalDeviceName=o,this.showDeviceRemoveModal=!0},removeDevice(t){this.showDeviceRemoveModal=!1,t=="confirm"&&this.$emit("sendCommand",{command:"removeDevice",data:{id:this.modalDevice}})},addComponent(t,o,i,m){this.$emit("sendCommand",{command:"addComponent",data:{deviceId:t,deviceType:i,deviceVendor:o,type:m}})},removeComponentModal(t,o,i,m,s){s.stopPropagation(),this.modalComponent={deviceId:t,id:o,type:i},this.modalComponentName=m,this.showComponentRemoveModal=!0},removeComponent(t){this.showComponentRemoveModal=!1,t=="confirm"&&this.$emit("sendCommand",{command:"removeComponent",data:this.modalComponent})},getComponentList(t,o){if(t===void 0||o===void 0)return[];let i=[];return Object.values(this.$store.state.mqtt["openWB/system/configurable/devices_components"]).every(m=>m.vendors[t]!==void 0?(m.vendors[t].devices[o]!==void 0&&(i=Object.entries(m.vendors[t].devices[o].components).map(([n,l])=>({value:n,text:l.component_name}))),!1):!0),i},updateConfiguration(t,o){console.debug("updateConfiguration",t,o),this.updateState(t,o.value,o.object)}}},ce={class:"hardwareInstallation"},Ee={name:"hardwareInstallationForm"},ge={key:0},Ve={key:1},fe={key:1},Oe={key:0};function Te(t,o,i,m,s,n){const l=p("openwb-base-modal-dialog"),A=p("router-link"),T=p("openwb-base-alert"),b=p("font-awesome-icon"),D=p("openwb-base-avatar"),P=p("openwb-base-text-input"),C=p("openwb-config-proxy"),M=p("openwb-base-heading"),w=p("openwb-base-card"),y=p("openwb-base-select-input"),j=p("openwb-base-submit-buttons");return v(),g(L,null,[u(l,{show:s.showDeviceRemoveModal,title:"Gerät löschen",subtype:"danger",buttons:[{text:"Löschen",event:"confirm",subtype:"danger"}],onModalResult:n.removeDevice},{default:r(()=>[d(' Wollen Sie das Gerät "'+f(s.modalDeviceName)+'" inklusive aller Komponenten wirklich entfernen? Dieser Vorgang kann nicht rückgängig gemacht werden! ',1)]),_:1},8,["show","onModalResult"]),u(l,{show:s.showComponentRemoveModal,title:"Komponente löschen",subtype:"danger",buttons:[{text:"Löschen",event:"confirm",subtype:"danger"}],onModalResult:n.removeComponent},{default:r(()=>[d(' Wollen Sie die Komponente "'+f(s.modalComponentName)+'" wirklich entfernen? Dieser Vorgang kann nicht rückgängig gemacht werden! ',1)]),_:1},8,["show","onModalResult"]),c("div",ce,[c("form",Ee,[i.installAssistantActive?R("",!0):(v(),E(T,{key:0,subtype:"info"},{default:r(()=>[o[7]||(o[7]=d(" Wenn neue Komponenten - insbesondere Zähler - konfiguriert wurden, ist auch das ",-1)),u(A,{to:"/LoadManagementConfiguration"},{default:r(()=>o[6]||(o[6]=[d(" Lastmanagement ",-1)])),_:1,__:[6]}),o[8]||(o[8]=d(" zu prüfen!",-1)),o[9]||(o[9]=c("br",null,null,-1)),o[10]||(o[10]=d(" Je nach Hersteller muss eventuell die Kommunikation im Wechselrichter freigegeben werden (z.B. Aktivierung Modbus TCP, Portfreigaben o.Ä.) ",-1))]),_:1,__:[7,8,9,10]})),u(w,{title:"Geräte und Komponenten"},{default:r(()=>[t.$store.state.mqtt["openWB/general/extern"]===!0?(v(),g("div",ge,[u(T,{subtype:"info"},{default:r(()=>o[11]||(o[11]=[d(' Diese Einstellungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. ',-1)])),_:1,__:[11]})])):(v(),g("div",Ve,[(v(!0),g(L,null,k(n.installedDevices,(_,h)=>(v(),E(w,{key:h,collapsible:!0,collapsed:!0,subtype:"dark"},{header:r(()=>[u(b,{icon:["fas","network-wired"]}),d(" "+f(_==null?void 0:_.name),1)]),actions:r(a=>[a.collapsed?(v(),g("div",fe,[(v(!0),g(L,null,k(n.getMyInstalledComponents(_==null?void 0:_.id),V=>(v(),E(D,{key:V.id,class:Y("ml-1 bg-"+n.getComponentTypeClass(V.type))},{default:r(()=>[u(b,{icon:n.getComponentTypeIcon(V.type)},null,8,["icon"])]),_:2},1032,["class"]))),128))])):(v(),E(D,{key:0,class:"bg-danger clickable",onClick:V=>n.removeDeviceModal(_==null?void 0:_.id,_==null?void 0:_.name,V)},{default:r(()=>[u(b,{icon:["fas","trash"]})]),_:2},1032,["onClick"]))]),default:r(()=>[u(P,{title:"Bezeichnung",subtype:"text","model-value":_==null?void 0:_.name,"onUpdate:modelValue":a=>t.updateState(h,a,"name")},null,8,["model-value","onUpdate:modelValue"]),o[19]||(o[19]=c("hr",null,null,-1)),u(C,{device:_,"onUpdate:configuration":a=>n.updateConfiguration(h,a)},null,8,["device","onUpdate:configuration"]),o[20]||(o[20]=c("hr",null,null,-1)),u(M,null,{default:r(()=>[...o[12]||(o[12]=[d("Komponenten",-1)])]),_:1,__:[12]}),n.deviceHasConfiguredComponents(_==null?void 0:_.id)?R("",!0):(v(),E(T,{key:0,subtype:"warning"},{default:r(()=>[...o[13]||(o[13]=[d(" Es wurden noch keine Komponenten zu diesem Gerät angelegt. ",-1)])]),_:1,__:[13]})),(v(!0),g(L,null,k(n.getMyInstalledComponents(_.id),(a,V)=>(v(),E(w,{key:a.id,collapsible:!0,collapsed:!0,subtype:n.getComponentTypeClass(a.type)},{header:r(()=>[u(b,{icon:n.getComponentTypeIcon(a.type)},null,8,["icon"]),d(" "+f(a.name),1)]),actions:r(O=>[O.collapsed?R("",!0):(v(),E(D,{key:0,class:"bg-danger clickable",onClick:W=>n.removeComponentModal(_.id,a.id,a.type,a.name,W)},{default:r(()=>[u(b,{icon:["fas","trash"]})]),_:2},1032,["onClick"]))]),default:r(()=>[u(P,{title:"Bezeichnung",subtype:"text","model-value":a.name,"onUpdate:modelValue":O=>t.updateState(V,O,"name")},null,8,["model-value","onUpdate:modelValue"]),u(P,{title:"Hersteller",subtype:"text","model-value":a.info.manufacturer,"onUpdate:modelValue":O=>t.updateState(V,O,"info.manufacturer")},{help:r(()=>[...o[14]||(o[14]=[d(" Optional: zusätzliche Information für den Systembericht. ",-1)])]),_:2},1032,["model-value","onUpdate:modelValue"]),u(P,{title:"Modell",subtype:"text","model-value":a.info.model,"onUpdate:modelValue":O=>t.updateState(V,O,"info.model")},{help:r(()=>[...o[15]||(o[15]=[d(" Optional: zusätzliche Information für den Systembericht. ",-1)])]),_:2},1032,["model-value","onUpdate:modelValue"]),o[16]||(o[16]=c("hr",null,null,-1)),u(C,{device:_,component:a,"onUpdate:configuration":O=>n.updateConfiguration(V,O)},null,8,["device","component","onUpdate:configuration"])]),_:2,__:[16]},1032,["subtype"]))),128)),o[21]||(o[21]=c("hr",null,null,-1)),n.getComponentList(_.vendor,_.type).length?(v(),E(y,{key:1,title:"Verfügbare Komponenten","not-selected":"Bitte auswählen",options:n.getComponentList(_.vendor,_.type),"model-value":s.componentToAdd[_.id],"add-button":!0,"onUpdate:modelValue":a=>s.componentToAdd[_.id]=a,"onInput:add":a=>n.addComponent(_.id,_.vendor,_.type,s.componentToAdd[_.id])},{help:r(()=>[...o[17]||(o[17]=[d(" 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. ",-1)])]),_:2},1032,["options","model-value","onUpdate:modelValue","onInput:add"])):(v(),E(T,{key:2,subtype:"info"},{default:r(()=>[...o[18]||(o[18]=[d(" Dieses System bietet keine Komponenten zur Installation an. ",-1)])]),_:1,__:[18]}))]),_:2,__:[19,20,21]},1024))),128)),Object.keys(n.installedDevices).length>0?(v(),g("hr",Oe)):R("",!0),u(y,{modelValue:s.selectedVendor,"onUpdate:modelValue":o[0]||(o[0]=_=>s.selectedVendor=_),title:"Hersteller","not-selected":"Bitte auswählen",groups:n.vendorList},null,8,["modelValue","groups"]),u(y,{modelValue:s.deviceToAdd,"onUpdate:modelValue":[o[1]||(o[1]=_=>s.deviceToAdd=_),o[2]||(o[2]=_=>s.deviceToAdd=_)],title:"Verfügbare Geräte","not-selected":"Bitte auswählen",disabled:s.selectedVendor===void 0,options:n.deviceList,"model-value":s.deviceToAdd,"add-button":!0,"onInput:add":n.addDevice},{help:r(()=>o[22]||(o[22]=[c("p",null,[d(' Die openWB-Regelung ist auf Werte von Messpunkten (Zähler, Energy Meter usw.) angewiesen. Hierfür werden "Geräte" und "Komponenten" verwendet.'),c("br"),d(' 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),c("p",null,[d(' 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"),d(' Verfügt dagegen jeder Messpunkt über eine eigene IP-Adresse, wird jeder Messpunkt als eigenes "Gerät" mit nur einer "Komponente" angelegt. ')],-1),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)])),_:1},8,["modelValue","disabled","options","model-value","onInput:add"])]))]),_:1}),u(j,{"form-name":"hardwareInstallationForm",onSave:o[3]||(o[3]=_=>t.$emit("save")),onReset:o[4]||(o[4]=_=>t.$emit("reset")),onDefaults:o[5]||(o[5]=_=>t.$emit("defaults"))})])])],64)}const Ie=I(le,[["render",Te],["__file","/opt/openWB-dev/openwb-ui-settings/src/views/HardwareInstallation.vue"]]),Le=Object.freeze(Object.defineProperty({__proto__:null,default:Ie},Symbol.toStringTag,{value:"Module"}));export{re as C,B as D,Ie as H,Le as a};
+import{l as S,d as U,y as q,aj as G,aa as N,_ as K,Z as F,Y as H,F as $}from"./vendor-fortawesome-855c7d62.js";import{_ as e,C as J}from"./index-5b5e1b75.js";import{_ as x}from"./dynamic-import-helper-be004503.js";import{_ as I,u as p,l as v,m as g,x as E,E as r,B as d,F as f,G as u,A as c,a2 as z,a3 as Z,z as R,N as L,M as k,q as Y}from"./vendor-cc4615be.js";const Q={props:{device:{type:Object,required:!0}},emits:["update:configuration"],methods:{updateConfiguration(t,o=void 0){this.$emit("update:configuration",{value:t,object:o})}}},B=I(Q,[["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/DeviceConfigMixin.vue"]]),X={name:"DeviceFallback",mixins:[B]},ee={class:"device-fallback"},oe={key:1};function te(t,o,i,m,s,n){const l=p("openwb-base-alert"),A=p("openwb-base-textarea");return v(),g("div",ee,[Object.keys(t.device.configuration).length==0?(v(),E(l,{key:0,subtype:"info"},{default:r(()=>[d(' Der Gerät-Typ "'+f(t.device.type)+'" bietet keine Einstellungen. ',1)]),_:1})):(v(),g("div",oe,[u(l,{subtype:"warning"},{default:r(()=>[d(' Es wurde keine Konfigurationsseite für den Geräte-Typ "'+f(t.device.type)+'" gefunden. Die Einstellungen können als JSON direkt bearbeitet werden. ',1)]),_:1}),u(A,{title:"Konfiguration",subtype:"json","model-value":t.device.configuration,"onUpdate:modelValue":o[0]||(o[0]=T=>t.updateConfiguration(T,"configuration"))},{help:r(()=>o[1]||(o[1]=[d(" Bitte prüfen Sie, ob die Eingaben richtig interpretiert werden. ",-1)])),_:1},8,["model-value"]),u(l,{subtype:"info"},{default:r(()=>[c("pre",null,f(JSON.stringify(t.device.configuration,void 0,2)),1)]),_:1})]))])}const _e=I(X,[["render",te],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/OpenwbDeviceConfigFallback.vue"]]),ie={mixins:[B],props:{component:{type:Object,required:!0}}},re=I(ie,[["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/ComponentConfigMixin.vue"]]),ne={name:"ComponentFallback",mixins:[re]},ue={class:"component-fallback"},de={key:1};function ve(t,o,i,m,s,n){const l=p("openwb-base-alert"),A=p("openwb-base-textarea");return v(),g("div",ue,[Object.keys(t.component.configuration).length==0?(v(),E(l,{key:0,subtype:"info"},{default:r(()=>[d(' Der Komponenten-Typ "'+f(t.component.type)+'" bietet keine Einstellungen. ',1)]),_:1})):(v(),g("div",de,[u(l,{subtype:"warning"},{default:r(()=>[d(' Es wurde keine Konfigurationsseite für den Komponenten-Typ "'+f(t.component.type)+'" gefunden. Die Einstellungen können als JSON direkt bearbeitet werden. ',1)]),_:1}),u(A,{title:"Konfiguration",subtype:"json","model-value":t.component.configuration,"onUpdate:modelValue":o[0]||(o[0]=T=>t.updateConfiguration(T,"configuration"))},{help:r(()=>o[1]||(o[1]=[d(" Bitte prüfen Sie, ob die Eingaben richtig interpretiert werden. ",-1)])),_:1},8,["model-value"]),u(l,{subtype:"info"},{default:r(()=>[c("pre",null,f(JSON.stringify(t.component.configuration,void 0,2)),1)]),_:1})]))])}const se=I(ne,[["render",ve],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/OpenwbComponentConfigFallback.vue"]]),ae={name:"OpenwbConfigProxy",props:{device:{type:Object,required:!0},component:{type:Object,required:!1,default:void 0}},emits:["update:configuration"],methods:{getComponent(){var t;return console.debug(`loading component: ${this.device.type} / ${(t=this.component)==null?void 0:t.type}`),this.component!==void 0?z({loader:()=>x(Object.assign({"./algodue/algodue/device.vue":()=>e(()=>import("./device-b695068a.js"),["assets/device-b695068a.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./alpha_ess/alpha_ess/device.vue":()=>e(()=>import("./device-26cb01ff.js"),["assets/device-26cb01ff.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./ampere/ampere/device.vue":()=>e(()=>import("./device-add01a51.js"),["assets/device-add01a51.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./avm/avm/counter.vue":()=>e(()=>import("./counter-88982b01.js"),["assets/counter-88982b01.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./avm/avm/device.vue":()=>e(()=>import("./device-28efaad6.js"),["assets/device-28efaad6.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./azzurro_zcs/azzurro_zcs/device.vue":()=>e(()=>import("./device-acd658a9.js"),["assets/device-acd658a9.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./batterx/batterx/device.vue":()=>e(()=>import("./device-da4c8a0c.js"),["assets/device-da4c8a0c.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./benning/benning/device.vue":()=>e(()=>import("./device-bebe8eea.js"),["assets/device-bebe8eea.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./benning/benning/inverter.vue":()=>e(()=>import("./inverter-368435ba.js"),["assets/inverter-368435ba.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./byd/byd/device.vue":()=>e(()=>import("./device-aa041e22.js"),["assets/device-aa041e22.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./carlo_gavazzi/carlo_gavazzi/counter.vue":()=>e(()=>import("./counter-fe004f9c.js"),["assets/counter-fe004f9c.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./carlo_gavazzi/carlo_gavazzi/device.vue":()=>e(()=>import("./device-897ed9c7.js"),["assets/device-897ed9c7.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./deye/deye/bat.vue":()=>e(()=>import("./bat-7f9d958a.js"),["assets/bat-7f9d958a.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./deye/deye/counter.vue":()=>e(()=>import("./counter-9fcffe23.js"),["assets/counter-9fcffe23.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./deye/deye/device.vue":()=>e(()=>import("./device-5be5124f.js"),["assets/device-5be5124f.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./deye/deye/inverter.vue":()=>e(()=>import("./inverter-f5498730.js"),["assets/inverter-f5498730.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./discovergy/discovergy/counter.vue":()=>e(()=>import("./counter-d2e4dcd3.js"),["assets/counter-d2e4dcd3.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./discovergy/discovergy/device.vue":()=>e(()=>import("./device-894e1e36.js"),["assets/device-894e1e36.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./discovergy/discovergy/inverter.vue":()=>e(()=>import("./inverter-d0cfa178.js"),["assets/inverter-d0cfa178.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./e3dc/e3dc/device.vue":()=>e(()=>import("./device-e89a1f36.js"),["assets/device-e89a1f36.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./elgris/elgris/device.vue":()=>e(()=>import("./device-0418b69c.js"),["assets/device-0418b69c.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./enphase/enphase/counter.vue":()=>e(()=>import("./counter-0402fbea.js"),["assets/counter-0402fbea.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./enphase/enphase/device.vue":()=>e(()=>import("./device-bef28d96.js"),["assets/device-bef28d96.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./enphase/enphase/inverter.vue":()=>e(()=>import("./inverter-43d63312.js"),["assets/inverter-43d63312.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./fems/fems/bat.vue":()=>e(()=>import("./bat-198506bb.js"),["assets/bat-198506bb.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./fems/fems/device.vue":()=>e(()=>import("./device-ef5e14d8.js"),["assets/device-ef5e14d8.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./fox_ess/fox_ess/bat.vue":()=>e(()=>import("./bat-c8df9db2.js"),["assets/bat-c8df9db2.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./fox_ess/fox_ess/counter.vue":()=>e(()=>import("./counter-84f2b940.js"),["assets/counter-84f2b940.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./fox_ess/fox_ess/device.vue":()=>e(()=>import("./device-a68a7f61.js"),["assets/device-a68a7f61.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./fox_ess/fox_ess/inverter.vue":()=>e(()=>import("./inverter-ed07bcb8.js"),["assets/inverter-ed07bcb8.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./fronius/fronius/bat.vue":()=>e(()=>import("./bat-9d7a6eb2.js"),["assets/bat-9d7a6eb2.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./fronius/fronius/counter_sm.vue":()=>e(()=>import("./counter_sm-644407b2.js"),["assets/counter_sm-644407b2.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./fronius/fronius/device.vue":()=>e(()=>import("./device-17d5e025.js"),["assets/device-17d5e025.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./fronius/fronius/inverter_secondary.vue":()=>e(()=>import("./inverter_secondary-7d7c0326.js"),["assets/inverter_secondary-7d7c0326.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./generic/http/bat.vue":()=>e(()=>import("./bat-61976e47.js"),["assets/bat-61976e47.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./generic/http/counter.vue":()=>e(()=>import("./counter-02b4fe5b.js"),["assets/counter-02b4fe5b.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./generic/http/device.vue":()=>e(()=>import("./device-b114c41e.js"),["assets/device-b114c41e.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./generic/http/inverter.vue":()=>e(()=>import("./inverter-6ff09b8a.js"),["assets/inverter-6ff09b8a.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./generic/json/bat.vue":()=>e(()=>import("./bat-178b4d72.js"),["assets/bat-178b4d72.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./generic/json/counter.vue":()=>e(()=>import("./counter-131c9643.js"),["assets/counter-131c9643.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./generic/json/device.vue":()=>e(()=>import("./device-8c096b1c.js"),["assets/device-8c096b1c.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./generic/json/inverter.vue":()=>e(()=>import("./inverter-4b9a884a.js"),["assets/inverter-4b9a884a.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./generic/mqtt/bat.vue":()=>e(()=>import("./bat-ad50e924.js"),["assets/bat-ad50e924.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./generic/mqtt/counter.vue":()=>e(()=>import("./counter-ea3377d7.js"),["assets/counter-ea3377d7.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./generic/mqtt/device.vue":()=>e(()=>import("./device-36206448.js"),["assets/device-36206448.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./generic/mqtt/inverter.vue":()=>e(()=>import("./inverter-87f2f05b.js"),["assets/inverter-87f2f05b.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./generic/virtual/counter.vue":()=>e(()=>import("./counter-66796b0b.js"),["assets/counter-66796b0b.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./good_we/good_we/bat.vue":()=>e(()=>import("./bat-0ab7bb3c.js"),["assets/bat-0ab7bb3c.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./good_we/good_we/device.vue":()=>e(()=>import("./device-6e97a762.js"),["assets/device-6e97a762.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./growatt/growatt/device.vue":()=>e(()=>import("./device-c9d7c99b.js"),["assets/device-c9d7c99b.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./huawei/huawei/device.vue":()=>e(()=>import("./device-c73cffb1.js"),["assets/device-c73cffb1.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./huawei/huawei_emma/device.vue":()=>e(()=>import("./device-36d1c02e.js"),["assets/device-36d1c02e.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./huawei/huawei_smartlogger/bat.vue":()=>e(()=>import("./bat-d22cb137.js"),["assets/bat-d22cb137.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./huawei/huawei_smartlogger/counter.vue":()=>e(()=>import("./counter-90cbf7c3.js"),["assets/counter-90cbf7c3.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./huawei/huawei_smartlogger/device.vue":()=>e(()=>import("./device-953c515a.js"),["assets/device-953c515a.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./huawei/huawei_smartlogger/inverter.vue":()=>e(()=>import("./inverter-b5ee1741.js"),["assets/inverter-b5ee1741.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./janitza/janitza/counter.vue":()=>e(()=>import("./counter-e40d6637.js"),["assets/counter-e40d6637.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./janitza/janitza/device.vue":()=>e(()=>import("./device-bac53175.js"),["assets/device-bac53175.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./kaco/kaco_tx/device.vue":()=>e(()=>import("./device-de77a290.js"),["assets/device-de77a290.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./kaco/kaco_tx/inverter.vue":()=>e(()=>import("./inverter-1d570cc3.js"),["assets/inverter-1d570cc3.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./kostal/kostal_piko/counter.vue":()=>e(()=>import("./counter-a8dd44f0.js"),["assets/counter-a8dd44f0.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./kostal/kostal_piko/device.vue":()=>e(()=>import("./device-f33854c7.js"),["assets/device-f33854c7.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./kostal/kostal_piko/inverter.vue":()=>e(()=>import("./inverter-28f2d192.js"),["assets/inverter-28f2d192.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./kostal/kostal_piko_old/device.vue":()=>e(()=>import("./device-7d51e530.js"),["assets/device-7d51e530.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./kostal/kostal_plenticore/counter.vue":()=>e(()=>import("./counter-0f90fbb4.js"),["assets/counter-0f90fbb4.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./kostal/kostal_plenticore/device.vue":()=>e(()=>import("./device-b978ff0c.js"),["assets/device-b978ff0c.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./kostal/kostal_sem/counter.vue":()=>e(()=>import("./counter-6014897a.js"),["assets/counter-6014897a.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./kostal/kostal_sem/device.vue":()=>e(()=>import("./device-a2b8c57b.js"),["assets/device-a2b8c57b.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./kostal/kostal_steca/device.vue":()=>e(()=>import("./device-59d8f491.js"),["assets/device-59d8f491.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./kostal/kostal_steca/inverter.vue":()=>e(()=>import("./inverter-355fe1e0.js"),["assets/inverter-355fe1e0.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./lg/lg/device.vue":()=>e(()=>import("./device-4d1a23d8.js"),["assets/device-4d1a23d8.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./mtec/mtec/bat.vue":()=>e(()=>import("./bat-2f843b85.js"),["assets/bat-2f843b85.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./mtec/mtec/counter.vue":()=>e(()=>import("./counter-a45df58a.js"),["assets/counter-a45df58a.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./mtec/mtec/device.vue":()=>e(()=>import("./device-0067586f.js"),["assets/device-0067586f.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./mtec/mtec/inverter.vue":()=>e(()=>import("./inverter-22b22d69.js"),["assets/inverter-22b22d69.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./mystrom/mystrom/device.vue":()=>e(()=>import("./device-1c1308a7.js"),["assets/device-1c1308a7.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./nibe/nibe/counter.vue":()=>e(()=>import("./counter-96fd1246.js"),["assets/counter-96fd1246.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./nibe/nibe/device.vue":()=>e(()=>import("./device-35fe94a8.js"),["assets/device-35fe94a8.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./opendtu/opendtu/device.vue":()=>e(()=>import("./device-d3973c81.js"),["assets/device-d3973c81.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./opendtu/opendtu/inverter.vue":()=>e(()=>import("./inverter-288f20ba.js"),["assets/inverter-288f20ba.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./openwb/openwb_bat_kit/bat.vue":()=>e(()=>import("./bat-24ad9602.js"),["assets/bat-24ad9602.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./openwb/openwb_evu_kit/bat.vue":()=>e(()=>import("./bat-1ea31bcb.js"),["assets/bat-1ea31bcb.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./openwb/openwb_evu_kit/counter.vue":()=>e(()=>import("./counter-f9ff4c43.js"),["assets/counter-f9ff4c43.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./openwb/openwb_evu_kit/inverter.vue":()=>e(()=>import("./inverter-3b4e19fa.js"),["assets/inverter-3b4e19fa.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./openwb/openwb_flex/bat.vue":()=>e(()=>import("./bat-cadab577.js"),["assets/bat-cadab577.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./openwb/openwb_flex/consumption_counter.vue":()=>e(()=>import("./consumption_counter-3eda920a.js"),["assets/consumption_counter-3eda920a.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./openwb/openwb_flex/counter.vue":()=>e(()=>import("./counter-c9612c06.js"),["assets/counter-c9612c06.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./openwb/openwb_flex/device.vue":()=>e(()=>import("./device-c03a1f17.js"),["assets/device-c03a1f17.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./openwb/openwb_flex/inverter.vue":()=>e(()=>import("./inverter-dcfb460b.js"),["assets/inverter-dcfb460b.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./openwb/openwb_pv_kit/inverter.vue":()=>e(()=>import("./inverter-87d42851.js"),["assets/inverter-87d42851.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./orno/orno/counter.vue":()=>e(()=>import("./counter-fa94f200.js"),["assets/counter-fa94f200.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./orno/orno/device.vue":()=>e(()=>import("./device-95a4fc1b.js"),["assets/device-95a4fc1b.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./powerdog/powerdog/counter.vue":()=>e(()=>import("./counter-aa4c34e5.js"),["assets/counter-aa4c34e5.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./powerdog/powerdog/device.vue":()=>e(()=>import("./device-bc822556.js"),["assets/device-bc822556.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./powerfox/powerfox/counter.vue":()=>e(()=>import("./counter-b0118850.js"),["assets/counter-b0118850.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./powerfox/powerfox/device.vue":()=>e(()=>import("./device-ca985fe7.js"),["assets/device-ca985fe7.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./powerfox/powerfox/inverter.vue":()=>e(()=>import("./inverter-cdc91938.js"),["assets/inverter-cdc91938.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./qcells/qcells/device.vue":()=>e(()=>import("./device-9e672cae.js"),["assets/device-9e672cae.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./rct/rct/device.vue":()=>e(()=>import("./device-476e3af1.js"),["assets/device-476e3af1.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./saxpower/saxpower/device.vue":()=>e(()=>import("./device-47dd1fe2.js"),["assets/device-47dd1fe2.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./shelly/shelly/counter.vue":()=>e(()=>import("./counter-26162baf.js"),["assets/counter-26162baf.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./shelly/shelly/device.vue":()=>e(()=>import("./device-4753a209.js"),["assets/device-4753a209.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./siemens/siemens/device.vue":()=>e(()=>import("./device-7b75323a.js"),["assets/device-7b75323a.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./siemens/siemens_sentron/device.vue":()=>e(()=>import("./device-a9dd072b.js"),["assets/device-a9dd072b.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./sigenergy/sigenergy/bat.vue":()=>e(()=>import("./bat-a3aa8666.js"),["assets/bat-a3aa8666.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./sigenergy/sigenergy/counter.vue":()=>e(()=>import("./counter-2841a6f4.js"),["assets/counter-2841a6f4.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./sigenergy/sigenergy/device.vue":()=>e(()=>import("./device-459d681f.js"),["assets/device-459d681f.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./sigenergy/sigenergy/inverter.vue":()=>e(()=>import("./inverter-f9f11d2f.js"),["assets/inverter-f9f11d2f.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./sma/sma_shm/counter.vue":()=>e(()=>import("./counter-4363f779.js"),["assets/counter-4363f779.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./sma/sma_shm/inverter.vue":()=>e(()=>import("./inverter-0e8ec83e.js"),["assets/inverter-0e8ec83e.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./sma/sma_sunny_boy/bat.vue":()=>e(()=>import("./bat-f5996a86.js"),["assets/bat-f5996a86.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./sma/sma_sunny_boy/bat_smart_energy.vue":()=>e(()=>import("./bat_smart_energy-f85a7ba3.js"),["assets/bat_smart_energy-f85a7ba3.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./sma/sma_sunny_boy/counter.vue":()=>e(()=>import("./counter-a4e6b35f.js"),["assets/counter-a4e6b35f.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./sma/sma_sunny_boy/device.vue":()=>e(()=>import("./device-abe914f8.js"),["assets/device-abe914f8.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./sma/sma_sunny_boy/inverter.vue":()=>e(()=>import("./inverter-6e1544e1.js"),["assets/inverter-6e1544e1.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./sma/sma_sunny_island/bat.vue":()=>e(()=>import("./bat-7f36252e.js"),["assets/bat-7f36252e.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./sma/sma_sunny_island/device.vue":()=>e(()=>import("./device-4561c08a.js"),["assets/device-4561c08a.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./sma/sma_webbox/device.vue":()=>e(()=>import("./device-669b1055.js"),["assets/device-669b1055.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./smart_me/smart_me/counter.vue":()=>e(()=>import("./counter-1c49d5b6.js"),["assets/counter-1c49d5b6.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./smart_me/smart_me/device.vue":()=>e(()=>import("./device-7f3ca9c5.js"),["assets/device-7f3ca9c5.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./smart_me/smart_me/inverter.vue":()=>e(()=>import("./inverter-3ba45e90.js"),["assets/inverter-3ba45e90.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./smartfox/smartfox/device.vue":()=>e(()=>import("./device-87d9128d.js"),["assets/device-87d9128d.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./sofar/sofar/device.vue":()=>e(()=>import("./device-9957bca2.js"),["assets/device-9957bca2.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./solar_log/solar_log/counter.vue":()=>e(()=>import("./counter-0a8d8873.js"),["assets/counter-0a8d8873.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./solar_log/solar_log/device.vue":()=>e(()=>import("./device-d9cb59b2.js"),["assets/device-d9cb59b2.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./solar_view/solar_view/device.vue":()=>e(()=>import("./device-614a3bbf.js"),["assets/device-614a3bbf.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./solar_view/solar_view/inverter.vue":()=>e(()=>import("./inverter-31850b39.js"),["assets/inverter-31850b39.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./solar_watt/solar_watt/device.vue":()=>e(()=>import("./device-5ed5b74b.js"),["assets/device-5ed5b74b.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./solar_world/solar_world/device.vue":()=>e(()=>import("./device-3e5fa86e.js"),["assets/device-3e5fa86e.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./solaredge/solaredge/bat.vue":()=>e(()=>import("./bat-162d668e.js"),["assets/bat-162d668e.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./solaredge/solaredge/counter.vue":()=>e(()=>import("./counter-63297872.js"),["assets/counter-63297872.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./solaredge/solaredge/device.vue":()=>e(()=>import("./device-edff48ee.js"),["assets/device-edff48ee.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./solaredge/solaredge/external_inverter.vue":()=>e(()=>import("./external_inverter-6433fd21.js"),["assets/external_inverter-6433fd21.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./solaredge/solaredge/inverter.vue":()=>e(()=>import("./inverter-0362bee6.js"),["assets/inverter-0362bee6.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./solarmax/solarmax/bat.vue":()=>e(()=>import("./bat-0a6c26e6.js"),["assets/bat-0a6c26e6.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./solarmax/solarmax/device.vue":()=>e(()=>import("./device-3be21bca.js"),["assets/device-3be21bca.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./solarmax/solarmax/inverter.vue":()=>e(()=>import("./inverter-2734679f.js"),["assets/inverter-2734679f.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./solax/solax/device.vue":()=>e(()=>import("./device-b830b43e.js"),["assets/device-b830b43e.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./solis/solis/bat.vue":()=>e(()=>import("./bat-2c687349.js"),["assets/bat-2c687349.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./solis/solis/counter.vue":()=>e(()=>import("./counter-a4db7e1c.js"),["assets/counter-a4db7e1c.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./solis/solis/device.vue":()=>e(()=>import("./device-08617811.js"),["assets/device-08617811.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./solis/solis/inverter.vue":()=>e(()=>import("./inverter-0fca0a34.js"),["assets/inverter-0fca0a34.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./sonnen/sonnenbatterie/bat.vue":()=>e(()=>import("./bat-a148f905.js"),["assets/bat-a148f905.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./sonnen/sonnenbatterie/counter.vue":()=>e(()=>import("./counter-9d8705db.js"),["assets/counter-9d8705db.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./sonnen/sonnenbatterie/counter_consumption.vue":()=>e(()=>import("./counter_consumption-91fffa45.js"),["assets/counter_consumption-91fffa45.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./sonnen/sonnenbatterie/device.vue":()=>e(()=>import("./device-baaf54be.js"),["assets/device-baaf54be.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./studer/studer/bat.vue":()=>e(()=>import("./bat-5d61bb37.js"),["assets/bat-5d61bb37.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./studer/studer/device.vue":()=>e(()=>import("./device-5c1283a2.js"),["assets/device-5c1283a2.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./studer/studer/inverter.vue":()=>e(()=>import("./inverter-38338915.js"),["assets/inverter-38338915.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./sungrow/sungrow/device.vue":()=>e(()=>import("./device-34a5fde6.js"),["assets/device-34a5fde6.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./sunways/sunways/device.vue":()=>e(()=>import("./device-dbf66cd3.js"),["assets/device-dbf66cd3.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./tasmota/tasmota/device.vue":()=>e(()=>import("./device-311f3163.js"),["assets/device-311f3163.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./tesla/tesla/counter.vue":()=>e(()=>import("./counter-bf7b26c1.js"),["assets/counter-bf7b26c1.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./tesla/tesla/device.vue":()=>e(()=>import("./device-c57e2427.js"),["assets/device-c57e2427.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./thermia/thermia/counter.vue":()=>e(()=>import("./counter-46e2c43c.js"),["assets/counter-46e2c43c.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./thermia/thermia/device.vue":()=>e(()=>import("./device-a653fa8f.js"),["assets/device-a653fa8f.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./upower/upower/device.vue":()=>e(()=>import("./device-c280b8ae.js"),["assets/device-c280b8ae.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./varta/varta/device.vue":()=>e(()=>import("./device-587feb6a.js"),["assets/device-587feb6a.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./varta/varta/inverter.vue":()=>e(()=>import("./inverter-4d10a817.js"),["assets/inverter-4d10a817.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./victron/victron/bat.vue":()=>e(()=>import("./bat-ff14336b.js"),["assets/bat-ff14336b.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./victron/victron/counter.vue":()=>e(()=>import("./counter-58cdd3f8.js"),["assets/counter-58cdd3f8.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./victron/victron/device.vue":()=>e(()=>import("./device-f88bddc1.js"),["assets/device-f88bddc1.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./victron/victron/inverter.vue":()=>e(()=>import("./inverter-faacb770.js"),["assets/inverter-faacb770.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./vzlogger/vzlogger/counter.vue":()=>e(()=>import("./counter-cbef25b6.js"),["assets/counter-cbef25b6.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./vzlogger/vzlogger/device.vue":()=>e(()=>import("./device-ba69bd6e.js"),["assets/device-ba69bd6e.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./vzlogger/vzlogger/inverter.vue":()=>e(()=>import("./inverter-605fa6ec.js"),["assets/inverter-605fa6ec.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./youless/youless/device.vue":()=>e(()=>import("./device-c318fc1d.js"),["assets/device-c318fc1d.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./youless/youless/inverter.vue":()=>e(()=>import("./inverter-71e5d1d9.js"),["assets/inverter-71e5d1d9.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"])}),`./${this.device.vendor}/${this.device.type}/${this.component.type}.vue`),errorComponent:se}):z({loader:()=>x(Object.assign({"./algodue/algodue/device.vue":()=>e(()=>import("./device-b695068a.js"),["assets/device-b695068a.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./alpha_ess/alpha_ess/device.vue":()=>e(()=>import("./device-26cb01ff.js"),["assets/device-26cb01ff.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./ampere/ampere/device.vue":()=>e(()=>import("./device-add01a51.js"),["assets/device-add01a51.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./avm/avm/device.vue":()=>e(()=>import("./device-28efaad6.js"),["assets/device-28efaad6.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./azzurro_zcs/azzurro_zcs/device.vue":()=>e(()=>import("./device-acd658a9.js"),["assets/device-acd658a9.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./batterx/batterx/device.vue":()=>e(()=>import("./device-da4c8a0c.js"),["assets/device-da4c8a0c.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./benning/benning/device.vue":()=>e(()=>import("./device-bebe8eea.js"),["assets/device-bebe8eea.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./byd/byd/device.vue":()=>e(()=>import("./device-aa041e22.js"),["assets/device-aa041e22.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./carlo_gavazzi/carlo_gavazzi/device.vue":()=>e(()=>import("./device-897ed9c7.js"),["assets/device-897ed9c7.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./deye/deye/device.vue":()=>e(()=>import("./device-5be5124f.js"),["assets/device-5be5124f.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./discovergy/discovergy/device.vue":()=>e(()=>import("./device-894e1e36.js"),["assets/device-894e1e36.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./e3dc/e3dc/device.vue":()=>e(()=>import("./device-e89a1f36.js"),["assets/device-e89a1f36.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./elgris/elgris/device.vue":()=>e(()=>import("./device-0418b69c.js"),["assets/device-0418b69c.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./enphase/enphase/device.vue":()=>e(()=>import("./device-bef28d96.js"),["assets/device-bef28d96.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./fems/fems/device.vue":()=>e(()=>import("./device-ef5e14d8.js"),["assets/device-ef5e14d8.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./fox_ess/fox_ess/device.vue":()=>e(()=>import("./device-a68a7f61.js"),["assets/device-a68a7f61.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./fronius/fronius/device.vue":()=>e(()=>import("./device-17d5e025.js"),["assets/device-17d5e025.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./generic/http/device.vue":()=>e(()=>import("./device-b114c41e.js"),["assets/device-b114c41e.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./generic/json/device.vue":()=>e(()=>import("./device-8c096b1c.js"),["assets/device-8c096b1c.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./generic/mqtt/device.vue":()=>e(()=>import("./device-36206448.js"),["assets/device-36206448.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./good_we/good_we/device.vue":()=>e(()=>import("./device-6e97a762.js"),["assets/device-6e97a762.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./growatt/growatt/device.vue":()=>e(()=>import("./device-c9d7c99b.js"),["assets/device-c9d7c99b.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./huawei/huawei/device.vue":()=>e(()=>import("./device-c73cffb1.js"),["assets/device-c73cffb1.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./huawei/huawei_emma/device.vue":()=>e(()=>import("./device-36d1c02e.js"),["assets/device-36d1c02e.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./huawei/huawei_smartlogger/device.vue":()=>e(()=>import("./device-953c515a.js"),["assets/device-953c515a.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./janitza/janitza/device.vue":()=>e(()=>import("./device-bac53175.js"),["assets/device-bac53175.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./kaco/kaco_tx/device.vue":()=>e(()=>import("./device-de77a290.js"),["assets/device-de77a290.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./kostal/kostal_piko/device.vue":()=>e(()=>import("./device-f33854c7.js"),["assets/device-f33854c7.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./kostal/kostal_piko_old/device.vue":()=>e(()=>import("./device-7d51e530.js"),["assets/device-7d51e530.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./kostal/kostal_plenticore/device.vue":()=>e(()=>import("./device-b978ff0c.js"),["assets/device-b978ff0c.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./kostal/kostal_sem/device.vue":()=>e(()=>import("./device-a2b8c57b.js"),["assets/device-a2b8c57b.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./kostal/kostal_steca/device.vue":()=>e(()=>import("./device-59d8f491.js"),["assets/device-59d8f491.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./lg/lg/device.vue":()=>e(()=>import("./device-4d1a23d8.js"),["assets/device-4d1a23d8.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./mtec/mtec/device.vue":()=>e(()=>import("./device-0067586f.js"),["assets/device-0067586f.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./mystrom/mystrom/device.vue":()=>e(()=>import("./device-1c1308a7.js"),["assets/device-1c1308a7.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./nibe/nibe/device.vue":()=>e(()=>import("./device-35fe94a8.js"),["assets/device-35fe94a8.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./opendtu/opendtu/device.vue":()=>e(()=>import("./device-d3973c81.js"),["assets/device-d3973c81.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./openwb/openwb_flex/device.vue":()=>e(()=>import("./device-c03a1f17.js"),["assets/device-c03a1f17.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./orno/orno/device.vue":()=>e(()=>import("./device-95a4fc1b.js"),["assets/device-95a4fc1b.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./powerdog/powerdog/device.vue":()=>e(()=>import("./device-bc822556.js"),["assets/device-bc822556.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./powerfox/powerfox/device.vue":()=>e(()=>import("./device-ca985fe7.js"),["assets/device-ca985fe7.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./qcells/qcells/device.vue":()=>e(()=>import("./device-9e672cae.js"),["assets/device-9e672cae.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./rct/rct/device.vue":()=>e(()=>import("./device-476e3af1.js"),["assets/device-476e3af1.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./saxpower/saxpower/device.vue":()=>e(()=>import("./device-47dd1fe2.js"),["assets/device-47dd1fe2.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./shelly/shelly/device.vue":()=>e(()=>import("./device-4753a209.js"),["assets/device-4753a209.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./siemens/siemens/device.vue":()=>e(()=>import("./device-7b75323a.js"),["assets/device-7b75323a.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./siemens/siemens_sentron/device.vue":()=>e(()=>import("./device-a9dd072b.js"),["assets/device-a9dd072b.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./sigenergy/sigenergy/device.vue":()=>e(()=>import("./device-459d681f.js"),["assets/device-459d681f.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./sma/sma_sunny_boy/device.vue":()=>e(()=>import("./device-abe914f8.js"),["assets/device-abe914f8.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./sma/sma_sunny_island/device.vue":()=>e(()=>import("./device-4561c08a.js"),["assets/device-4561c08a.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./sma/sma_webbox/device.vue":()=>e(()=>import("./device-669b1055.js"),["assets/device-669b1055.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./smart_me/smart_me/device.vue":()=>e(()=>import("./device-7f3ca9c5.js"),["assets/device-7f3ca9c5.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./smartfox/smartfox/device.vue":()=>e(()=>import("./device-87d9128d.js"),["assets/device-87d9128d.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./sofar/sofar/device.vue":()=>e(()=>import("./device-9957bca2.js"),["assets/device-9957bca2.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./solar_log/solar_log/device.vue":()=>e(()=>import("./device-d9cb59b2.js"),["assets/device-d9cb59b2.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./solar_view/solar_view/device.vue":()=>e(()=>import("./device-614a3bbf.js"),["assets/device-614a3bbf.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./solar_watt/solar_watt/device.vue":()=>e(()=>import("./device-5ed5b74b.js"),["assets/device-5ed5b74b.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./solar_world/solar_world/device.vue":()=>e(()=>import("./device-3e5fa86e.js"),["assets/device-3e5fa86e.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./solaredge/solaredge/device.vue":()=>e(()=>import("./device-edff48ee.js"),["assets/device-edff48ee.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./solarmax/solarmax/device.vue":()=>e(()=>import("./device-3be21bca.js"),["assets/device-3be21bca.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./solax/solax/device.vue":()=>e(()=>import("./device-b830b43e.js"),["assets/device-b830b43e.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./solis/solis/device.vue":()=>e(()=>import("./device-08617811.js"),["assets/device-08617811.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./sonnen/sonnenbatterie/device.vue":()=>e(()=>import("./device-baaf54be.js"),["assets/device-baaf54be.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./studer/studer/device.vue":()=>e(()=>import("./device-5c1283a2.js"),["assets/device-5c1283a2.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./sungrow/sungrow/device.vue":()=>e(()=>import("./device-34a5fde6.js"),["assets/device-34a5fde6.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./sunways/sunways/device.vue":()=>e(()=>import("./device-dbf66cd3.js"),["assets/device-dbf66cd3.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./tasmota/tasmota/device.vue":()=>e(()=>import("./device-311f3163.js"),["assets/device-311f3163.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./tesla/tesla/device.vue":()=>e(()=>import("./device-c57e2427.js"),["assets/device-c57e2427.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./thermia/thermia/device.vue":()=>e(()=>import("./device-a653fa8f.js"),["assets/device-a653fa8f.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./upower/upower/device.vue":()=>e(()=>import("./device-c280b8ae.js"),["assets/device-c280b8ae.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./varta/varta/device.vue":()=>e(()=>import("./device-587feb6a.js"),["assets/device-587feb6a.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./victron/victron/device.vue":()=>e(()=>import("./device-f88bddc1.js"),["assets/device-f88bddc1.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./vzlogger/vzlogger/device.vue":()=>e(()=>import("./device-ba69bd6e.js"),["assets/device-ba69bd6e.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./youless/youless/device.vue":()=>e(()=>import("./device-c318fc1d.js"),["assets/device-c318fc1d.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"])}),`./${this.device.vendor}/${this.device.type}/device.vue`),errorComponent:_e})},updateConfiguration(t){this.$emit("update:configuration",t)}}};function me(t,o,i,m,s,n){return v(),E(Z(n.getComponent()),{device:i.device,component:i.component,configuration:i.component?i.component.configuration:i.device.configuration,"device-id":i.device.id,"device-type":i.device.type,"component-id":i.component?i.component.id:void 0,"component-type":i.component?i.component.type:void 0,"onUpdate:configuration":o[0]||(o[0]=l=>n.updateConfiguration(l))},null,40,["device","component","configuration","device-id","device-type","component-id","component-type"])}const pe=I(ae,[["render",me],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/OpenwbConfigProxy.vue"]]);S.add(U,q,G,N,K,F,H);const le={name:"OpenwbHardwareInstallationView",components:{FontAwesomeIcon:$,OpenwbConfigProxy:pe},mixins:[J],props:{installAssistantActive:{type:Boolean,required:!1,default:!1}},emits:["sendCommand","save","reset","defaults"],data(){return{mqttTopicsToSubscribe:["openWB/general/extern","openWB/counter/get/hierarchy","openWB/system/device/+/config","openWB/system/device/+/component/+/config","openWB/system/configurable/devices_components"],selectedVendor:void 0,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")}},vendorList:{get(){return this.$store.state.mqtt["openWB/system/configurable/devices_components"]===void 0?[]:Object.entries(this.$store.state.mqtt["openWB/system/configurable/devices_components"]).map(([t,o])=>({label:o.group_name,options:Object.entries(o.vendors).map(([i,m])=>({value:[t,i],text:m.vendor_name})).sort((i,m)=>i.text.localeCompare(m.text))})).sort((t,o)=>-t.label.localeCompare(o.label))}},deviceList:{get(){if(this.selectedVendor===void 0)return[];let[t,o]=this.selectedVendor;return Object.entries(this.$store.state.mqtt["openWB/system/configurable/devices_components"][t].vendors[o].devices).map(([i,m])=>({value:[o,i],text:m.device_name})).sort((i,m)=>i.text.localeCompare(m.text))}}},methods:{getComponentTypeClass(t){return t.match(/^(.+_)?counter(_.+)?$/)?"danger":t.match(/^(.+_)?inverter(_.+)?$/)?"success":t.match(/^(.+_)?bat(_.+)?$/)?"warning":"dark"},getComponentTypeIcon(t){return t.match(/^(.+_)?counter(_.+)?$/)?["fas","fa-gauge-high"]:t.match(/^(.+_)?inverter(_.+)?$/)?["fas","fa-solar-panel"]:t.match(/^(.+_)?bat(_.+)?$/)?["fas","fa-car-battery"]:["fas","fa-microchip"]},getMyInstalledComponents(t){return this.getWildcardTopics("openWB/system/device/"+t+"/component/+/config")},deviceHasConfiguredComponents(t){return Object.keys(this.getMyInstalledComponents(t)).length>0},addDevice(){this.$emit("sendCommand",{command:"addDevice",data:{vendor:this.deviceToAdd[0],type:this.deviceToAdd[1]}})},removeDeviceModal(t,o,i){i.stopPropagation(),this.modalDevice=t,this.modalDeviceName=o,this.showDeviceRemoveModal=!0},removeDevice(t){this.showDeviceRemoveModal=!1,t=="confirm"&&this.$emit("sendCommand",{command:"removeDevice",data:{id:this.modalDevice}})},addComponent(t,o,i,m){this.$emit("sendCommand",{command:"addComponent",data:{deviceId:t,deviceType:i,deviceVendor:o,type:m}})},removeComponentModal(t,o,i,m,s){s.stopPropagation(),this.modalComponent={deviceId:t,id:o,type:i},this.modalComponentName=m,this.showComponentRemoveModal=!0},removeComponent(t){this.showComponentRemoveModal=!1,t=="confirm"&&this.$emit("sendCommand",{command:"removeComponent",data:this.modalComponent})},getComponentList(t,o){if(t===void 0||o===void 0)return[];let i=[];return Object.values(this.$store.state.mqtt["openWB/system/configurable/devices_components"]).every(m=>m.vendors[t]!==void 0?(m.vendors[t].devices[o]!==void 0&&(i=Object.entries(m.vendors[t].devices[o].components).map(([n,l])=>({value:n,text:l.component_name}))),!1):!0),i},updateConfiguration(t,o){console.debug("updateConfiguration",t,o),this.updateState(t,o.value,o.object)}}},ce={class:"hardwareInstallation"},Ee={name:"hardwareInstallationForm"},ge={key:0},Ve={key:1},fe={key:1},Oe={key:0};function Te(t,o,i,m,s,n){const l=p("openwb-base-modal-dialog"),A=p("router-link"),T=p("openwb-base-alert"),b=p("font-awesome-icon"),D=p("openwb-base-avatar"),P=p("openwb-base-text-input"),C=p("openwb-config-proxy"),M=p("openwb-base-heading"),w=p("openwb-base-card"),y=p("openwb-base-select-input"),j=p("openwb-base-submit-buttons");return v(),g(L,null,[u(l,{show:s.showDeviceRemoveModal,title:"Gerät löschen",subtype:"danger",buttons:[{text:"Löschen",event:"confirm",subtype:"danger"}],onModalResult:n.removeDevice},{default:r(()=>[d(' Wollen Sie das Gerät "'+f(s.modalDeviceName)+'" inklusive aller Komponenten wirklich entfernen? Dieser Vorgang kann nicht rückgängig gemacht werden! ',1)]),_:1},8,["show","onModalResult"]),u(l,{show:s.showComponentRemoveModal,title:"Komponente löschen",subtype:"danger",buttons:[{text:"Löschen",event:"confirm",subtype:"danger"}],onModalResult:n.removeComponent},{default:r(()=>[d(' Wollen Sie die Komponente "'+f(s.modalComponentName)+'" wirklich entfernen? Dieser Vorgang kann nicht rückgängig gemacht werden! ',1)]),_:1},8,["show","onModalResult"]),c("div",ce,[c("form",Ee,[i.installAssistantActive?R("",!0):(v(),E(T,{key:0,subtype:"info"},{default:r(()=>[o[7]||(o[7]=d(" Wenn neue Komponenten - insbesondere Zähler - konfiguriert wurden, ist auch das ",-1)),u(A,{to:"/LoadManagementConfiguration"},{default:r(()=>o[6]||(o[6]=[d(" Lastmanagement ",-1)])),_:1,__:[6]}),o[8]||(o[8]=d(" zu prüfen!",-1)),o[9]||(o[9]=c("br",null,null,-1)),o[10]||(o[10]=d(" Je nach Hersteller muss eventuell die Kommunikation im Wechselrichter freigegeben werden (z.B. Aktivierung Modbus TCP, Portfreigaben o.Ä.) ",-1))]),_:1,__:[7,8,9,10]})),u(w,{title:"Geräte und Komponenten"},{default:r(()=>[t.$store.state.mqtt["openWB/general/extern"]===!0?(v(),g("div",ge,[u(T,{subtype:"info"},{default:r(()=>o[11]||(o[11]=[d(' Diese Einstellungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. ',-1)])),_:1,__:[11]})])):(v(),g("div",Ve,[(v(!0),g(L,null,k(n.installedDevices,(_,h)=>(v(),E(w,{key:h,collapsible:!0,collapsed:!0,subtype:"dark"},{header:r(()=>[u(b,{icon:["fas","network-wired"]}),d(" "+f(_==null?void 0:_.name),1)]),actions:r(a=>[a.collapsed?(v(),g("div",fe,[(v(!0),g(L,null,k(n.getMyInstalledComponents(_==null?void 0:_.id),V=>(v(),E(D,{key:V.id,class:Y("ml-1 bg-"+n.getComponentTypeClass(V.type))},{default:r(()=>[u(b,{icon:n.getComponentTypeIcon(V.type)},null,8,["icon"])]),_:2},1032,["class"]))),128))])):(v(),E(D,{key:0,class:"bg-danger clickable",onClick:V=>n.removeDeviceModal(_==null?void 0:_.id,_==null?void 0:_.name,V)},{default:r(()=>[u(b,{icon:["fas","trash"]})]),_:2},1032,["onClick"]))]),default:r(()=>[u(P,{title:"Bezeichnung",subtype:"text","model-value":_==null?void 0:_.name,"onUpdate:modelValue":a=>t.updateState(h,a,"name")},null,8,["model-value","onUpdate:modelValue"]),o[19]||(o[19]=c("hr",null,null,-1)),u(C,{device:_,"onUpdate:configuration":a=>n.updateConfiguration(h,a)},null,8,["device","onUpdate:configuration"]),o[20]||(o[20]=c("hr",null,null,-1)),u(M,null,{default:r(()=>[...o[12]||(o[12]=[d("Komponenten",-1)])]),_:1,__:[12]}),n.deviceHasConfiguredComponents(_==null?void 0:_.id)?R("",!0):(v(),E(T,{key:0,subtype:"warning"},{default:r(()=>[...o[13]||(o[13]=[d(" Es wurden noch keine Komponenten zu diesem Gerät angelegt. ",-1)])]),_:1,__:[13]})),(v(!0),g(L,null,k(n.getMyInstalledComponents(_.id),(a,V)=>(v(),E(w,{key:a.id,collapsible:!0,collapsed:!0,subtype:n.getComponentTypeClass(a.type)},{header:r(()=>[u(b,{icon:n.getComponentTypeIcon(a.type)},null,8,["icon"]),d(" "+f(a.name),1)]),actions:r(O=>[O.collapsed?R("",!0):(v(),E(D,{key:0,class:"bg-danger clickable",onClick:W=>n.removeComponentModal(_.id,a.id,a.type,a.name,W)},{default:r(()=>[u(b,{icon:["fas","trash"]})]),_:2},1032,["onClick"]))]),default:r(()=>[u(P,{title:"Bezeichnung",subtype:"text","model-value":a.name,"onUpdate:modelValue":O=>t.updateState(V,O,"name")},null,8,["model-value","onUpdate:modelValue"]),u(P,{title:"Hersteller",subtype:"text","model-value":a.info.manufacturer,"onUpdate:modelValue":O=>t.updateState(V,O,"info.manufacturer")},{help:r(()=>[...o[14]||(o[14]=[d(" Optional: zusätzliche Information für den Systembericht. ",-1)])]),_:2},1032,["model-value","onUpdate:modelValue"]),u(P,{title:"Modell",subtype:"text","model-value":a.info.model,"onUpdate:modelValue":O=>t.updateState(V,O,"info.model")},{help:r(()=>[...o[15]||(o[15]=[d(" Optional: zusätzliche Information für den Systembericht. ",-1)])]),_:2},1032,["model-value","onUpdate:modelValue"]),o[16]||(o[16]=c("hr",null,null,-1)),u(C,{device:_,component:a,"onUpdate:configuration":O=>n.updateConfiguration(V,O)},null,8,["device","component","onUpdate:configuration"])]),_:2,__:[16]},1032,["subtype"]))),128)),o[21]||(o[21]=c("hr",null,null,-1)),n.getComponentList(_.vendor,_.type).length?(v(),E(y,{key:1,title:"Verfügbare Komponenten","not-selected":"Bitte auswählen",options:n.getComponentList(_.vendor,_.type),"model-value":s.componentToAdd[_.id],"add-button":!0,"onUpdate:modelValue":a=>s.componentToAdd[_.id]=a,"onInput:add":a=>n.addComponent(_.id,_.vendor,_.type,s.componentToAdd[_.id])},{help:r(()=>[...o[17]||(o[17]=[d(" 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. ",-1)])]),_:2},1032,["options","model-value","onUpdate:modelValue","onInput:add"])):(v(),E(T,{key:2,subtype:"info"},{default:r(()=>[...o[18]||(o[18]=[d(" Dieses System bietet keine Komponenten zur Installation an. ",-1)])]),_:1,__:[18]}))]),_:2,__:[19,20,21]},1024))),128)),Object.keys(n.installedDevices).length>0?(v(),g("hr",Oe)):R("",!0),u(y,{modelValue:s.selectedVendor,"onUpdate:modelValue":o[0]||(o[0]=_=>s.selectedVendor=_),title:"Hersteller","not-selected":"Bitte auswählen",groups:n.vendorList},null,8,["modelValue","groups"]),u(y,{modelValue:s.deviceToAdd,"onUpdate:modelValue":[o[1]||(o[1]=_=>s.deviceToAdd=_),o[2]||(o[2]=_=>s.deviceToAdd=_)],title:"Verfügbare Geräte","not-selected":"Bitte auswählen",disabled:s.selectedVendor===void 0,options:n.deviceList,"model-value":s.deviceToAdd,"add-button":!0,"onInput:add":n.addDevice},{help:r(()=>o[22]||(o[22]=[c("p",null,[d(' Die openWB-Regelung ist auf Werte von Messpunkten (Zähler, Energy Meter usw.) angewiesen. Hierfür werden "Geräte" und "Komponenten" verwendet.'),c("br"),d(' 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),c("p",null,[d(' 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"),d(' Verfügt dagegen jeder Messpunkt über eine eigene IP-Adresse, wird jeder Messpunkt als eigenes "Gerät" mit nur einer "Komponente" angelegt. ')],-1),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)])),_:1},8,["modelValue","disabled","options","model-value","onInput:add"])]))]),_:1}),u(j,{"form-name":"hardwareInstallationForm",onSave:o[3]||(o[3]=_=>t.$emit("save")),onReset:o[4]||(o[4]=_=>t.$emit("reset")),onDefaults:o[5]||(o[5]=_=>t.$emit("defaults"))})])])],64)}const Ie=I(le,[["render",Te],["__file","/opt/openWB-dev/openwb-ui-settings/src/views/HardwareInstallation.vue"]]),Le=Object.freeze(Object.defineProperty({__proto__:null,default:Ie},Symbol.toStringTag,{value:"Module"}));export{re as C,B as D,Ie as H,Le as a};
diff --git a/web/settings/assets/IdentificationConfig-a5b4354a.js b/web/settings/assets/IdentificationConfig-be5fb020.js
similarity index 65%
rename from web/settings/assets/IdentificationConfig-a5b4354a.js
rename to web/settings/assets/IdentificationConfig-be5fb020.js
index d30459ecc3..d4f7c1f74a 100644
--- a/web/settings/assets/IdentificationConfig-a5b4354a.js
+++ b/web/settings/assets/IdentificationConfig-be5fb020.js
@@ -1,2 +1,2 @@
-import{C as $}from"./index-d6a3d34f.js";import{_ as w,u as p,l as o,m as s,A as l,G as a,E as i,B as r,z as c,N as k,M as B,F as f}from"./vendor-cc4615be.js";import"./vendor-fortawesome-855c7d62.js";import"./vendor-bootstrap-09a7ccd9.js";import"./vendor-jquery-13cad4c1.js";import"./vendor-axios-3dcaeec5.js";import"./vendor-sortablejs-7c09d6dd.js";const y={name:"IdentificationConfigView",mixins:[$],emits:["save","reset","defaults"],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/chargepoint/+/config","openWB/chargepoint/template/+","openWB/vehicle/template/charge_template/+","openWB/vehicle/+/name","openWB/vehicle/+/charge_template","openWB/vehicle/+/tag_id"],tempIdTagList:{}}},computed:{idTagList(){return Object.values(this.updateIdTagList())},chargePointTemplates:{get(){return this.getWildcardTopics("openWB/chargepoint/template/+")}},vehicleIndexes:{get(){return this.getWildcardIndexList("openWB/vehicle/+/name")}}},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},getChargePointTemplateIndex(e){return parseInt(e.match(/([^/]+)$/)[0])},getVehicleName(e){return this.$store.state.mqtt["openWB/vehicle/"+e+"/name"]?this.$store.state.mqtt["openWB/vehicle/"+e+"/name"]:"Fahrzeug "+e}}},D={class:"optionalComponents"},L={name:"optionalComponentsForm"},I={key:0},F={key:1},q={key:0},T={key:0},V={key:1},S={key:2},A={key:0},C={key:0},E={key:1},N={key:2},P=["title","collapsed"],U={key:0},j={key:0},O={key:1};function R(e,t,Z,H,J,m){const u=p("openwb-base-alert"),b=p("openwb-base-button-group-input"),W=p("openwb-base-textarea"),v=p("openwb-base-card"),g=p("openwb-base-heading"),_=p("openwb-base-array-input"),z=p("openwb-base-submit-buttons");return o(),s("div",D,[l("form",L,[a(v,{title:"Identifikation"},{default:i(()=>[a(u,{subtype:"info"},{default:i(()=>t[4]||(t[4]=[r(" Die Identifikation kann zum Entsperren von Ladepunkten und/oder zur Zuordnung von Fahrzeugen genutzt werden und kann auf mehreren Wegen erfolgen: ",-1),l("ul",null,[l("li",null,"Über einen RFID-Reader (optional in der openWB verbaut, z.B. anhand des Lieferscheins prüfen)."),l("li",null," Durch die automatische Fahrzeugerkennung der openWB Pro/ Pro+ (in den Einstellungen der openWB Pro aktivieren). "),l("li",null,"Durch manuelle Eingabe einer ID an einer openWB mit Display.")],-1),r(" Bei openWB Pro/Pro+ werden RFID-Tags nur bei angestecktem Fahrzeug erfasst! ",-1)])),_:1,__:[4]}),a(b,{title:"Identifikation aktivieren","model-value":e.$store.state.mqtt["openWB/optional/rfid/active"],buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}],"onUpdate:modelValue":t[0]||(t[0]=n=>e.updateState("openWB/optional/rfid/active",n))},null,8,["model-value"]),e.$store.state.mqtt["openWB/general/extern"]===!0?(o(),s("div",I,[a(u,{subtype:"info"},{default:i(()=>t[5]||(t[5]=[r(' Weitere Einstellungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. ',-1)])),_:1,__:[5]})])):(o(),s("div",F,[e.$store.state.mqtt["openWB/optional/rfid/active"]===!0?(o(),s("div",q,[a(W,{title:"Erkannte ID-Tags",readonly:"",disabled:"","model-value":m.idTagList.join(`
+import{C as $}from"./index-5b5e1b75.js";import{_ as w,u as p,l as o,m as s,A as l,G as a,E as i,B as r,z as c,N as k,M as B,F as f}from"./vendor-cc4615be.js";import"./vendor-fortawesome-855c7d62.js";import"./vendor-bootstrap-09a7ccd9.js";import"./vendor-jquery-13cad4c1.js";import"./vendor-axios-3dcaeec5.js";import"./vendor-sortablejs-7c09d6dd.js";const y={name:"IdentificationConfigView",mixins:[$],emits:["save","reset","defaults"],data(){return{mqttTopicsToSubscribe:["openWB/general/extern","openWB/chargepoint/+/config","openWB/chargepoint/+/get/rfid","openWB/chargepoint/+/get/vehicle_id","openWB/chargepoint/+/get/rfid_timestamp","openWB/chargepoint/+/set/rfid","openWB/optional/rfid/active","openWB/chargepoint/+/config","openWB/chargepoint/template/+","openWB/vehicle/template/charge_template/+","openWB/vehicle/+/name","openWB/vehicle/+/charge_template","openWB/vehicle/+/tag_id"],tempIdTagList:{}}},computed:{idTagList(){return Object.values(this.updateIdTagList())},chargePointTemplates:{get(){return this.getWildcardTopics("openWB/chargepoint/template/+")}},vehicleIndexes:{get(){return this.getWildcardIndexList("openWB/vehicle/+/name")}}},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|vehicle_id)$",!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},getChargePointTemplateIndex(e){return parseInt(e.match(/([^/]+)$/)[0])},getVehicleName(e){return this.$store.state.mqtt["openWB/vehicle/"+e+"/name"]?this.$store.state.mqtt["openWB/vehicle/"+e+"/name"]:"Fahrzeug "+e}}},D={class:"optionalComponents"},L={name:"optionalComponentsForm"},I={key:0},F={key:1},q={key:0},T={key:0},V={key:1},S={key:2},A={key:0},C={key:0},E={key:1},N={key:2},P=["title","collapsed"],U={key:0},j={key:0},O={key:1};function R(e,t,Z,H,J,m){const u=p("openwb-base-alert"),b=p("openwb-base-button-group-input"),W=p("openwb-base-textarea"),v=p("openwb-base-card"),g=p("openwb-base-heading"),_=p("openwb-base-array-input"),z=p("openwb-base-submit-buttons");return o(),s("div",D,[l("form",L,[a(v,{title:"Identifikation"},{default:i(()=>[a(u,{subtype:"info"},{default:i(()=>t[4]||(t[4]=[r(" Die Identifikation kann zum Entsperren von Ladepunkten und/oder zur Zuordnung von Fahrzeugen genutzt werden und kann auf mehreren Wegen erfolgen: ",-1),l("ul",null,[l("li",null,"Über einen RFID-Reader (optional in der openWB verbaut, z.B. anhand des Lieferscheins prüfen)."),l("li",null," Durch die automatische Fahrzeugerkennung der openWB Pro/ Pro+ (in den Einstellungen der openWB Pro aktivieren). "),l("li",null,"Durch manuelle Eingabe einer ID an einer openWB mit Display.")],-1),r(" Bei openWB Pro/Pro+ werden RFID-Tags nur bei angestecktem Fahrzeug erfasst! ",-1)])),_:1,__:[4]}),a(b,{title:"Identifikation aktivieren","model-value":e.$store.state.mqtt["openWB/optional/rfid/active"],buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}],"onUpdate:modelValue":t[0]||(t[0]=n=>e.updateState("openWB/optional/rfid/active",n))},null,8,["model-value"]),e.$store.state.mqtt["openWB/general/extern"]===!0?(o(),s("div",I,[a(u,{subtype:"info"},{default:i(()=>t[5]||(t[5]=[r(' Weitere Einstellungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. ',-1)])),_:1,__:[5]})])):(o(),s("div",F,[e.$store.state.mqtt["openWB/optional/rfid/active"]===!0?(o(),s("div",q,[a(W,{title:"Erkannte ID-Tags",readonly:"",disabled:"","model-value":m.idTagList.join(`
`)},null,8,["model-value"])])):c("",!0)]))]),_:1}),a(g,{class:"mt-0"},{default:i(()=>t[6]||(t[6]=[r(" Entsperren von Ladepunkten (gekoppelt an Ladepunkt-Profil) ",-1)])),_:1,__:[6]}),l("div",null,[a(v,{title:"Ladepunkt-Profile",collapsible:!0,collapsed:!0},{default:i(()=>[e.$store.state.mqtt["openWB/general/extern"]===!0?(o(),s("div",T,[a(u,{subtype:"info"},{default:i(()=>t[7]||(t[7]=[r(' Diese Einstellungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet.',-1),l("br",null,null,-1),r(' Die Konfiguration zum Entsperren von Ladepunkten bitte auf der "primary" openWB durchführen. ',-1)])),_:1,__:[7]})])):e.$store.state.mqtt["openWB/optional/rfid/active"]===!1?(o(),s("div",V,[a(u,{subtype:"info"},{default:i(()=>t[8]||(t[8]=[r(" Diese Einstellungen sind nur verfügbar, wenn Identifikation aktiviert ist. ",-1)])),_:1,__:[8]})])):(o(),s("div",S,[a(u,{subtype:"info"},{default:i(()=>t[9]||(t[9]=[r(" Hier zugeordnete ID-Tags entsperren beim Scannen das jeweilige Ladepunkt-Profil. Der ID-Tag kann an jedem Ladepunkt genutzt werden, dem das entsprechende Ladepunkt-Profil zugeordnet wurde. ",-1)])),_:1,__:[9]}),(o(!0),s(k,null,B(m.chargePointTemplates,(n,d)=>(o(),s("div",{key:d},[a(g,{class:"mt-0"},{default:i(()=>[r(f(n.name),1)]),_:2},1024),e.$store.state.mqtt["openWB/optional/rfid/active"]===!0&&!e.installAssistantActive?(o(),s("div",A,[a(_,{title:"Zugeordnete ID-Tags","no-elements-message":'"'+n.name+'" sind keine ID-Tags zugeordnet.',"model-value":n.valid_tags,"onUpdate:modelValue":h=>e.updateState(d,h,"valid_tags")},null,8,["no-elements-message","model-value","onUpdate:modelValue"])])):c("",!0),a(b,{title:"Sperre nach Abstecken",buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":n.disable_after_unplug,"onUpdate:modelValue":h=>e.updateState(d,h,"disable_after_unplug")},{help:i(()=>[r(f('Ist "Sperre nach Abstecken" aktiviert, wird der Ladepunkt mit Ladepunkt-Profil "'+n.name+'" nach Abstecken eines Fahrzeugs automatisch gesperrt. Ist die Funktion deaktiviert, bleibt der Ladepunkt entsperrt.'),1)]),_:2},1032,["model-value","onUpdate:modelValue"]),t[10]||(t[10]=l("br",null,null,-1))]))),128))]))]),_:1})]),a(g,{class:"mt-0"},{default:i(()=>t[11]||(t[11]=[r(" Zuordnung von Fahrzeugen ",-1)])),_:1,__:[11]}),l("div",null,[a(v,{subtype:"info",collapsible:!0,collapsed:e.$route.params.section!="vehicle"},{header:i(()=>t[12]||(t[12]=[r(" Fahrzeuge ",-1)])),default:i(()=>[e.$store.state.mqtt["openWB/general/extern"]===!0?(o(),s("div",C,[a(u,{subtype:"info"},{default:i(()=>t[13]||(t[13]=[r(' Diese Einstellungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet.',-1),l("br",null,null,-1),r(' Die Konfiguration zur Fahrzeugzuordnung bitte auf der "primary" openWB durchführen. ',-1)])),_:1,__:[13]})])):e.$store.state.mqtt["openWB/optional/rfid/active"]===!1?(o(),s("div",E,[a(u,{subtype:"info"},{default:i(()=>t[14]||(t[14]=[r(" Diese Einstellungen sind nur verfügbar, wenn Identifikation aktiviert ist. ",-1)])),_:1,__:[14]})])):(o(),s("div",N,[a(u,{subtype:"info"},{default:i(()=>t[15]||(t[15]=[r(" Hier zugeordnete ID-Tags weisen dem Ladepunkt beim Scannen automatisch das jeweilige Fahrzeug zu. Ist bei Scannen des ID-Tags noch kein Fahrzeug angeschlossen muss dies zeitnah erfolgen, da der ID-Tag nach 5min verworfen wird. ",-1)])),_:1,__:[15]}),(o(!0),s(k,null,B(m.vehicleIndexes,n=>(o(),s("div",{key:n,title:m.getVehicleName(n),collapsible:!0,collapsed:!(e.$route.params.section=="vehicle"&&parseInt(e.$route.params.section_index)==n),subtype:"info"},[t[16]||(t[16]=l("br",null,null,-1)),a(g,{class:"mt-0"},{default:i(()=>[r(f(e.$store.state.mqtt["openWB/vehicle/"+n+"/name"]),1)]),_:2},1024),e.$store.state.mqtt["openWB/optional/rfid/active"]===!0&&!e.installAssistantActive?(o(),s("div",U,[a(_,{title:"Zugeordnete ID-Tags","no-elements-message":'"'+e.$store.state.mqtt["openWB/vehicle/"+n+"/name"]+'" sind keine ID-Tags zugeordnet.',"model-value":e.$store.state.mqtt["openWB/vehicle/"+n+"/tag_id"],"onUpdate:modelValue":d=>e.updateState("openWB/vehicle/"+n+"/tag_id",d)},null,8,["no-elements-message","model-value","onUpdate:modelValue"])])):c("",!0),a(b,{title:"Standard-Fahrzeug nach Abstecken zuordnen",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/template/charge_template/"+e.$store.state.mqtt["openWB/vehicle/"+n+"/charge_template"]].load_default,"onUpdate:modelValue":d=>e.updateState("openWB/vehicle/template/charge_template/"+e.$store.state.mqtt["openWB/vehicle/"+n+"/charge_template"],d,"load_default")},{help:i(()=>[r(f('Ist diese Option aktiviert, wird am Ladepunkt nach Abstecken auf das Standard-Fahrzeug zurückgesetzt. Die Option ist im Lade-Profil "'+e.$store.state.mqtt["openWB/vehicle/template/charge_template/"+e.$store.state.mqtt["openWB/vehicle/"+n+"/charge_template"]].name+'" gespeichert.')+" ",1),e.$store.state.mqtt["openWB/vehicle/template/charge_template/"+e.$store.state.mqtt["openWB/vehicle/"+n+"/charge_template"]].load_default===!0?(o(),s("div",j,' "Standard-Fahrzeug nach Abstecken" ist für alle Fahrzeuge aktiviert, denen dieses Lade-Profil zugeordnet wurde. ')):(o(),s("div",O,' "Standard-Fahrzeug nach Abstecken" ist für alle Fahrzeuge deaktiviert, denen dieses Lade-Profil zugeordnet wurde. '))]),_:2},1032,["model-value","onUpdate:modelValue"])],8,P))),128))]))]),_:1},8,["collapsed"])]),a(z,{"form-name":"optionalComponentsForm",onSave:t[1]||(t[1]=n=>e.$emit("save")),onReset:t[2]||(t[2]=n=>e.$emit("reset")),onDefaults:t[3]||(t[3]=n=>e.$emit("defaults"))})])])}const ee=w(y,[["render",R],["__file","/opt/openWB-dev/openwb-ui-settings/src/views/IdentificationConfig.vue"]]);export{ee as default};
diff --git a/web/settings/assets/InstallAssistant-5291f476.js b/web/settings/assets/InstallAssistant-0fa0d0dd.js
similarity index 67%
rename from web/settings/assets/InstallAssistant-5291f476.js
rename to web/settings/assets/InstallAssistant-0fa0d0dd.js
index 7874c9c4b6..db50df2f0d 100644
--- a/web/settings/assets/InstallAssistant-5291f476.js
+++ b/web/settings/assets/InstallAssistant-0fa0d0dd.js
@@ -1 +1 @@
-import{C as r,_ as t}from"./index-d6a3d34f.js";import{_}from"./dynamic-import-helper-be004503.js";import{_ as m,a2 as p,u as d,l as i,m as u,G as A,E as v,x as E,a3 as I,B as c}from"./vendor-cc4615be.js";import"./vendor-fortawesome-855c7d62.js";import"./vendor-bootstrap-09a7ccd9.js";import"./vendor-jquery-13cad4c1.js";import"./vendor-axios-3dcaeec5.js";import"./vendor-sortablejs-7c09d6dd.js";const P={name:"InstallAssistantView",mixins:[r],emits:["sendCommand","save","reset","defaults"],data(){return{currentPage:0,lastPage:10,showEndAssistantModal:!1}},methods:{getInstallAssistantStepComponent(){return console.debug(`loading assistant page: ${this.currentPage}`),p({loader:()=>_(Object.assign({"../components/install_assistant/InstallAssistantStep0.vue":()=>t(()=>import("./InstallAssistantStep0-87564586.js"),["assets/InstallAssistantStep0-87564586.js","assets/index-d6a3d34f.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/InstallAssistantStepTemplate-0ef1034a.js","assets/InstallAssistantStepTemplate-930e3c07.css"]),"../components/install_assistant/InstallAssistantStep1.vue":()=>t(()=>import("./InstallAssistantStep1-cd4d3677.js"),["assets/InstallAssistantStep1-cd4d3677.js","assets/index-d6a3d34f.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/InstallAssistantStepTemplate-0ef1034a.js","assets/InstallAssistantStepTemplate-930e3c07.css","assets/DataManagement-b2cf930f.js","assets/dynamic-import-helper-be004503.js"]),"../components/install_assistant/InstallAssistantStep10.vue":()=>t(()=>import("./InstallAssistantStep10-3b6eedb5.js"),["assets/InstallAssistantStep10-3b6eedb5.js","assets/index-d6a3d34f.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/InstallAssistantStepTemplate-0ef1034a.js","assets/InstallAssistantStepTemplate-930e3c07.css"]),"../components/install_assistant/InstallAssistantStep2.vue":()=>t(()=>import("./InstallAssistantStep2-23c04ead.js"),["assets/InstallAssistantStep2-23c04ead.js","assets/index-d6a3d34f.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/InstallAssistantStepTemplate-0ef1034a.js","assets/InstallAssistantStepTemplate-930e3c07.css","assets/System-e8420760.js","assets/System-f301c290.css"]),"../components/install_assistant/InstallAssistantStep3.vue":()=>t(()=>import("./InstallAssistantStep3-740466a6.js"),["assets/InstallAssistantStep3-740466a6.js","assets/index-d6a3d34f.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/InstallAssistantStepTemplate-0ef1034a.js","assets/InstallAssistantStepTemplate-930e3c07.css","assets/GeneralConfig-443e6d5a.js","assets/dynamic-import-helper-be004503.js"]),"../components/install_assistant/InstallAssistantStep4.vue":()=>t(()=>import("./InstallAssistantStep4-d9b0376c.js"),["assets/InstallAssistantStep4-d9b0376c.js","assets/index-d6a3d34f.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/InstallAssistantStepTemplate-0ef1034a.js","assets/InstallAssistantStepTemplate-930e3c07.css","assets/ChargePointInstallation-e1ee27bd.js","assets/dynamic-import-helper-be004503.js","assets/ChargePointInstallation-7b9399a8.css"]),"../components/install_assistant/InstallAssistantStep5.vue":()=>t(()=>import("./InstallAssistantStep5-00ae29d4.js"),["assets/InstallAssistantStep5-00ae29d4.js","assets/index-d6a3d34f.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/InstallAssistantStepTemplate-0ef1034a.js","assets/InstallAssistantStepTemplate-930e3c07.css","assets/HardwareInstallation-4e683481.js","assets/dynamic-import-helper-be004503.js"]),"../components/install_assistant/InstallAssistantStep6.vue":()=>t(()=>import("./InstallAssistantStep6-d43263ce.js"),["assets/InstallAssistantStep6-d43263ce.js","assets/index-d6a3d34f.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/InstallAssistantStepTemplate-0ef1034a.js","assets/InstallAssistantStepTemplate-930e3c07.css","assets/ChargePointInstallation-e1ee27bd.js","assets/dynamic-import-helper-be004503.js","assets/ChargePointInstallation-7b9399a8.css"]),"../components/install_assistant/InstallAssistantStep7.vue":()=>t(()=>import("./InstallAssistantStep7-7a343e1a.js"),["assets/InstallAssistantStep7-7a343e1a.js","assets/index-d6a3d34f.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/InstallAssistantStepTemplate-0ef1034a.js","assets/InstallAssistantStepTemplate-930e3c07.css","assets/LoadManagementConfig-b3d43044.js","assets/OpenwbSortableList-2d35f653.js","assets/OpenwbSortableList-7ba533e4.css"]),"../components/install_assistant/InstallAssistantStep8.vue":()=>t(()=>import("./InstallAssistantStep8-08b4550a.js"),["assets/InstallAssistantStep8-08b4550a.js","assets/index-d6a3d34f.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/InstallAssistantStepTemplate-0ef1034a.js","assets/InstallAssistantStepTemplate-930e3c07.css","assets/VehicleConfig-d23b00dd.js","assets/dynamic-import-helper-be004503.js"]),"../components/install_assistant/InstallAssistantStep9.vue":()=>t(()=>import("./InstallAssistantStep9-11ff7fe8.js"),["assets/InstallAssistantStep9-11ff7fe8.js","assets/index-d6a3d34f.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/InstallAssistantStepTemplate-0ef1034a.js","assets/InstallAssistantStepTemplate-930e3c07.css","assets/DataManagement-b2cf930f.js","assets/dynamic-import-helper-be004503.js"]),"../components/install_assistant/InstallAssistantStepTemplate.vue":()=>t(()=>import("./InstallAssistantStepTemplate-0ef1034a.js"),["assets/InstallAssistantStepTemplate-0ef1034a.js","assets/index-d6a3d34f.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/InstallAssistantStepTemplate-930e3c07.css"])}),`../components/install_assistant/InstallAssistantStep${this.currentPage}.vue`)})},switchPage(s){s>=0&&s<=this.lastPage?this.currentPage=s:console.error(`invalid assistant page number: ${s}`)},endAssistantModal(){this.currentPage!=this.lastPage?this.showEndAssistantModal=!0:this.endAssistant("confirm")},endAssistant(s){this.showEndAssistantModal=!1,s=="confirm"&&(this.updateState("openWB/system/installAssistantDone",!0),this.$root.doPublish("openWB/set/system/installAssistantDone",!0),this.$router.push("/Status"))}}};function S(s,e,f,g,o,n){const l=d("openwb-base-modal-dialog");return i(),u("div",null,[A(l,{show:o.showEndAssistantModal,title:"Assistent beenden",subtype:"danger",buttons:[{text:"Beenden",event:"confirm",subtype:"danger"}],onModalResult:n.endAssistant},{default:v(()=>e[4]||(e[4]=[c(" Wollen Sie den Assistenten wirklich vorzeitig beenden? ",-1)])),_:1,__:[4]},8,["show","onModalResult"]),(i(),E(I(n.getInstallAssistantStepComponent()),{onSendCommand:e[0]||(e[0]=a=>s.$emit("sendCommand",a)),onSave:e[1]||(e[1]=a=>s.$emit("save")),onReset:e[2]||(e[2]=a=>s.$emit("reset")),onDefaults:e[3]||(e[3]=a=>s.$emit("defaults")),onSwitchPage:n.switchPage,onEndAssistant:n.endAssistantModal},null,40,["onSwitchPage","onEndAssistant"]))])}const L=m(P,[["render",S],["__file","/opt/openWB-dev/openwb-ui-settings/src/views/InstallAssistant.vue"]]);export{L as default};
+import{C as r,_ as t}from"./index-5b5e1b75.js";import{_}from"./dynamic-import-helper-be004503.js";import{_ as m,a2 as p,u as d,l as i,m as u,G as A,E as v,x as E,a3 as I,B as c}from"./vendor-cc4615be.js";import"./vendor-fortawesome-855c7d62.js";import"./vendor-bootstrap-09a7ccd9.js";import"./vendor-jquery-13cad4c1.js";import"./vendor-axios-3dcaeec5.js";import"./vendor-sortablejs-7c09d6dd.js";const P={name:"InstallAssistantView",mixins:[r],emits:["sendCommand","save","reset","defaults"],data(){return{currentPage:0,lastPage:10,showEndAssistantModal:!1}},methods:{getInstallAssistantStepComponent(){return console.debug(`loading assistant page: ${this.currentPage}`),p({loader:()=>_(Object.assign({"../components/install_assistant/InstallAssistantStep0.vue":()=>t(()=>import("./InstallAssistantStep0-fe2946cd.js"),["assets/InstallAssistantStep0-fe2946cd.js","assets/index-5b5e1b75.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/InstallAssistantStepTemplate-4589ee8a.js","assets/InstallAssistantStepTemplate-930e3c07.css"]),"../components/install_assistant/InstallAssistantStep1.vue":()=>t(()=>import("./InstallAssistantStep1-b2e75978.js"),["assets/InstallAssistantStep1-b2e75978.js","assets/index-5b5e1b75.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/InstallAssistantStepTemplate-4589ee8a.js","assets/InstallAssistantStepTemplate-930e3c07.css","assets/DataManagement-d8247a90.js","assets/dynamic-import-helper-be004503.js"]),"../components/install_assistant/InstallAssistantStep10.vue":()=>t(()=>import("./InstallAssistantStep10-de23a565.js"),["assets/InstallAssistantStep10-de23a565.js","assets/index-5b5e1b75.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/InstallAssistantStepTemplate-4589ee8a.js","assets/InstallAssistantStepTemplate-930e3c07.css"]),"../components/install_assistant/InstallAssistantStep2.vue":()=>t(()=>import("./InstallAssistantStep2-f2504bdc.js"),["assets/InstallAssistantStep2-f2504bdc.js","assets/index-5b5e1b75.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/InstallAssistantStepTemplate-4589ee8a.js","assets/InstallAssistantStepTemplate-930e3c07.css","assets/System-f8f1bbde.js","assets/System-f301c290.css"]),"../components/install_assistant/InstallAssistantStep3.vue":()=>t(()=>import("./InstallAssistantStep3-1db12d61.js"),["assets/InstallAssistantStep3-1db12d61.js","assets/index-5b5e1b75.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/InstallAssistantStepTemplate-4589ee8a.js","assets/InstallAssistantStepTemplate-930e3c07.css","assets/GeneralConfig-bd327700.js","assets/dynamic-import-helper-be004503.js"]),"../components/install_assistant/InstallAssistantStep4.vue":()=>t(()=>import("./InstallAssistantStep4-11abe033.js"),["assets/InstallAssistantStep4-11abe033.js","assets/index-5b5e1b75.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/InstallAssistantStepTemplate-4589ee8a.js","assets/InstallAssistantStepTemplate-930e3c07.css","assets/ChargePointInstallation-acc5f333.js","assets/dynamic-import-helper-be004503.js","assets/ChargePointInstallation-7b9399a8.css"]),"../components/install_assistant/InstallAssistantStep5.vue":()=>t(()=>import("./InstallAssistantStep5-62ebcc68.js"),["assets/InstallAssistantStep5-62ebcc68.js","assets/index-5b5e1b75.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/InstallAssistantStepTemplate-4589ee8a.js","assets/InstallAssistantStepTemplate-930e3c07.css","assets/HardwareInstallation-5d83a25e.js","assets/dynamic-import-helper-be004503.js"]),"../components/install_assistant/InstallAssistantStep6.vue":()=>t(()=>import("./InstallAssistantStep6-db46bac5.js"),["assets/InstallAssistantStep6-db46bac5.js","assets/index-5b5e1b75.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/InstallAssistantStepTemplate-4589ee8a.js","assets/InstallAssistantStepTemplate-930e3c07.css","assets/ChargePointInstallation-acc5f333.js","assets/dynamic-import-helper-be004503.js","assets/ChargePointInstallation-7b9399a8.css"]),"../components/install_assistant/InstallAssistantStep7.vue":()=>t(()=>import("./InstallAssistantStep7-7858cbaf.js"),["assets/InstallAssistantStep7-7858cbaf.js","assets/index-5b5e1b75.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/InstallAssistantStepTemplate-4589ee8a.js","assets/InstallAssistantStepTemplate-930e3c07.css","assets/LoadManagementConfig-ebecc34c.js","assets/OpenwbSortableList-5dccf22c.js","assets/OpenwbSortableList-7ba533e4.css"]),"../components/install_assistant/InstallAssistantStep8.vue":()=>t(()=>import("./InstallAssistantStep8-6835c67c.js"),["assets/InstallAssistantStep8-6835c67c.js","assets/index-5b5e1b75.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/InstallAssistantStepTemplate-4589ee8a.js","assets/InstallAssistantStepTemplate-930e3c07.css","assets/VehicleConfig-c2429926.js","assets/dynamic-import-helper-be004503.js"]),"../components/install_assistant/InstallAssistantStep9.vue":()=>t(()=>import("./InstallAssistantStep9-6029b0cf.js"),["assets/InstallAssistantStep9-6029b0cf.js","assets/index-5b5e1b75.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/InstallAssistantStepTemplate-4589ee8a.js","assets/InstallAssistantStepTemplate-930e3c07.css","assets/DataManagement-d8247a90.js","assets/dynamic-import-helper-be004503.js"]),"../components/install_assistant/InstallAssistantStepTemplate.vue":()=>t(()=>import("./InstallAssistantStepTemplate-4589ee8a.js"),["assets/InstallAssistantStepTemplate-4589ee8a.js","assets/index-5b5e1b75.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/InstallAssistantStepTemplate-930e3c07.css"])}),`../components/install_assistant/InstallAssistantStep${this.currentPage}.vue`)})},switchPage(s){s>=0&&s<=this.lastPage?this.currentPage=s:console.error(`invalid assistant page number: ${s}`)},endAssistantModal(){this.currentPage!=this.lastPage?this.showEndAssistantModal=!0:this.endAssistant("confirm")},endAssistant(s){this.showEndAssistantModal=!1,s=="confirm"&&(this.updateState("openWB/system/installAssistantDone",!0),this.$root.doPublish("openWB/set/system/installAssistantDone",!0),this.$router.push("/Status"))}}};function S(s,e,f,g,o,n){const l=d("openwb-base-modal-dialog");return i(),u("div",null,[A(l,{show:o.showEndAssistantModal,title:"Assistent beenden",subtype:"danger",buttons:[{text:"Beenden",event:"confirm",subtype:"danger"}],onModalResult:n.endAssistant},{default:v(()=>e[4]||(e[4]=[c(" Wollen Sie den Assistenten wirklich vorzeitig beenden? ",-1)])),_:1,__:[4]},8,["show","onModalResult"]),(i(),E(I(n.getInstallAssistantStepComponent()),{onSendCommand:e[0]||(e[0]=a=>s.$emit("sendCommand",a)),onSave:e[1]||(e[1]=a=>s.$emit("save")),onReset:e[2]||(e[2]=a=>s.$emit("reset")),onDefaults:e[3]||(e[3]=a=>s.$emit("defaults")),onSwitchPage:n.switchPage,onEndAssistant:n.endAssistantModal},null,40,["onSwitchPage","onEndAssistant"]))])}const L=m(P,[["render",S],["__file","/opt/openWB-dev/openwb-ui-settings/src/views/InstallAssistant.vue"]]);export{L as default};
diff --git a/web/settings/assets/InstallAssistantStep0-87564586.js b/web/settings/assets/InstallAssistantStep0-fe2946cd.js
similarity index 95%
rename from web/settings/assets/InstallAssistantStep0-87564586.js
rename to web/settings/assets/InstallAssistantStep0-fe2946cd.js
index 5074df0fa8..cb58df8721 100644
--- a/web/settings/assets/InstallAssistantStep0-87564586.js
+++ b/web/settings/assets/InstallAssistantStep0-fe2946cd.js
@@ -1 +1 @@
-import{C as u}from"./index-d6a3d34f.js";import d from"./InstallAssistantStepTemplate-0ef1034a.js";import{_ as p,u as i,l as m,x as g,E as a,G as h,B as f,A as t}from"./vendor-cc4615be.js";import"./vendor-fortawesome-855c7d62.js";import"./vendor-bootstrap-09a7ccd9.js";import"./vendor-jquery-13cad4c1.js";import"./vendor-axios-3dcaeec5.js";import"./vendor-sortablejs-7c09d6dd.js";const c={name:"InstallAssistantStep0",components:{InstallAssistantStepTemplate:d},mixins:[u],emits:["switchPage","endAssistant"],data:()=>({mqttTopicsToSubscribe:[],showModalWarning:!1}),methods:{requestNextPage(){this.showModalWarning=!0},nextPage(s){this.showModalWarning=!1,s==="confirm"&&this.$emit("switchPage",1)},previousPage(){},endAssistant(){this.$emit("endAssistant")}}};function b(s,e,A,w,P,n){const o=i("openwb-base-modal-dialog"),r=i("InstallAssistantStepTemplate");return m(),g(r,{title:"Start","hide-previous":!0,onNextPage:n.requestNextPage,onPreviousPage:n.previousPage,onEndAssistant:n.endAssistant},{content:a(()=>[h(o,{show:s.showModalWarning,title:"Achtung!",subtype:"danger",buttons:[{text:"Ok",event:"confirm",subtype:"success"}],onModalResult:e[0]||(e[0]=l=>n.nextPage(l))},{default:a(()=>e[1]||(e[1]=[f(" Bevor der Assistent gestartet wird, ist sicherzustellen, dass kein Ladevorgang aktiv ist! Zur Sicherheit bitte zusätzlich alle Fahrzeuge von der Ladestation / den Ladestationen abstecken! ",-1)])),_:1,__:[1]},8,["show"]),e[2]||(e[2]=t("h2",null,"Vielen Dank, dass Du Dich für openWB entschieden hast.",-1)),e[3]||(e[3]=t("p",null,"Dieser Assistent führt Dich durch die Konfiguration der einzelnen Module:",-1)),e[4]||(e[4]=t("ol",null,[t("li",null,"Datensicherung der bestehenden Konfiguration"),t("li",null,"Aktualisierung des openWB-Systems"),t("li",null,"Allgemeine Einstellungen: Auswahl des Betriebsmodus primary (steuernd) bzw. secondary (gesteuerte WB)")],-1)),e[5]||(e[5]=t("p",null," Wird diese openWB als secondary betrieben, so werden nur die lokalen Ladepunkte eingerichtet. Im Betriebsmodus primary werden die folgenden zusätzlichen Schritte durchlaufen: ",-1)),e[6]||(e[6]=t("ol",{start:"4"},[t("li",null,"Energiesystem - Geräte und Komponenten einrichten"),t("li",null,"Einrichten der Ladepunkte (openWB als primary)"),t("li",null,"Konfiguration des Lastmanagements"),t("li",null,"Einrichten der Fahrzeuge"),t("li",null,"Datensicherung der neuen Konfiguration")],-1)),e[7]||(e[7]=t("p",null,"Danach ist die Grundkonfiguration abgeschlossen.",-1))]),_:1},8,["onNextPage","onPreviousPage","onEndAssistant"])}const D=p(c,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/install_assistant/InstallAssistantStep0.vue"]]);export{D as default};
+import{C as u}from"./index-5b5e1b75.js";import d from"./InstallAssistantStepTemplate-4589ee8a.js";import{_ as p,u as i,l as m,x as g,E as a,G as h,B as f,A as t}from"./vendor-cc4615be.js";import"./vendor-fortawesome-855c7d62.js";import"./vendor-bootstrap-09a7ccd9.js";import"./vendor-jquery-13cad4c1.js";import"./vendor-axios-3dcaeec5.js";import"./vendor-sortablejs-7c09d6dd.js";const c={name:"InstallAssistantStep0",components:{InstallAssistantStepTemplate:d},mixins:[u],emits:["switchPage","endAssistant"],data:()=>({mqttTopicsToSubscribe:[],showModalWarning:!1}),methods:{requestNextPage(){this.showModalWarning=!0},nextPage(s){this.showModalWarning=!1,s==="confirm"&&this.$emit("switchPage",1)},previousPage(){},endAssistant(){this.$emit("endAssistant")}}};function b(s,e,A,w,P,n){const o=i("openwb-base-modal-dialog"),r=i("InstallAssistantStepTemplate");return m(),g(r,{title:"Start","hide-previous":!0,onNextPage:n.requestNextPage,onPreviousPage:n.previousPage,onEndAssistant:n.endAssistant},{content:a(()=>[h(o,{show:s.showModalWarning,title:"Achtung!",subtype:"danger",buttons:[{text:"Ok",event:"confirm",subtype:"success"}],onModalResult:e[0]||(e[0]=l=>n.nextPage(l))},{default:a(()=>e[1]||(e[1]=[f(" Bevor der Assistent gestartet wird, ist sicherzustellen, dass kein Ladevorgang aktiv ist! Zur Sicherheit bitte zusätzlich alle Fahrzeuge von der Ladestation / den Ladestationen abstecken! ",-1)])),_:1,__:[1]},8,["show"]),e[2]||(e[2]=t("h2",null,"Vielen Dank, dass Du Dich für openWB entschieden hast.",-1)),e[3]||(e[3]=t("p",null,"Dieser Assistent führt Dich durch die Konfiguration der einzelnen Module:",-1)),e[4]||(e[4]=t("ol",null,[t("li",null,"Datensicherung der bestehenden Konfiguration"),t("li",null,"Aktualisierung des openWB-Systems"),t("li",null,"Allgemeine Einstellungen: Auswahl des Betriebsmodus primary (steuernd) bzw. secondary (gesteuerte WB)")],-1)),e[5]||(e[5]=t("p",null," Wird diese openWB als secondary betrieben, so werden nur die lokalen Ladepunkte eingerichtet. Im Betriebsmodus primary werden die folgenden zusätzlichen Schritte durchlaufen: ",-1)),e[6]||(e[6]=t("ol",{start:"4"},[t("li",null,"Energiesystem - Geräte und Komponenten einrichten"),t("li",null,"Einrichten der Ladepunkte (openWB als primary)"),t("li",null,"Konfiguration des Lastmanagements"),t("li",null,"Einrichten der Fahrzeuge"),t("li",null,"Datensicherung der neuen Konfiguration")],-1)),e[7]||(e[7]=t("p",null,"Danach ist die Grundkonfiguration abgeschlossen.",-1))]),_:1},8,["onNextPage","onPreviousPage","onEndAssistant"])}const D=p(c,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/install_assistant/InstallAssistantStep0.vue"]]);export{D as default};
diff --git a/web/settings/assets/InstallAssistantStep1-cd4d3677.js b/web/settings/assets/InstallAssistantStep1-b2e75978.js
similarity index 89%
rename from web/settings/assets/InstallAssistantStep1-cd4d3677.js
rename to web/settings/assets/InstallAssistantStep1-b2e75978.js
index 388b9e072d..3259e4f1a5 100644
--- a/web/settings/assets/InstallAssistantStep1-cd4d3677.js
+++ b/web/settings/assets/InstallAssistantStep1-b2e75978.js
@@ -1 +1 @@
-import{C as m}from"./index-d6a3d34f.js";import p from"./InstallAssistantStepTemplate-0ef1034a.js";import{D as l}from"./DataManagement-b2cf930f.js";import{_ as d,u as a,l as u,x as g,E as o,A as f,G as v}from"./vendor-cc4615be.js";import"./vendor-fortawesome-855c7d62.js";import"./vendor-bootstrap-09a7ccd9.js";import"./vendor-jquery-13cad4c1.js";import"./vendor-axios-3dcaeec5.js";import"./vendor-sortablejs-7c09d6dd.js";import"./dynamic-import-helper-be004503.js";const A={name:"InstallAssistantStep1",components:{InstallAssistantStepTemplate:p,DataManagement:l},mixins:[m],emits:["save","reset","defaults","sendCommand","switchPage","endAssistant"],data:()=>({mqttTopicsToSubscribe:[]}),methods:{nextPage(){this.$emit("switchPage",2)},previousPage(){this.$emit("switchPage",0)},endAssistant(){this.$emit("endAssistant")}}};function P(t,e,c,S,w,n){const i=a("DataManagement"),r=a("InstallAssistantStepTemplate");return u(),g(r,{title:"1. Datensicherung der bestehenden Konfiguration",onNextPage:n.nextPage,onPreviousPage:n.previousPage,onEndAssistant:n.endAssistant},{help:o(()=>e[4]||(e[4]=[f("p",null," Wir empfehlen an dieser Stelle eine Sicherung der openWB zu erstellen, auf welche später zurückgegriffen werden kann, insbesondere, wenn die openWB schon konfiguriert war und der Assistent nun erneut ausgeführt wird. ",-1)])),content:o(()=>[v(i,{"install-assistant-active":!0,"show-backup-cloud-section":!1,onSendCommand:e[0]||(e[0]=s=>t.$emit("sendCommand",s)),onSave:e[1]||(e[1]=s=>t.$emit("save")),onReset:e[2]||(e[2]=s=>t.$emit("reset")),onDefaults:e[3]||(e[3]=s=>t.$emit("defaults"))})]),_:1},8,["onNextPage","onPreviousPage","onEndAssistant"])}const N=d(A,[["render",P],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/install_assistant/InstallAssistantStep1.vue"]]);export{N as default};
+import{C as m}from"./index-5b5e1b75.js";import p from"./InstallAssistantStepTemplate-4589ee8a.js";import{D as l}from"./DataManagement-d8247a90.js";import{_ as d,u as a,l as u,x as g,E as o,A as f,G as v}from"./vendor-cc4615be.js";import"./vendor-fortawesome-855c7d62.js";import"./vendor-bootstrap-09a7ccd9.js";import"./vendor-jquery-13cad4c1.js";import"./vendor-axios-3dcaeec5.js";import"./vendor-sortablejs-7c09d6dd.js";import"./dynamic-import-helper-be004503.js";const A={name:"InstallAssistantStep1",components:{InstallAssistantStepTemplate:p,DataManagement:l},mixins:[m],emits:["save","reset","defaults","sendCommand","switchPage","endAssistant"],data:()=>({mqttTopicsToSubscribe:[]}),methods:{nextPage(){this.$emit("switchPage",2)},previousPage(){this.$emit("switchPage",0)},endAssistant(){this.$emit("endAssistant")}}};function P(t,e,c,S,w,n){const i=a("DataManagement"),r=a("InstallAssistantStepTemplate");return u(),g(r,{title:"1. Datensicherung der bestehenden Konfiguration",onNextPage:n.nextPage,onPreviousPage:n.previousPage,onEndAssistant:n.endAssistant},{help:o(()=>e[4]||(e[4]=[f("p",null," Wir empfehlen an dieser Stelle eine Sicherung der openWB zu erstellen, auf welche später zurückgegriffen werden kann, insbesondere, wenn die openWB schon konfiguriert war und der Assistent nun erneut ausgeführt wird. ",-1)])),content:o(()=>[v(i,{"install-assistant-active":!0,"show-backup-cloud-section":!1,onSendCommand:e[0]||(e[0]=s=>t.$emit("sendCommand",s)),onSave:e[1]||(e[1]=s=>t.$emit("save")),onReset:e[2]||(e[2]=s=>t.$emit("reset")),onDefaults:e[3]||(e[3]=s=>t.$emit("defaults"))})]),_:1},8,["onNextPage","onPreviousPage","onEndAssistant"])}const N=d(A,[["render",P],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/install_assistant/InstallAssistantStep1.vue"]]);export{N as default};
diff --git a/web/settings/assets/InstallAssistantStep10-3b6eedb5.js b/web/settings/assets/InstallAssistantStep10-de23a565.js
similarity index 91%
rename from web/settings/assets/InstallAssistantStep10-3b6eedb5.js
rename to web/settings/assets/InstallAssistantStep10-de23a565.js
index 3ac2784f68..be35905bf0 100644
--- a/web/settings/assets/InstallAssistantStep10-3b6eedb5.js
+++ b/web/settings/assets/InstallAssistantStep10-de23a565.js
@@ -1 +1 @@
-import{C as a}from"./index-d6a3d34f.js";import o from"./InstallAssistantStepTemplate-0ef1034a.js";import{_ as r,u as l,l as m,x as p,E as d,A as n}from"./vendor-cc4615be.js";import"./vendor-fortawesome-855c7d62.js";import"./vendor-bootstrap-09a7ccd9.js";import"./vendor-jquery-13cad4c1.js";import"./vendor-axios-3dcaeec5.js";import"./vendor-sortablejs-7c09d6dd.js";const u={name:"InstallAssistantStep10",components:{InstallAssistantStepTemplate:o},mixins:[a],emits:["switchPage","endAssistant","sendCommand"],data:()=>({mqttTopicsToSubscribe:[]}),methods:{nextPage(){},previousPage(){this.$emit("switchPage",9)},sendCommand(t){this.$emit("sendCommand",t)},endAssistant(){this.$emit("endAssistant")}}};function g(t,s,c,f,A,e){const i=l("InstallAssistantStepTemplate");return m(),p(i,{title:"Abgeschlossen","hide-next":!0,onNextPage:e.nextPage,onPreviousPage:e.previousPage,onEndAssistant:e.endAssistant},{content:d(()=>s[0]||(s[0]=[n("h2",null,"Die Grundkonfiguration ist abgeschlossen.",-1),n("p",null," Die grundlegende Konfiguration der openWB ist abgeschlossen. Du wirst mit Beendigung dieses Assistenten auf die Statusseite weitergeleitet. Bitte überprüfe die dargestellten Informationen und passe bei Unstimmigkeiten die Einstellungen in den jeweiligen Konfigurationsseiten an (openWB -> Einstellungen -> Konfiguration). ",-1)])),_:1},8,["onNextPage","onPreviousPage","onEndAssistant"])}const w=r(u,[["render",g],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/install_assistant/InstallAssistantStep10.vue"]]);export{w as default};
+import{C as a}from"./index-5b5e1b75.js";import o from"./InstallAssistantStepTemplate-4589ee8a.js";import{_ as r,u as l,l as m,x as p,E as d,A as n}from"./vendor-cc4615be.js";import"./vendor-fortawesome-855c7d62.js";import"./vendor-bootstrap-09a7ccd9.js";import"./vendor-jquery-13cad4c1.js";import"./vendor-axios-3dcaeec5.js";import"./vendor-sortablejs-7c09d6dd.js";const u={name:"InstallAssistantStep10",components:{InstallAssistantStepTemplate:o},mixins:[a],emits:["switchPage","endAssistant","sendCommand"],data:()=>({mqttTopicsToSubscribe:[]}),methods:{nextPage(){},previousPage(){this.$emit("switchPage",9)},sendCommand(t){this.$emit("sendCommand",t)},endAssistant(){this.$emit("endAssistant")}}};function g(t,s,c,f,A,e){const i=l("InstallAssistantStepTemplate");return m(),p(i,{title:"Abgeschlossen","hide-next":!0,onNextPage:e.nextPage,onPreviousPage:e.previousPage,onEndAssistant:e.endAssistant},{content:d(()=>s[0]||(s[0]=[n("h2",null,"Die Grundkonfiguration ist abgeschlossen.",-1),n("p",null," Die grundlegende Konfiguration der openWB ist abgeschlossen. Du wirst mit Beendigung dieses Assistenten auf die Statusseite weitergeleitet. Bitte überprüfe die dargestellten Informationen und passe bei Unstimmigkeiten die Einstellungen in den jeweiligen Konfigurationsseiten an (openWB -> Einstellungen -> Konfiguration). ",-1)])),_:1},8,["onNextPage","onPreviousPage","onEndAssistant"])}const w=r(u,[["render",g],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/install_assistant/InstallAssistantStep10.vue"]]);export{w as default};
diff --git a/web/settings/assets/InstallAssistantStep2-23c04ead.js b/web/settings/assets/InstallAssistantStep2-f2504bdc.js
similarity index 91%
rename from web/settings/assets/InstallAssistantStep2-23c04ead.js
rename to web/settings/assets/InstallAssistantStep2-f2504bdc.js
index 28c8879cc3..256ff11fa2 100644
--- a/web/settings/assets/InstallAssistantStep2-23c04ead.js
+++ b/web/settings/assets/InstallAssistantStep2-f2504bdc.js
@@ -1 +1 @@
-import{C as l}from"./index-d6a3d34f.js";import u from"./InstallAssistantStepTemplate-0ef1034a.js";import d from"./System-e8420760.js";import{_ as p,u as a,l as f,x as g,E as o,A as s,G as A}from"./vendor-cc4615be.js";import"./vendor-fortawesome-855c7d62.js";import"./vendor-bootstrap-09a7ccd9.js";import"./vendor-jquery-13cad4c1.js";import"./vendor-axios-3dcaeec5.js";import"./vendor-sortablejs-7c09d6dd.js";const S={name:"InstallAssistantStep2",components:{InstallAssistantStepTemplate:u,SystemView:d},mixins:[l],emits:["save","reset","defaults","sendCommand","switchPage","endAssistant"],data:()=>({mqttTopicsToSubscribe:[]}),methods:{nextPage(){this.$emit("switchPage",3)},previousPage(){this.$emit("switchPage",1)},endAssistant(){this.$emit("endAssistant")}}};function c(t,e,w,v,k,i){const r=a("SystemView"),m=a("InstallAssistantStepTemplate");return f(),g(m,{title:"2. Aktualisierung des openWB-Systems",onNextPage:i.nextPage,onPreviousPage:i.previousPage,onEndAssistant:i.endAssistant},{help:o(()=>e[4]||(e[4]=[s("p",null," Bitte ein System-Update durchführen, um die Software auf den neuesten Stand der Features und Funktionen zu bringen. ",-1),s("p",null," Hierzu Versions-Informationen / Aktualisierung auswählen, Informationen aktualisieren klicken und falls ein Update verfügbar ist, wird der Update-Button grün (zum Update bereit). ",-1),s("p",null," Bei openWB-Systemen mit integriertem Display muss nach Zurücksetzen auf Werkseinstellungen oder nach Ausführen eines Updates das Display wieder eingeschaltet werden. ",-1),s("p",null,' Ein Klick auf "Änderungen" zeigt die Modifikationen. Ein Klick auf "Update" startet die Aktualisierung, welche auch einen automatischen Reboot initiiert (bitte ca. 5 Minuten warten). Danach muss der Assistent neu gestartet werden. ',-1)])),content:o(()=>[A(r,{"install-assistant-active":!0,onSendCommand:e[0]||(e[0]=n=>t.$emit("sendCommand",n)),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"))})]),_:1},8,["onNextPage","onPreviousPage","onEndAssistant"])}const U=p(S,[["render",c],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/install_assistant/InstallAssistantStep2.vue"]]);export{U as default};
+import{C as l}from"./index-5b5e1b75.js";import u from"./InstallAssistantStepTemplate-4589ee8a.js";import d from"./System-f8f1bbde.js";import{_ as p,u as a,l as f,x as g,E as o,A as s,G as A}from"./vendor-cc4615be.js";import"./vendor-fortawesome-855c7d62.js";import"./vendor-bootstrap-09a7ccd9.js";import"./vendor-jquery-13cad4c1.js";import"./vendor-axios-3dcaeec5.js";import"./vendor-sortablejs-7c09d6dd.js";const S={name:"InstallAssistantStep2",components:{InstallAssistantStepTemplate:u,SystemView:d},mixins:[l],emits:["save","reset","defaults","sendCommand","switchPage","endAssistant"],data:()=>({mqttTopicsToSubscribe:[]}),methods:{nextPage(){this.$emit("switchPage",3)},previousPage(){this.$emit("switchPage",1)},endAssistant(){this.$emit("endAssistant")}}};function c(t,e,w,v,k,i){const r=a("SystemView"),m=a("InstallAssistantStepTemplate");return f(),g(m,{title:"2. Aktualisierung des openWB-Systems",onNextPage:i.nextPage,onPreviousPage:i.previousPage,onEndAssistant:i.endAssistant},{help:o(()=>e[4]||(e[4]=[s("p",null," Bitte ein System-Update durchführen, um die Software auf den neuesten Stand der Features und Funktionen zu bringen. ",-1),s("p",null," Hierzu Versions-Informationen / Aktualisierung auswählen, Informationen aktualisieren klicken und falls ein Update verfügbar ist, wird der Update-Button grün (zum Update bereit). ",-1),s("p",null," Bei openWB-Systemen mit integriertem Display muss nach Zurücksetzen auf Werkseinstellungen oder nach Ausführen eines Updates das Display wieder eingeschaltet werden. ",-1),s("p",null,' Ein Klick auf "Änderungen" zeigt die Modifikationen. Ein Klick auf "Update" startet die Aktualisierung, welche auch einen automatischen Reboot initiiert (bitte ca. 5 Minuten warten). Danach muss der Assistent neu gestartet werden. ',-1)])),content:o(()=>[A(r,{"install-assistant-active":!0,onSendCommand:e[0]||(e[0]=n=>t.$emit("sendCommand",n)),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"))})]),_:1},8,["onNextPage","onPreviousPage","onEndAssistant"])}const U=p(S,[["render",c],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/install_assistant/InstallAssistantStep2.vue"]]);export{U as default};
diff --git a/web/settings/assets/InstallAssistantStep3-740466a6.js b/web/settings/assets/InstallAssistantStep3-1db12d61.js
similarity index 93%
rename from web/settings/assets/InstallAssistantStep3-740466a6.js
rename to web/settings/assets/InstallAssistantStep3-1db12d61.js
index 898bd7b6f9..60c7501f57 100644
--- a/web/settings/assets/InstallAssistantStep3-740466a6.js
+++ b/web/settings/assets/InstallAssistantStep3-1db12d61.js
@@ -1 +1 @@
-import{C as u}from"./index-d6a3d34f.js";import d from"./InstallAssistantStepTemplate-0ef1034a.js";import{G as m}from"./GeneralConfig-443e6d5a.js";import{_ as p,u as a,l as g,x as f,E as i,A as n,G as w}from"./vendor-cc4615be.js";import"./vendor-fortawesome-855c7d62.js";import"./vendor-bootstrap-09a7ccd9.js";import"./vendor-jquery-13cad4c1.js";import"./vendor-axios-3dcaeec5.js";import"./vendor-sortablejs-7c09d6dd.js";import"./dynamic-import-helper-be004503.js";const b={name:"InstallAssistantStep3",components:{InstallAssistantStepTemplate:d,GeneralConfigView:m},mixins:[u],emits:["save","reset","defaults","sendCommand","switchPage","endAssistant"],data:()=>({mqttTopicsToSubscribe:["openWB/general/extern"]}),methods:{nextPage(){this.$emit("switchPage",this.$store.state.mqtt["openWB/general/extern"]?4:5)},previousPage(){this.$emit("switchPage",2)},endAssistant(){this.$emit("endAssistant")}}};function B(t,e,S,c,h,r){const o=a("GeneralConfigView"),l=a("InstallAssistantStepTemplate");return g(),f(l,{title:"3. Allgemeine Einstellungen: Auswahl des Betriebsmodus primary (steuernd) bzw. secondary (gesteuerte WB)",onNextPage:r.nextPage,onPreviousPage:r.previousPage,onEndAssistant:r.endAssistant},{help:i(()=>e[4]||(e[4]=[n("p",null," Hier wird abgefragt, ob Dein System mit mehreren openWBs oder nur mit einer openWB betrieben wird. Eine openWB kann andere openWBs steuern. ",-1),n("p",null,' Zuerst ist im Feld "Steuerungsmodus" festzulegen, ob die openWB als "steuernd" (primary) oder als ferngesteuert (secondary) arbeiten soll. Die Einstellung gilt für genau die WB, auf der aktuell konfiguriert wird (korrekte IP-Adresse beachten). ',-1),n("p",null," Eine openWB standalone hat keinen Ladepunkt und arbeitet nur als Steuerteil (primary). Eine openWB Standard(+), custom, Duo und Buchse können sowohl als steuernder primary oder als ferngesteuerte secondary betrieben werden (Duo mit 2 Ladepunkten). Eine openWB Pro und Satellit können nur als s.g. Ladepunkt genutzt werden und benötigen zwingend einen separaten primary als Steuerteil. ",-1),n("p",null,' Sofern openWB als Energiemanagementsystem für steuerbare Verbrauchseinrichtungen (SteuVE) gemäß §14a EnWG verwendet werden soll, so ist für die VNB-Signaleingänge die entsprechende Hardware auszuwählen. -> s. Beschreibung zu "Steuerbare Verbrauchseinrichtung". ',-1),n("p",{class:"font-weight-bold"},"Änderungen werden nur durch Klicken auf Speichern wirksam!",-1)])),content:i(()=>[w(o,{"install-assistant-active":!0,onSendCommand:e[0]||(e[0]=s=>t.$emit("sendCommand",s)),onSave:e[1]||(e[1]=s=>t.$emit("save")),onReset:e[2]||(e[2]=s=>t.$emit("reset")),onDefaults:e[3]||(e[3]=s=>t.$emit("defaults"))})]),_:1},8,["onNextPage","onPreviousPage","onEndAssistant"])}const x=p(b,[["render",B],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/install_assistant/InstallAssistantStep3.vue"]]);export{x as default};
+import{C as u}from"./index-5b5e1b75.js";import d from"./InstallAssistantStepTemplate-4589ee8a.js";import{G as m}from"./GeneralConfig-bd327700.js";import{_ as p,u as a,l as g,x as f,E as i,A as n,G as w}from"./vendor-cc4615be.js";import"./vendor-fortawesome-855c7d62.js";import"./vendor-bootstrap-09a7ccd9.js";import"./vendor-jquery-13cad4c1.js";import"./vendor-axios-3dcaeec5.js";import"./vendor-sortablejs-7c09d6dd.js";import"./dynamic-import-helper-be004503.js";const b={name:"InstallAssistantStep3",components:{InstallAssistantStepTemplate:d,GeneralConfigView:m},mixins:[u],emits:["save","reset","defaults","sendCommand","switchPage","endAssistant"],data:()=>({mqttTopicsToSubscribe:["openWB/general/extern"]}),methods:{nextPage(){this.$emit("switchPage",this.$store.state.mqtt["openWB/general/extern"]?4:5)},previousPage(){this.$emit("switchPage",2)},endAssistant(){this.$emit("endAssistant")}}};function B(t,e,S,c,h,r){const o=a("GeneralConfigView"),l=a("InstallAssistantStepTemplate");return g(),f(l,{title:"3. Allgemeine Einstellungen: Auswahl des Betriebsmodus primary (steuernd) bzw. secondary (gesteuerte WB)",onNextPage:r.nextPage,onPreviousPage:r.previousPage,onEndAssistant:r.endAssistant},{help:i(()=>e[4]||(e[4]=[n("p",null," Hier wird abgefragt, ob Dein System mit mehreren openWBs oder nur mit einer openWB betrieben wird. Eine openWB kann andere openWBs steuern. ",-1),n("p",null,' Zuerst ist im Feld "Steuerungsmodus" festzulegen, ob die openWB als "steuernd" (primary) oder als ferngesteuert (secondary) arbeiten soll. Die Einstellung gilt für genau die WB, auf der aktuell konfiguriert wird (korrekte IP-Adresse beachten). ',-1),n("p",null," Eine openWB standalone hat keinen Ladepunkt und arbeitet nur als Steuerteil (primary). Eine openWB Standard(+), custom, Duo und Buchse können sowohl als steuernder primary oder als ferngesteuerte secondary betrieben werden (Duo mit 2 Ladepunkten). Eine openWB Pro und Satellit können nur als s.g. Ladepunkt genutzt werden und benötigen zwingend einen separaten primary als Steuerteil. ",-1),n("p",null,' Sofern openWB als Energiemanagementsystem für steuerbare Verbrauchseinrichtungen (SteuVE) gemäß §14a EnWG verwendet werden soll, so ist für die VNB-Signaleingänge die entsprechende Hardware auszuwählen. -> s. Beschreibung zu "Steuerbare Verbrauchseinrichtung". ',-1),n("p",{class:"font-weight-bold"},"Änderungen werden nur durch Klicken auf Speichern wirksam!",-1)])),content:i(()=>[w(o,{"install-assistant-active":!0,onSendCommand:e[0]||(e[0]=s=>t.$emit("sendCommand",s)),onSave:e[1]||(e[1]=s=>t.$emit("save")),onReset:e[2]||(e[2]=s=>t.$emit("reset")),onDefaults:e[3]||(e[3]=s=>t.$emit("defaults"))})]),_:1},8,["onNextPage","onPreviousPage","onEndAssistant"])}const x=p(b,[["render",B],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/install_assistant/InstallAssistantStep3.vue"]]);export{x as default};
diff --git a/web/settings/assets/InstallAssistantStep4-d9b0376c.js b/web/settings/assets/InstallAssistantStep4-11abe033.js
similarity index 92%
rename from web/settings/assets/InstallAssistantStep4-d9b0376c.js
rename to web/settings/assets/InstallAssistantStep4-11abe033.js
index d4afb9acd4..a1c7d91bb9 100644
--- a/web/settings/assets/InstallAssistantStep4-d9b0376c.js
+++ b/web/settings/assets/InstallAssistantStep4-11abe033.js
@@ -1 +1 @@
-import{C as l}from"./index-d6a3d34f.js";import p from"./InstallAssistantStepTemplate-0ef1034a.js";import{b as u}from"./ChargePointInstallation-e1ee27bd.js";import{_ as m,u as a,l as g,x as f,E as o,A as n,G as w}from"./vendor-cc4615be.js";import"./vendor-fortawesome-855c7d62.js";import"./vendor-bootstrap-09a7ccd9.js";import"./vendor-jquery-13cad4c1.js";import"./vendor-axios-3dcaeec5.js";import"./vendor-sortablejs-7c09d6dd.js";import"./dynamic-import-helper-be004503.js";const c={name:"InstallAssistantStep4",components:{InstallAssistantStepTemplate:p,ChargePointInstallationView:u},mixins:[l],emits:["save","reset","defaults","sendCommand","switchPage","endAssistant"],data:()=>({mqttTopicsToSubscribe:[]}),methods:{nextPage(){this.$emit("switchPage",9)},previousPage(){this.$emit("switchPage",3)},endAssistant(){this.$emit("endAssistant")}}};function h(t,e,k,B,v,i){const r=a("ChargePointInstallationView"),d=a("InstallAssistantStepTemplate");return g(),f(d,{title:"4. Einrichten der Ladepunkte (openWB als secondary)",onNextPage:i.nextPage,onPreviousPage:i.previousPage,onEndAssistant:i.endAssistant},{help:o(()=>e[4]||(e[4]=[n("p",null,' Diese hier vorzukonfigurierende openWB wurde als "secondary" eingestellt und wird von einer anderen openWB oder standalone ferngesteuert. ',-1),n("p",null," Bei vorkonfigurierten openWBs ist ab Werk bereits ein (zwei bei einer DUO) interner Ladepunkt eingetragen, es müssen keine weiteren Ladepunkte hinzugefügt werden. ",-1),n("p",null,' Tragen Sie unter Ladepunkte bei verfügbare Ladepunkte "Interne openWB" ein und wählen Sie die Bauart der openWB (z.B. openWB series 1/2 custom, Standard (+) oder Buchse) aus. ',-1),n("p",null," Wenn eine openWB Duo gewählt wird, so sind zwei Ladepunkte mit Ladepunkt-Nummer 1 und 2 zu konfigurieren. Bei der openWB Pro und Satellit sind keine Einstellungen notwendig. ",-1),n("p",null,"Weitere Einstellungen sind bei der Vorkonfiguration einer secondary nicht notwendig.",-1),n("p",null," Bitte lesen Sie auch die Hinweistexte, welche durch Klicken auf das Fragezeichensymbol erscheinen. Hier sind weiterführende Informationen zu den Eingabefeldern zu finden. ",-1),n("p",{class:"font-weight-bold"},"Änderungen werden nur durch Klicken auf Speichern wirksam!",-1)])),content:o(()=>[w(r,{"install-assistant-active":!0,onSendCommand:e[0]||(e[0]=s=>t.$emit("sendCommand",s)),onSave:e[1]||(e[1]=s=>t.$emit("save")),onReset:e[2]||(e[2]=s=>t.$emit("reset")),onDefaults:e[3]||(e[3]=s=>t.$emit("defaults"))})]),_:1},8,["onNextPage","onPreviousPage","onEndAssistant"])}const E=m(c,[["render",h],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/install_assistant/InstallAssistantStep4.vue"]]);export{E as default};
+import{C as l}from"./index-5b5e1b75.js";import p from"./InstallAssistantStepTemplate-4589ee8a.js";import{b as u}from"./ChargePointInstallation-acc5f333.js";import{_ as m,u as a,l as g,x as f,E as o,A as n,G as w}from"./vendor-cc4615be.js";import"./vendor-fortawesome-855c7d62.js";import"./vendor-bootstrap-09a7ccd9.js";import"./vendor-jquery-13cad4c1.js";import"./vendor-axios-3dcaeec5.js";import"./vendor-sortablejs-7c09d6dd.js";import"./dynamic-import-helper-be004503.js";const c={name:"InstallAssistantStep4",components:{InstallAssistantStepTemplate:p,ChargePointInstallationView:u},mixins:[l],emits:["save","reset","defaults","sendCommand","switchPage","endAssistant"],data:()=>({mqttTopicsToSubscribe:[]}),methods:{nextPage(){this.$emit("switchPage",9)},previousPage(){this.$emit("switchPage",3)},endAssistant(){this.$emit("endAssistant")}}};function h(t,e,k,B,v,i){const r=a("ChargePointInstallationView"),d=a("InstallAssistantStepTemplate");return g(),f(d,{title:"4. Einrichten der Ladepunkte (openWB als secondary)",onNextPage:i.nextPage,onPreviousPage:i.previousPage,onEndAssistant:i.endAssistant},{help:o(()=>e[4]||(e[4]=[n("p",null,' Diese hier vorzukonfigurierende openWB wurde als "secondary" eingestellt und wird von einer anderen openWB oder standalone ferngesteuert. ',-1),n("p",null," Bei vorkonfigurierten openWBs ist ab Werk bereits ein (zwei bei einer DUO) interner Ladepunkt eingetragen, es müssen keine weiteren Ladepunkte hinzugefügt werden. ",-1),n("p",null,' Tragen Sie unter Ladepunkte bei verfügbare Ladepunkte "Interne openWB" ein und wählen Sie die Bauart der openWB (z.B. openWB series 1/2 custom, Standard (+) oder Buchse) aus. ',-1),n("p",null," Wenn eine openWB Duo gewählt wird, so sind zwei Ladepunkte mit Ladepunkt-Nummer 1 und 2 zu konfigurieren. Bei der openWB Pro und Satellit sind keine Einstellungen notwendig. ",-1),n("p",null,"Weitere Einstellungen sind bei der Vorkonfiguration einer secondary nicht notwendig.",-1),n("p",null," Bitte lesen Sie auch die Hinweistexte, welche durch Klicken auf das Fragezeichensymbol erscheinen. Hier sind weiterführende Informationen zu den Eingabefeldern zu finden. ",-1),n("p",{class:"font-weight-bold"},"Änderungen werden nur durch Klicken auf Speichern wirksam!",-1)])),content:o(()=>[w(r,{"install-assistant-active":!0,onSendCommand:e[0]||(e[0]=s=>t.$emit("sendCommand",s)),onSave:e[1]||(e[1]=s=>t.$emit("save")),onReset:e[2]||(e[2]=s=>t.$emit("reset")),onDefaults:e[3]||(e[3]=s=>t.$emit("defaults"))})]),_:1},8,["onNextPage","onPreviousPage","onEndAssistant"])}const E=m(c,[["render",h],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/install_assistant/InstallAssistantStep4.vue"]]);export{E as default};
diff --git a/web/settings/assets/InstallAssistantStep5-00ae29d4.js b/web/settings/assets/InstallAssistantStep5-62ebcc68.js
similarity index 93%
rename from web/settings/assets/InstallAssistantStep5-00ae29d4.js
rename to web/settings/assets/InstallAssistantStep5-62ebcc68.js
index bea4d459b8..c32781bd9e 100644
--- a/web/settings/assets/InstallAssistantStep5-00ae29d4.js
+++ b/web/settings/assets/InstallAssistantStep5-62ebcc68.js
@@ -1 +1 @@
-import{C as l}from"./index-d6a3d34f.js";import m from"./InstallAssistantStepTemplate-0ef1034a.js";import{H as u}from"./HardwareInstallation-4e683481.js";import{_ as p,u as r,l as g,x as f,E as a,A as n,G as w}from"./vendor-cc4615be.js";import"./vendor-fortawesome-855c7d62.js";import"./vendor-bootstrap-09a7ccd9.js";import"./vendor-jquery-13cad4c1.js";import"./vendor-axios-3dcaeec5.js";import"./vendor-sortablejs-7c09d6dd.js";import"./dynamic-import-helper-be004503.js";const h={name:"InstallAssistantStep5",components:{InstallAssistantStepTemplate:m,HardwareInstallationView:u},mixins:[l],emits:["save","reset","defaults","sendCommand","switchPage","endAssistant"],data:()=>({mqttTopicsToSubscribe:[]}),methods:{nextPage(){this.$emit("switchPage",6)},previousPage(){this.$emit("switchPage",3)},endAssistant(){this.$emit("endAssistant")}}};function c(t,e,v,S,A,i){const o=r("HardwareInstallationView"),d=r("InstallAssistantStepTemplate");return g(),f(d,{title:"4. Energiesystem - Geräte und Komponenten einrichten",onNextPage:i.nextPage,onPreviousPage:i.previousPage,onEndAssistant:i.endAssistant},{help:a(()=>e[4]||(e[4]=[n("p",null,' Diese openWB wurde als "primary" konfiguriert und übernimmt die Steuerung anderer openWBs, falls vorhanden, sowie die alleinige Regelung des Systems. Dazu müssen im Folgenden die Geräte und Komponenten eingerichtet werden. ',-1),n("p",null," Sofern das System nicht zurückgesetzt wurde, ist im Auslieferungszustand für erste Ladetests nach der WB-Montage ein virtueller Zähler vorkonfiguriert. Dieser muss zuerst gelöscht werden, wenn das im Gebäude installierte Energiesystem bestehend aus EVU-Zähler, PV-Anlage und ggf. Speicher in openWB konfiguriert wird. ",-1),n("p",null," Jedes verfügbare Gerät wird durch eine eigene IP-Adresse definiert. Dieses Gerät ist über den Herstellernamen des Energiesystems im Auswahlmenü der verfügbaren Geräte auszuwählen. Unterhalb des Gerätes werden die zugehörigen Komponenten EVU-Zähler, WR und Speicher konfiguriert. Es können je nach Bedarf beliebig viele Geräte und Komponenten miteinander kombiniert werden. ",-1),n("p",null," Bitte lesen Sie auch die Hinweistexte, welche durch Klicken auf das Fragezeichensymbol erscheinen. Hier sind weiterführende Informationen zu den Eingabefeldern zu finden. ",-1),n("p",{class:"font-weight-bold"},"Änderungen werden nur durch Klicken auf Speichern wirksam!",-1)])),content:a(()=>[w(o,{"install-assistant-active":!0,onSendCommand:e[0]||(e[0]=s=>t.$emit("sendCommand",s)),onSave:e[1]||(e[1]=s=>t.$emit("save")),onReset:e[2]||(e[2]=s=>t.$emit("reset")),onDefaults:e[3]||(e[3]=s=>t.$emit("defaults"))})]),_:1},8,["onNextPage","onPreviousPage","onEndAssistant"])}const x=p(h,[["render",c],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/install_assistant/InstallAssistantStep5.vue"]]);export{x as default};
+import{C as l}from"./index-5b5e1b75.js";import m from"./InstallAssistantStepTemplate-4589ee8a.js";import{H as u}from"./HardwareInstallation-5d83a25e.js";import{_ as p,u as r,l as g,x as f,E as a,A as n,G as w}from"./vendor-cc4615be.js";import"./vendor-fortawesome-855c7d62.js";import"./vendor-bootstrap-09a7ccd9.js";import"./vendor-jquery-13cad4c1.js";import"./vendor-axios-3dcaeec5.js";import"./vendor-sortablejs-7c09d6dd.js";import"./dynamic-import-helper-be004503.js";const h={name:"InstallAssistantStep5",components:{InstallAssistantStepTemplate:m,HardwareInstallationView:u},mixins:[l],emits:["save","reset","defaults","sendCommand","switchPage","endAssistant"],data:()=>({mqttTopicsToSubscribe:[]}),methods:{nextPage(){this.$emit("switchPage",6)},previousPage(){this.$emit("switchPage",3)},endAssistant(){this.$emit("endAssistant")}}};function c(t,e,v,S,A,i){const o=r("HardwareInstallationView"),d=r("InstallAssistantStepTemplate");return g(),f(d,{title:"4. Energiesystem - Geräte und Komponenten einrichten",onNextPage:i.nextPage,onPreviousPage:i.previousPage,onEndAssistant:i.endAssistant},{help:a(()=>e[4]||(e[4]=[n("p",null,' Diese openWB wurde als "primary" konfiguriert und übernimmt die Steuerung anderer openWBs, falls vorhanden, sowie die alleinige Regelung des Systems. Dazu müssen im Folgenden die Geräte und Komponenten eingerichtet werden. ',-1),n("p",null," Sofern das System nicht zurückgesetzt wurde, ist im Auslieferungszustand für erste Ladetests nach der WB-Montage ein virtueller Zähler vorkonfiguriert. Dieser muss zuerst gelöscht werden, wenn das im Gebäude installierte Energiesystem bestehend aus EVU-Zähler, PV-Anlage und ggf. Speicher in openWB konfiguriert wird. ",-1),n("p",null," Jedes verfügbare Gerät wird durch eine eigene IP-Adresse definiert. Dieses Gerät ist über den Herstellernamen des Energiesystems im Auswahlmenü der verfügbaren Geräte auszuwählen. Unterhalb des Gerätes werden die zugehörigen Komponenten EVU-Zähler, WR und Speicher konfiguriert. Es können je nach Bedarf beliebig viele Geräte und Komponenten miteinander kombiniert werden. ",-1),n("p",null," Bitte lesen Sie auch die Hinweistexte, welche durch Klicken auf das Fragezeichensymbol erscheinen. Hier sind weiterführende Informationen zu den Eingabefeldern zu finden. ",-1),n("p",{class:"font-weight-bold"},"Änderungen werden nur durch Klicken auf Speichern wirksam!",-1)])),content:a(()=>[w(o,{"install-assistant-active":!0,onSendCommand:e[0]||(e[0]=s=>t.$emit("sendCommand",s)),onSave:e[1]||(e[1]=s=>t.$emit("save")),onReset:e[2]||(e[2]=s=>t.$emit("reset")),onDefaults:e[3]||(e[3]=s=>t.$emit("defaults"))})]),_:1},8,["onNextPage","onPreviousPage","onEndAssistant"])}const x=p(h,[["render",c],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/install_assistant/InstallAssistantStep5.vue"]]);export{x as default};
diff --git a/web/settings/assets/InstallAssistantStep6-d43263ce.js b/web/settings/assets/InstallAssistantStep6-db46bac5.js
similarity index 94%
rename from web/settings/assets/InstallAssistantStep6-d43263ce.js
rename to web/settings/assets/InstallAssistantStep6-db46bac5.js
index 3f3ca83d2e..96f9fc4fc7 100644
--- a/web/settings/assets/InstallAssistantStep6-d43263ce.js
+++ b/web/settings/assets/InstallAssistantStep6-db46bac5.js
@@ -1 +1 @@
-import{C as d}from"./index-d6a3d34f.js";import u from"./InstallAssistantStepTemplate-0ef1034a.js";import{b as p}from"./ChargePointInstallation-e1ee27bd.js";import{_ as m,u as a,l as g,x as h,E as r,A as n,G as w}from"./vendor-cc4615be.js";import"./vendor-fortawesome-855c7d62.js";import"./vendor-bootstrap-09a7ccd9.js";import"./vendor-jquery-13cad4c1.js";import"./vendor-axios-3dcaeec5.js";import"./vendor-sortablejs-7c09d6dd.js";import"./dynamic-import-helper-be004503.js";const P={name:"InstallAssistantStep6",components:{InstallAssistantStepTemplate:u,ChargePointInstallationView:p},mixins:[d],emits:["save","reset","defaults","sendCommand","switchPage","endAssistant"],data:()=>({mqttTopicsToSubscribe:[]}),methods:{nextPage(){this.$emit("switchPage",7)},previousPage(){this.$emit("switchPage",5)},endAssistant(){this.$emit("endAssistant")}}};function f(t,e,c,b,k,i){const o=a("ChargePointInstallationView"),l=a("InstallAssistantStepTemplate");return g(),h(l,{title:"5. Einrichten der Ladepunkte (openWB als primary)",onNextPage:i.nextPage,onPreviousPage:i.previousPage,onEndAssistant:i.endAssistant},{help:r(()=>e[4]||(e[4]=[n("p",null,' Enthält die steuernde openWB (primary) Ladetechnik, wird bei "Verfügbare Ladepunkte" Interne openWB ausgewählt. Weitere LP werden im primary als secondary konfigurierte openWB oder andere WB-Typen wie Pro, Satellit eingebunden. ',-1),n("p",null,"Bei openWBs ab Werk kann hier bereits ein Ladepunkt eingetragen sein.",-1),n("p",null," Nachfolgend werden die Eigenschaften des Ladepunktes wie IP-Adresse und elektrischer Anschluss definiert. Die meisten openWB werden 3-phasig angeschlossen! Bei mehreren Ladepunkten ist auf phasenrotierten Anschluss der openWB-Zuleitung zu achten! Abschließend wird die korrekte Zuordnung der Phase 1 des Ladekabels zur zugehörigen EVU-Zählerphase konfiguriert. Dies ist sehr wichtig, um optimales Lastmanagement sicherzustellen! ",-1),n("p",null," Tipp zur Zuordnung: Verwende ein nur 1-phasig ladendes Auto (z.B. Hybrid) oder stelle bei openWB mit 1p3p-Phasenumschaltung temporär unter Sofortladen (s. Einstellungen -> Ladeeinstellungen) auf einphasig, um eine 1-phasige Ladung zu erzwingen. Gehe unter Status und vergleiche die Leistungen bzw. Ströme der 3 Phasen am EVU-Zähler (rot) beim und nach dem Autoladen (Sofortladen mit 16A/ Stop). Diejenige EVU-Phase, die deutlich erhöhte Werte anzeigt, ist die auszuwählende EVU-Phase. ",-1),n("p",null," Im grauen Menü Ladepunkt-Profile können neben dem Standard-Ladepunkt-Profil auch weitere Ladepunkt-Profile, die andere WB-Typen abbilden, erstellt werden. Dort sind Eintragungen bzgl. des Ladepunkt-Maximalstroms bei einer Phase bzw. mehreren Phasen vorzunehmen. Die Profile werden abschließend im jeweiligen blauen Ladepunkt mittels Auswahlmenü zugeordnet. ",-1),n("p",{class:"font-weight-bold"},"Änderungen werden nur durch Klicken auf Speichern wirksam!",-1)])),content:r(()=>[w(o,{"install-assistant-active":!0,onSendCommand:e[0]||(e[0]=s=>t.$emit("sendCommand",s)),onSave:e[1]||(e[1]=s=>t.$emit("save")),onReset:e[2]||(e[2]=s=>t.$emit("reset")),onDefaults:e[3]||(e[3]=s=>t.$emit("defaults"))})]),_:1},8,["onNextPage","onPreviousPage","onEndAssistant"])}const $=m(P,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/install_assistant/InstallAssistantStep6.vue"]]);export{$ as default};
+import{C as d}from"./index-5b5e1b75.js";import u from"./InstallAssistantStepTemplate-4589ee8a.js";import{b as p}from"./ChargePointInstallation-acc5f333.js";import{_ as m,u as a,l as g,x as h,E as r,A as n,G as w}from"./vendor-cc4615be.js";import"./vendor-fortawesome-855c7d62.js";import"./vendor-bootstrap-09a7ccd9.js";import"./vendor-jquery-13cad4c1.js";import"./vendor-axios-3dcaeec5.js";import"./vendor-sortablejs-7c09d6dd.js";import"./dynamic-import-helper-be004503.js";const P={name:"InstallAssistantStep6",components:{InstallAssistantStepTemplate:u,ChargePointInstallationView:p},mixins:[d],emits:["save","reset","defaults","sendCommand","switchPage","endAssistant"],data:()=>({mqttTopicsToSubscribe:[]}),methods:{nextPage(){this.$emit("switchPage",7)},previousPage(){this.$emit("switchPage",5)},endAssistant(){this.$emit("endAssistant")}}};function f(t,e,c,b,k,i){const o=a("ChargePointInstallationView"),l=a("InstallAssistantStepTemplate");return g(),h(l,{title:"5. Einrichten der Ladepunkte (openWB als primary)",onNextPage:i.nextPage,onPreviousPage:i.previousPage,onEndAssistant:i.endAssistant},{help:r(()=>e[4]||(e[4]=[n("p",null,' Enthält die steuernde openWB (primary) Ladetechnik, wird bei "Verfügbare Ladepunkte" Interne openWB ausgewählt. Weitere LP werden im primary als secondary konfigurierte openWB oder andere WB-Typen wie Pro, Satellit eingebunden. ',-1),n("p",null,"Bei openWBs ab Werk kann hier bereits ein Ladepunkt eingetragen sein.",-1),n("p",null," Nachfolgend werden die Eigenschaften des Ladepunktes wie IP-Adresse und elektrischer Anschluss definiert. Die meisten openWB werden 3-phasig angeschlossen! Bei mehreren Ladepunkten ist auf phasenrotierten Anschluss der openWB-Zuleitung zu achten! Abschließend wird die korrekte Zuordnung der Phase 1 des Ladekabels zur zugehörigen EVU-Zählerphase konfiguriert. Dies ist sehr wichtig, um optimales Lastmanagement sicherzustellen! ",-1),n("p",null," Tipp zur Zuordnung: Verwende ein nur 1-phasig ladendes Auto (z.B. Hybrid) oder stelle bei openWB mit 1p3p-Phasenumschaltung temporär unter Sofortladen (s. Einstellungen -> Ladeeinstellungen) auf einphasig, um eine 1-phasige Ladung zu erzwingen. Gehe unter Status und vergleiche die Leistungen bzw. Ströme der 3 Phasen am EVU-Zähler (rot) beim und nach dem Autoladen (Sofortladen mit 16A/ Stop). Diejenige EVU-Phase, die deutlich erhöhte Werte anzeigt, ist die auszuwählende EVU-Phase. ",-1),n("p",null," Im grauen Menü Ladepunkt-Profile können neben dem Standard-Ladepunkt-Profil auch weitere Ladepunkt-Profile, die andere WB-Typen abbilden, erstellt werden. Dort sind Eintragungen bzgl. des Ladepunkt-Maximalstroms bei einer Phase bzw. mehreren Phasen vorzunehmen. Die Profile werden abschließend im jeweiligen blauen Ladepunkt mittels Auswahlmenü zugeordnet. ",-1),n("p",{class:"font-weight-bold"},"Änderungen werden nur durch Klicken auf Speichern wirksam!",-1)])),content:r(()=>[w(o,{"install-assistant-active":!0,onSendCommand:e[0]||(e[0]=s=>t.$emit("sendCommand",s)),onSave:e[1]||(e[1]=s=>t.$emit("save")),onReset:e[2]||(e[2]=s=>t.$emit("reset")),onDefaults:e[3]||(e[3]=s=>t.$emit("defaults"))})]),_:1},8,["onNextPage","onPreviousPage","onEndAssistant"])}const $=m(P,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/install_assistant/InstallAssistantStep6.vue"]]);export{$ as default};
diff --git a/web/settings/assets/InstallAssistantStep7-7a343e1a.js b/web/settings/assets/InstallAssistantStep7-7858cbaf.js
similarity index 91%
rename from web/settings/assets/InstallAssistantStep7-7a343e1a.js
rename to web/settings/assets/InstallAssistantStep7-7858cbaf.js
index ab202de942..ac88336023 100644
--- a/web/settings/assets/InstallAssistantStep7-7a343e1a.js
+++ b/web/settings/assets/InstallAssistantStep7-7858cbaf.js
@@ -1 +1 @@
-import{C as l}from"./index-d6a3d34f.js";import m from"./InstallAssistantStepTemplate-0ef1034a.js";import p from"./LoadManagementConfig-b3d43044.js";import{_ as u,u as r,l as g,x as h,E as a,A as n,G as c}from"./vendor-cc4615be.js";import"./vendor-fortawesome-855c7d62.js";import"./vendor-bootstrap-09a7ccd9.js";import"./vendor-jquery-13cad4c1.js";import"./vendor-axios-3dcaeec5.js";import"./vendor-sortablejs-7c09d6dd.js";import"./OpenwbSortableList-2d35f653.js";const f={name:"InstallAssistantStep7",components:{InstallAssistantStepTemplate:m,LoadManagementConfigView:p},mixins:[l],emits:["save","reset","defaults","sendCommand","switchPage","endAssistant"],data:()=>({mqttTopicsToSubscribe:[]}),methods:{nextPage(){this.$emit("switchPage",8)},previousPage(){this.$emit("switchPage",6)},endAssistant(){this.$emit("endAssistant")}}};function b(t,e,S,w,A,i){const o=r("LoadManagementConfigView"),d=r("InstallAssistantStepTemplate");return g(),h(d,{title:"6. Konfiguration des Lastmanagements",onNextPage:i.nextPage,onPreviousPage:i.previousPage,onEndAssistant:i.endAssistant},{help:a(()=>e[4]||(e[4]=[n("p",null," Im Lastmanagement werden die maximale Leistung sowie die maximalen Ströme für jede Phase des Zählermoduls sowie bei Hybrid-Systemen (per DC-angebundener Speicher) die maximale Ausgangsleistung des Wechselrichters der PV-Anlage eingetragen, falls eine solche vorhanden ist. ",-1),n("p",null,' Der erste Zähler ist in der Regel der Zähler am EVU-Punkt (Position des PV/Speicher-Smartmeters direkt hinter dem VNB-Zähler). In openWB ist hierzu auf die unterhalb der "Vorhandene Zählermodule" liegende (rote) EVU-Zähler-Komponente zu klicken, in welche die maximale EVU-Leistung sowie die Phasenströme eingetragen werden, für die der Hausanschluss abgesichert ist (Elektriker fragen, typisch f. EFH: 24kW/3x35A, 43kW/3x63A). ',-1),n("p",null," Ist ein Wechselrichter mit DC-angebundenem Speicher unter Geräte hinzugefügt worden, dann ist unter der (grünen) WR-Komponente noch die maximale Ausgangsleistung des WR einzutragen. ",-1),n("p",null," Der EVU-Zähler (rot) schließt alle weiteren Komponenten wie WR und Speicher unter sich ein. Bei AC-eingebundenen Speichern befinden sich WR und Speicher in derselben Ebene, bei DC-eingebundenen Speichern (Hybrid) der Speicher unterhalb des WR. Die Ladepunkte (z.B. secondary openWB) befinden sich auf derselben Ebene wie der WR und unterhalb des EVU-Zählers. Anpassungen der Anordnungen sind über die Pfeil-Bereiche der Komponenten durch einfaches Verschieben mit der Maus oder am Smartphone möglich. ",-1),n("p",null,null,-1),n("p",{class:"font-weight-bold"},"Änderungen werden nur durch Klicken auf Speichern wirksam!",-1)])),content:a(()=>[c(o,{"install-assistant-active":!0,onSendCommand:e[0]||(e[0]=s=>t.$emit("sendCommand",s)),onSave:e[1]||(e[1]=s=>t.$emit("save")),onReset:e[2]||(e[2]=s=>t.$emit("reset")),onDefaults:e[3]||(e[3]=s=>t.$emit("defaults"))})]),_:1},8,["onNextPage","onPreviousPage","onEndAssistant"])}const I=u(f,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/install_assistant/InstallAssistantStep7.vue"]]);export{I as default};
+import{C as l}from"./index-5b5e1b75.js";import m from"./InstallAssistantStepTemplate-4589ee8a.js";import p from"./LoadManagementConfig-ebecc34c.js";import{_ as u,u as r,l as g,x as h,E as a,A as n,G as c}from"./vendor-cc4615be.js";import"./vendor-fortawesome-855c7d62.js";import"./vendor-bootstrap-09a7ccd9.js";import"./vendor-jquery-13cad4c1.js";import"./vendor-axios-3dcaeec5.js";import"./vendor-sortablejs-7c09d6dd.js";import"./OpenwbSortableList-5dccf22c.js";const f={name:"InstallAssistantStep7",components:{InstallAssistantStepTemplate:m,LoadManagementConfigView:p},mixins:[l],emits:["save","reset","defaults","sendCommand","switchPage","endAssistant"],data:()=>({mqttTopicsToSubscribe:[]}),methods:{nextPage(){this.$emit("switchPage",8)},previousPage(){this.$emit("switchPage",6)},endAssistant(){this.$emit("endAssistant")}}};function b(t,e,S,w,A,i){const o=r("LoadManagementConfigView"),d=r("InstallAssistantStepTemplate");return g(),h(d,{title:"6. Konfiguration des Lastmanagements",onNextPage:i.nextPage,onPreviousPage:i.previousPage,onEndAssistant:i.endAssistant},{help:a(()=>e[4]||(e[4]=[n("p",null," Im Lastmanagement werden die maximale Leistung sowie die maximalen Ströme für jede Phase des Zählermoduls sowie bei Hybrid-Systemen (per DC-angebundener Speicher) die maximale Ausgangsleistung des Wechselrichters der PV-Anlage eingetragen, falls eine solche vorhanden ist. ",-1),n("p",null,' Der erste Zähler ist in der Regel der Zähler am EVU-Punkt (Position des PV/Speicher-Smartmeters direkt hinter dem VNB-Zähler). In openWB ist hierzu auf die unterhalb der "Vorhandene Zählermodule" liegende (rote) EVU-Zähler-Komponente zu klicken, in welche die maximale EVU-Leistung sowie die Phasenströme eingetragen werden, für die der Hausanschluss abgesichert ist (Elektriker fragen, typisch f. EFH: 24kW/3x35A, 43kW/3x63A). ',-1),n("p",null," Ist ein Wechselrichter mit DC-angebundenem Speicher unter Geräte hinzugefügt worden, dann ist unter der (grünen) WR-Komponente noch die maximale Ausgangsleistung des WR einzutragen. ",-1),n("p",null," Der EVU-Zähler (rot) schließt alle weiteren Komponenten wie WR und Speicher unter sich ein. Bei AC-eingebundenen Speichern befinden sich WR und Speicher in derselben Ebene, bei DC-eingebundenen Speichern (Hybrid) der Speicher unterhalb des WR. Die Ladepunkte (z.B. secondary openWB) befinden sich auf derselben Ebene wie der WR und unterhalb des EVU-Zählers. Anpassungen der Anordnungen sind über die Pfeil-Bereiche der Komponenten durch einfaches Verschieben mit der Maus oder am Smartphone möglich. ",-1),n("p",null,null,-1),n("p",{class:"font-weight-bold"},"Änderungen werden nur durch Klicken auf Speichern wirksam!",-1)])),content:a(()=>[c(o,{"install-assistant-active":!0,onSendCommand:e[0]||(e[0]=s=>t.$emit("sendCommand",s)),onSave:e[1]||(e[1]=s=>t.$emit("save")),onReset:e[2]||(e[2]=s=>t.$emit("reset")),onDefaults:e[3]||(e[3]=s=>t.$emit("defaults"))})]),_:1},8,["onNextPage","onPreviousPage","onEndAssistant"])}const I=u(f,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/install_assistant/InstallAssistantStep7.vue"]]);export{I as default};
diff --git a/web/settings/assets/InstallAssistantStep8-08b4550a.js b/web/settings/assets/InstallAssistantStep8-6835c67c.js
similarity index 93%
rename from web/settings/assets/InstallAssistantStep8-08b4550a.js
rename to web/settings/assets/InstallAssistantStep8-6835c67c.js
index c448696d9d..e648b29a18 100644
--- a/web/settings/assets/InstallAssistantStep8-08b4550a.js
+++ b/web/settings/assets/InstallAssistantStep8-6835c67c.js
@@ -1 +1 @@
-import{C as g}from"./index-d6a3d34f.js";import p from"./InstallAssistantStepTemplate-0ef1034a.js";import{a as h}from"./VehicleConfig-d23b00dd.js";import{F as f}from"./vendor-fortawesome-855c7d62.js";import{_ as z,u as r,l as w,x as P,E as a,A as n,B as o,G as d}from"./vendor-cc4615be.js";import"./vendor-bootstrap-09a7ccd9.js";import"./vendor-jquery-13cad4c1.js";import"./vendor-axios-3dcaeec5.js";import"./vendor-sortablejs-7c09d6dd.js";import"./dynamic-import-helper-be004503.js";const A={name:"InstallAssistantStep8",components:{InstallAssistantStepTemplate:p,VehicleConfigView:h,FontAwesomeIcon:f},mixins:[g],emits:["save","reset","defaults","sendCommand","switchPage","endAssistant"],data:()=>({mqttTopicsToSubscribe:[]}),methods:{nextPage(){this.$emit("switchPage",9)},previousPage(){this.$emit("switchPage",7)},endAssistant(){this.$emit("endAssistant")}}},F={class:"font-weight-bold"};function v(t,e,c,S,V,i){const l=r("FontAwesomeIcon"),u=r("VehicleConfigView"),m=r("InstallAssistantStepTemplate");return w(),P(m,{title:"7. Einrichten der Fahrzeuge",onNextPage:i.nextPage,onPreviousPage:i.previousPage,onEndAssistant:i.endAssistant},{help:a(()=>[e[6]||(e[6]=n("p",null,"Vor dem eigentlichen Fahrzeug werden zuerst die Fahrzeug- und Lade-Profile konfiguriert.",-1)),e[7]||(e[7]=n("p",null," Bei nur einem Fahrzeug reicht das Standard-Fahrzeug-Profil aus. Bei mehreren Fahrzeugtypen werden weitere Fahrzeug-Profile hinzugefügt. Im Anschluss werden die Fahrzeug-Profile mit den passenden Einstellungen des Fahrzeugtyps versehen (Mindeststromstärke, Maximalstromstärke bei einer/mehreren Phase/n sowie Angaben zur Batterie und Handhabung der Phasen entsprechend den Daten des Automobilherstellers. Im Zweifelsfall den Hersteller des Autos oder im openWB-Forum nachfragen). ",-1)),n("p",F,[e[4]||(e[4]=o(' Wichtig: Die "Angaben zur Handhabung von Phasen" des Fahrzeugs sind richtig einzutragen! Beachte die Hilfstexte, die Du durch Klick auf ',-1)),d(l,{icon:["far","question-circle"]}),e[5]||(e[5]=o(" anzeigen kannst. ",-1))]),e[8]||(e[8]=n("p",null," Bei nur einem Fahrzeug reicht das Standard-Lade-Profil aus. Bei mehreren Fahrzeugen können weitere Lade-Profile hinzugefügt werden. Dies erlaubt die Nutzung unterschiedlicher Lademodi je Fahrzeug (z.B. EV1 = Sofortladen, EV2 = PV-Laden). Im Anschluss werden die Voreinstellungen zu den verschiedenen Lademodi konfiguriert. ",-1)),e[9]||(e[9]=n("p",null," Nun wird das eigentliche Fahrzeug angelegt und mit dem gewünschten Fahrzeug-Profil / Lade-Profil versehen. Ist nur ein Fahrzeug vorhanden, reicht das Standard-Fahrzeug aus. ",-1)),e[10]||(e[10]=n("p",{class:"font-weight-bold"},"Änderungen werden nur durch Klicken auf Speichern wirksam!",-1))]),content:a(()=>[d(u,{"install-assistant-active":!0,onSendCommand:e[0]||(e[0]=s=>t.$emit("sendCommand",s)),onSave:e[1]||(e[1]=s=>t.$emit("save")),onReset:e[2]||(e[2]=s=>t.$emit("reset")),onDefaults:e[3]||(e[3]=s=>t.$emit("defaults"))})]),_:1},8,["onNextPage","onPreviousPage","onEndAssistant"])}const T=z(A,[["render",v],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/install_assistant/InstallAssistantStep8.vue"]]);export{T as default};
+import{C as g}from"./index-5b5e1b75.js";import p from"./InstallAssistantStepTemplate-4589ee8a.js";import{a as h}from"./VehicleConfig-c2429926.js";import{F as f}from"./vendor-fortawesome-855c7d62.js";import{_ as z,u as r,l as w,x as P,E as a,A as n,B as o,G as d}from"./vendor-cc4615be.js";import"./vendor-bootstrap-09a7ccd9.js";import"./vendor-jquery-13cad4c1.js";import"./vendor-axios-3dcaeec5.js";import"./vendor-sortablejs-7c09d6dd.js";import"./dynamic-import-helper-be004503.js";const A={name:"InstallAssistantStep8",components:{InstallAssistantStepTemplate:p,VehicleConfigView:h,FontAwesomeIcon:f},mixins:[g],emits:["save","reset","defaults","sendCommand","switchPage","endAssistant"],data:()=>({mqttTopicsToSubscribe:[]}),methods:{nextPage(){this.$emit("switchPage",9)},previousPage(){this.$emit("switchPage",7)},endAssistant(){this.$emit("endAssistant")}}},F={class:"font-weight-bold"};function v(t,e,c,S,V,i){const l=r("FontAwesomeIcon"),u=r("VehicleConfigView"),m=r("InstallAssistantStepTemplate");return w(),P(m,{title:"7. Einrichten der Fahrzeuge",onNextPage:i.nextPage,onPreviousPage:i.previousPage,onEndAssistant:i.endAssistant},{help:a(()=>[e[6]||(e[6]=n("p",null,"Vor dem eigentlichen Fahrzeug werden zuerst die Fahrzeug- und Lade-Profile konfiguriert.",-1)),e[7]||(e[7]=n("p",null," Bei nur einem Fahrzeug reicht das Standard-Fahrzeug-Profil aus. Bei mehreren Fahrzeugtypen werden weitere Fahrzeug-Profile hinzugefügt. Im Anschluss werden die Fahrzeug-Profile mit den passenden Einstellungen des Fahrzeugtyps versehen (Mindeststromstärke, Maximalstromstärke bei einer/mehreren Phase/n sowie Angaben zur Batterie und Handhabung der Phasen entsprechend den Daten des Automobilherstellers. Im Zweifelsfall den Hersteller des Autos oder im openWB-Forum nachfragen). ",-1)),n("p",F,[e[4]||(e[4]=o(' Wichtig: Die "Angaben zur Handhabung von Phasen" des Fahrzeugs sind richtig einzutragen! Beachte die Hilfstexte, die Du durch Klick auf ',-1)),d(l,{icon:["far","question-circle"]}),e[5]||(e[5]=o(" anzeigen kannst. ",-1))]),e[8]||(e[8]=n("p",null," Bei nur einem Fahrzeug reicht das Standard-Lade-Profil aus. Bei mehreren Fahrzeugen können weitere Lade-Profile hinzugefügt werden. Dies erlaubt die Nutzung unterschiedlicher Lademodi je Fahrzeug (z.B. EV1 = Sofortladen, EV2 = PV-Laden). Im Anschluss werden die Voreinstellungen zu den verschiedenen Lademodi konfiguriert. ",-1)),e[9]||(e[9]=n("p",null," Nun wird das eigentliche Fahrzeug angelegt und mit dem gewünschten Fahrzeug-Profil / Lade-Profil versehen. Ist nur ein Fahrzeug vorhanden, reicht das Standard-Fahrzeug aus. ",-1)),e[10]||(e[10]=n("p",{class:"font-weight-bold"},"Änderungen werden nur durch Klicken auf Speichern wirksam!",-1))]),content:a(()=>[d(u,{"install-assistant-active":!0,onSendCommand:e[0]||(e[0]=s=>t.$emit("sendCommand",s)),onSave:e[1]||(e[1]=s=>t.$emit("save")),onReset:e[2]||(e[2]=s=>t.$emit("reset")),onDefaults:e[3]||(e[3]=s=>t.$emit("defaults"))})]),_:1},8,["onNextPage","onPreviousPage","onEndAssistant"])}const T=z(A,[["render",v],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/install_assistant/InstallAssistantStep8.vue"]]);export{T as default};
diff --git a/web/settings/assets/InstallAssistantStep9-11ff7fe8.js b/web/settings/assets/InstallAssistantStep9-6029b0cf.js
similarity index 91%
rename from web/settings/assets/InstallAssistantStep9-11ff7fe8.js
rename to web/settings/assets/InstallAssistantStep9-6029b0cf.js
index 6df90bf511..6aefd5b249 100644
--- a/web/settings/assets/InstallAssistantStep9-11ff7fe8.js
+++ b/web/settings/assets/InstallAssistantStep9-6029b0cf.js
@@ -1 +1 @@
-import{C as m}from"./index-d6a3d34f.js";import p from"./InstallAssistantStepTemplate-0ef1034a.js";import{D as u}from"./DataManagement-b2cf930f.js";import{_ as d,u as i,l as g,x as f,E as o,A as a,G as v}from"./vendor-cc4615be.js";import"./vendor-fortawesome-855c7d62.js";import"./vendor-bootstrap-09a7ccd9.js";import"./vendor-jquery-13cad4c1.js";import"./vendor-axios-3dcaeec5.js";import"./vendor-sortablejs-7c09d6dd.js";import"./dynamic-import-helper-be004503.js";const c={name:"InstallAssistantStep9",components:{InstallAssistantStepTemplate:p,DataManagement:u},mixins:[m],emits:["save","reset","defaults","sendCommand","switchPage","endAssistant"],data:()=>({mqttTopicsToSubscribe:["openWB/general/extern"]}),computed:{stepNumber(){return this.$store.state.mqtt["openWB/general/extern"]?5:8}},methods:{nextPage(){this.$emit("switchPage",10)},previousPage(){this.$emit("switchPage",this.$store.state.mqtt["openWB/general/extern"]?4:8)},endAssistant(){this.$emit("endAssistant")}}};function h(t,e,A,P,S,n){const r=i("DataManagement"),l=i("InstallAssistantStepTemplate");return g(),f(l,{title:`${n.stepNumber}. Datensicherung der neuen Konfiguration`,onNextPage:n.nextPage,onPreviousPage:n.previousPage,onEndAssistant:n.endAssistant},{help:o(()=>e[4]||(e[4]=[a("p",null," Wir empfehlen an dieser Stelle eine manuell initiierte Sicherung der neu konfigurierten openWB zu erstellen. ",-1),a("p",null," Dieser Vorgang sollte im Betrieb regelmäßig wiederholt werden (mindestens vor Updates), um sowohl die individuellen Log-Daten als auch auf ältere Konfigurationen zurückgreifen zu können (Backups). ",-1),a("p",null,' Die Sicherung kann auch automatisiert auf einem Cloud-Dienst durchgeführt werden. Hierzu bitte im unteren Bereich "Backup-Cloud" die entsprechenden Einstellungen vornehmen. ',-1)])),content:o(()=>[v(r,{"install-assistant-active":!0,onSendCommand:e[0]||(e[0]=s=>t.$emit("sendCommand",s)),onSave:e[1]||(e[1]=s=>t.$emit("save")),onReset:e[2]||(e[2]=s=>t.$emit("reset")),onDefaults:e[3]||(e[3]=s=>t.$emit("defaults"))})]),_:1},8,["title","onNextPage","onPreviousPage","onEndAssistant"])}const W=d(c,[["render",h],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/install_assistant/InstallAssistantStep9.vue"]]);export{W as default};
+import{C as m}from"./index-5b5e1b75.js";import p from"./InstallAssistantStepTemplate-4589ee8a.js";import{D as u}from"./DataManagement-d8247a90.js";import{_ as d,u as i,l as g,x as f,E as o,A as a,G as v}from"./vendor-cc4615be.js";import"./vendor-fortawesome-855c7d62.js";import"./vendor-bootstrap-09a7ccd9.js";import"./vendor-jquery-13cad4c1.js";import"./vendor-axios-3dcaeec5.js";import"./vendor-sortablejs-7c09d6dd.js";import"./dynamic-import-helper-be004503.js";const c={name:"InstallAssistantStep9",components:{InstallAssistantStepTemplate:p,DataManagement:u},mixins:[m],emits:["save","reset","defaults","sendCommand","switchPage","endAssistant"],data:()=>({mqttTopicsToSubscribe:["openWB/general/extern"]}),computed:{stepNumber(){return this.$store.state.mqtt["openWB/general/extern"]?5:8}},methods:{nextPage(){this.$emit("switchPage",10)},previousPage(){this.$emit("switchPage",this.$store.state.mqtt["openWB/general/extern"]?4:8)},endAssistant(){this.$emit("endAssistant")}}};function h(t,e,A,P,S,n){const r=i("DataManagement"),l=i("InstallAssistantStepTemplate");return g(),f(l,{title:`${n.stepNumber}. Datensicherung der neuen Konfiguration`,onNextPage:n.nextPage,onPreviousPage:n.previousPage,onEndAssistant:n.endAssistant},{help:o(()=>e[4]||(e[4]=[a("p",null," Wir empfehlen an dieser Stelle eine manuell initiierte Sicherung der neu konfigurierten openWB zu erstellen. ",-1),a("p",null," Dieser Vorgang sollte im Betrieb regelmäßig wiederholt werden (mindestens vor Updates), um sowohl die individuellen Log-Daten als auch auf ältere Konfigurationen zurückgreifen zu können (Backups). ",-1),a("p",null,' Die Sicherung kann auch automatisiert auf einem Cloud-Dienst durchgeführt werden. Hierzu bitte im unteren Bereich "Backup-Cloud" die entsprechenden Einstellungen vornehmen. ',-1)])),content:o(()=>[v(r,{"install-assistant-active":!0,onSendCommand:e[0]||(e[0]=s=>t.$emit("sendCommand",s)),onSave:e[1]||(e[1]=s=>t.$emit("save")),onReset:e[2]||(e[2]=s=>t.$emit("reset")),onDefaults:e[3]||(e[3]=s=>t.$emit("defaults"))})]),_:1},8,["title","onNextPage","onPreviousPage","onEndAssistant"])}const W=d(c,[["render",h],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/install_assistant/InstallAssistantStep9.vue"]]);export{W as default};
diff --git a/web/settings/assets/InstallAssistantStepTemplate-0ef1034a.js b/web/settings/assets/InstallAssistantStepTemplate-4589ee8a.js
similarity index 97%
rename from web/settings/assets/InstallAssistantStepTemplate-0ef1034a.js
rename to web/settings/assets/InstallAssistantStepTemplate-4589ee8a.js
index 670763df61..2f0193468b 100644
--- a/web/settings/assets/InstallAssistantStepTemplate-0ef1034a.js
+++ b/web/settings/assets/InstallAssistantStepTemplate-4589ee8a.js
@@ -1 +1 @@
-import{C as g}from"./index-d6a3d34f.js";import{l as v,ax as y,ay as w,F as x}from"./vendor-fortawesome-855c7d62.js";import{_ as k,u as r,l as a,m as i,G as t,E as s,A as n,B as c,z as p,p as f}from"./vendor-cc4615be.js";import"./vendor-bootstrap-09a7ccd9.js";import"./vendor-jquery-13cad4c1.js";import"./vendor-axios-3dcaeec5.js";import"./vendor-sortablejs-7c09d6dd.js";const B="/openWB/web/settings/img/openWB_logo_light.png";v.add(y,w);const h={name:"InstallAssistantStepTemplate",components:{FontAwesomeIcon:x},mixins:[g],props:{title:{type:String,required:!0},hidePrevious:{type:Boolean,required:!1,default:!1},hideNext:{type:Boolean,required:!1,default:!1},hideEnd:{type:Boolean,required:!1,default:!1}},emits:["previousPage","nextPage","endAssistant"],methods:{nextPage(){window.scrollTo(0,0),this.$emit("nextPage")},previousPage(){window.scrollTo(0,0),this.$emit("previousPage")},endAssistant(){this.$emit("endAssistant")}}},A={class:"row justify-content-center mb-1"},C={key:0,class:"col-md-4 d-flex py-1 justify-content-center"},P={key:1,class:"col-md-4 d-flex py-1 justify-content-center"},S={key:2,class:"col-md-4 d-flex py-1 justify-content-center"},T={class:"row justify-content-center"},I={class:"page-help-text col-md-3 py-2"},N={class:"col py-2"};function $(_,e,o,j,W,l){const u=r("font-awesome-icon"),d=r("openwb-base-click-button"),b=r("openwb-base-card");return a(),i("div",null,[t(b,{title:o.title,"body-bg":"white",class:"p-0 mx-3"},{footer:s(()=>[n("div",A,[o.hidePrevious?p("",!0):(a(),i("div",C,[t(d,{class:"btn-block btn-warning",onButtonClicked:e[0]||(e[0]=m=>l.previousPage())},{default:s(()=>[t(u,{icon:["fas","caret-left"]}),e[3]||(e[3]=c(" Zurück ",-1))]),_:1,__:[3]})])),o.hideNext?p("",!0):(a(),i("div",P,[t(d,{class:"btn-block btn-success",onButtonClicked:e[1]||(e[1]=m=>l.nextPage())},{default:s(()=>[e[4]||(e[4]=c(" Weiter ",-1)),t(u,{icon:["fas","caret-right"]})]),_:1,__:[4]})])),o.hideEnd?p("",!0):(a(),i("div",S,[t(d,{class:"btn-block btn-danger",onButtonClicked:e[2]||(e[2]=m=>l.endAssistant())},{default:s(()=>e[5]||(e[5]=[c(" Assistent beenden ",-1)])),_:1,__:[5]})]))])]),default:s(()=>[n("div",T,[n("div",I,[f(_.$slots,"help",{},()=>[e[6]||(e[6]=n("img",{src:B,alt:"openWB Logo",class:"w-100"},null,-1))],!0)]),n("div",N,[f(_.$slots,"content",{},void 0,!0)])])]),_:3},8,["title"])])}const R=k(h,[["render",$],["__scopeId","data-v-db9e78cb"],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/install_assistant/InstallAssistantStepTemplate.vue"]]);export{R as default};
+import{C as g}from"./index-5b5e1b75.js";import{l as v,ax as y,ay as w,F as x}from"./vendor-fortawesome-855c7d62.js";import{_ as k,u as r,l as a,m as i,G as t,E as s,A as n,B as c,z as p,p as f}from"./vendor-cc4615be.js";import"./vendor-bootstrap-09a7ccd9.js";import"./vendor-jquery-13cad4c1.js";import"./vendor-axios-3dcaeec5.js";import"./vendor-sortablejs-7c09d6dd.js";const B="/openWB/web/settings/img/openWB_logo_light.png";v.add(y,w);const h={name:"InstallAssistantStepTemplate",components:{FontAwesomeIcon:x},mixins:[g],props:{title:{type:String,required:!0},hidePrevious:{type:Boolean,required:!1,default:!1},hideNext:{type:Boolean,required:!1,default:!1},hideEnd:{type:Boolean,required:!1,default:!1}},emits:["previousPage","nextPage","endAssistant"],methods:{nextPage(){window.scrollTo(0,0),this.$emit("nextPage")},previousPage(){window.scrollTo(0,0),this.$emit("previousPage")},endAssistant(){this.$emit("endAssistant")}}},A={class:"row justify-content-center mb-1"},C={key:0,class:"col-md-4 d-flex py-1 justify-content-center"},P={key:1,class:"col-md-4 d-flex py-1 justify-content-center"},S={key:2,class:"col-md-4 d-flex py-1 justify-content-center"},T={class:"row justify-content-center"},I={class:"page-help-text col-md-3 py-2"},N={class:"col py-2"};function $(_,e,o,j,W,l){const u=r("font-awesome-icon"),d=r("openwb-base-click-button"),b=r("openwb-base-card");return a(),i("div",null,[t(b,{title:o.title,"body-bg":"white",class:"p-0 mx-3"},{footer:s(()=>[n("div",A,[o.hidePrevious?p("",!0):(a(),i("div",C,[t(d,{class:"btn-block btn-warning",onButtonClicked:e[0]||(e[0]=m=>l.previousPage())},{default:s(()=>[t(u,{icon:["fas","caret-left"]}),e[3]||(e[3]=c(" Zurück ",-1))]),_:1,__:[3]})])),o.hideNext?p("",!0):(a(),i("div",P,[t(d,{class:"btn-block btn-success",onButtonClicked:e[1]||(e[1]=m=>l.nextPage())},{default:s(()=>[e[4]||(e[4]=c(" Weiter ",-1)),t(u,{icon:["fas","caret-right"]})]),_:1,__:[4]})])),o.hideEnd?p("",!0):(a(),i("div",S,[t(d,{class:"btn-block btn-danger",onButtonClicked:e[2]||(e[2]=m=>l.endAssistant())},{default:s(()=>e[5]||(e[5]=[c(" Assistent beenden ",-1)])),_:1,__:[5]})]))])]),default:s(()=>[n("div",T,[n("div",I,[f(_.$slots,"help",{},()=>[e[6]||(e[6]=n("img",{src:B,alt:"openWB Logo",class:"w-100"},null,-1))],!0)]),n("div",N,[f(_.$slots,"content",{},void 0,!0)])])]),_:3},8,["title"])])}const R=k(h,[["render",$],["__scopeId","data-v-db9e78cb"],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/install_assistant/InstallAssistantStepTemplate.vue"]]);export{R as default};
diff --git a/web/settings/assets/IoConfig-043cc72b.js b/web/settings/assets/IoConfig-74e751bf.js
similarity index 94%
rename from web/settings/assets/IoConfig-043cc72b.js
rename to web/settings/assets/IoConfig-74e751bf.js
index bc17e7d9df..02be8e867d 100644
--- a/web/settings/assets/IoConfig-043cc72b.js
+++ b/web/settings/assets/IoConfig-74e751bf.js
@@ -1 +1 @@
-import{l as q,aa as $,F as L}from"./vendor-fortawesome-855c7d62.js";import{_ as A,C as E}from"./index-d6a3d34f.js";import{_ as W}from"./dynamic-import-helper-be004503.js";import{_ as k,u as l,l as a,m as g,x as _,E as i,B as d,F as b,G as r,A as w,a2 as M,N as I,M as x,z as C,a3 as T}from"./vendor-cc4615be.js";const U={props:{ioDevice:{type:Object,required:!0}},emits:["update:configuration"],methods:{updateConfiguration(t,e=void 0){this.$emit("update:configuration",{value:t,object:e})}}},F=k(U,[["__file","/opt/openWB-dev/openwb-ui-settings/src/components/io_devices/OpenwbIoDeviceConfigMixin.vue"]]),N={name:"OpenwbIoDeviceConfigFallback",mixins:[F]},z={class:"io-device-config-fallback"},G={key:1};function R(t,e,s,v,c,n){const m=l("openwb-base-alert"),h=l("openwb-base-textarea");return a(),g("div",z,[Object.keys(t.ioDevice.configuration).length==0?(a(),_(m,{key:0,subtype:"info"},{default:i(()=>[d(' Das I/O-Modul "'+b(t.ioDevice.name)+'" bietet keine Einstellungen. ',1)]),_:1})):(a(),g("div",G,[r(m,{subtype:"warning"},{default:i(()=>[d(' Es wurde keine Konfigurationsseite für das I/O-Modul "'+b(t.ioDevice.name)+'" gefunden. Die Einstellungen können als JSON direkt bearbeitet werden. ',1)]),_:1}),r(h,{title:"Konfiguration",subtype:"json","model-value":t.ioDevice.configuration,"onUpdate:modelValue":e[0]||(e[0]=f=>t.updateConfiguration(f,"configuration"))},{help:i(()=>e[1]||(e[1]=[d(" Bitte prüfen Sie, ob die Eingaben richtig interpretiert werden. ",-1)])),_:1},8,["model-value"]),r(m,{subtype:"info"},{default:i(()=>[w("pre",null,b(JSON.stringify(t.ioDevice.configuration,void 0,2)),1)]),_:1})]))])}const J=k(N,[["render",R],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/io_devices/OpenwbIoDeviceConfigFallback.vue"]]),H={name:"OpenwbIoDeviceProxy",props:{ioDevice:{type:Object,required:!0}},emits:["update:configuration","sendCommand"],computed:{myComponent(){return console.debug(`loading io device: ${this.ioDevice.type}`),M({loader:()=>W(Object.assign({"./add_on/io_device.vue":()=>A(()=>import("./io_device-0084dd85.js"),["assets/io_device-0084dd85.js","assets/index-d6a3d34f.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./dimm_kit/io_device.vue":()=>A(()=>import("./io_device-7d9243e9.js"),["assets/io_device-7d9243e9.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"])}),`./${this.ioDevice.type}/io_device.vue`),errorComponent:J})},outputs(){const t=[];if(this.ioDevice.output){if(this.ioDevice.output.analog)for(const e in this.ioDevice.output.analog)t.push(`openWB/set/system/io/${this.ioDevice.id}/set/manual/analog_output/${e}`);if(this.ioDevice.output.digital)for(const e in this.ioDevice.output.digital)t.push(`openWB/set/system/io/${this.ioDevice.id}/set/manual/digital_output/${e}`)}return t}},methods:{updateConfiguration(t){this.$emit("update:configuration",t)},sendCommand(t){this.$emit("sendCommand",t)}}};function Q(t,e,s,v,c,n){const m=l("openwb-base-heading"),h=l("openwb-base-copy-to-clipboard"),f=l("openwb-base-alert");return a(),g("div",null,[r(m,null,{default:i(()=>[d(' Einstellungen für I/O-Modul "'+b(s.ioDevice.name)+'" ',1)]),_:1}),n.outputs.length?(a(),_(f,{key:0,subtype:"info"},{default:i(()=>[e[6]||(e[6]=d(" Die Ausgänge können über die folgenden Topics manuell per MQTT geschaltet werden. Falls Ausgänge in Aktionen konfiguriert werden, überschreibt das manuelle Setzen den Status. ",-1)),w("ul",null,[(a(!0),g(I,null,x(n.outputs,p=>(a(),g("li",{key:p},[r(h,{class:"text-info",tooltip:"Topic kopieren"},{default:i(()=>[d(b(p),1)]),_:2},1024)]))),128)),e[2]||(e[2]=d(" Als Wert wird ein boolean als json oder 0/1 akzeptiert.",-1)),e[3]||(e[3]=w("br",null,null,-1)),e[4]||(e[4]=d(" Beispiel: ",-1)),e[5]||(e[5]=w("span",{class:"text-info"},"false",-1))])]),_:1,__:[6]})):C("",!0),(a(),_(T(n.myComponent),{"io-device":s.ioDevice,"onUpdate:configuration":e[0]||(e[0]=p=>n.updateConfiguration(p)),onSendCommand:e[1]||(e[1]=p=>n.sendCommand(p))},null,40,["io-device"]))])}const X=k(H,[["render",Q],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/io_devices/OpenwbIoDeviceProxy.vue"]]),Y={mixins:[E],props:{ioAction:{type:Object,required:!0},ioDevice:{type:Object,required:!0},availableChargePoints:{type:Array,required:!1,default:()=>[]},availableComponents:{type:Array,required:!1,default:()=>[]},availableIoDevices:{type:Array,required:!1,default:()=>[]}},emits:["update:configuration","sendCommand"],methods:{updateConfiguration(t,e=void 0){this.$emit("update:configuration",{value:t,object:e})}}},Z=k(Y,[["__file","/opt/openWB-dev/openwb-ui-settings/src/components/io_actions/OpenwbIoActionConfigMixin.vue"]]),K={name:"OpenwbIoActionConfigFallback",mixins:[Z]},ee={class:"io-action-config-fallback"},te={key:1};function oe(t,e,s,v,c,n){var f,p;const m=l("openwb-base-alert"),h=l("openwb-base-textarea");return a(),g("div",ee,[Object.keys((f=t.ioAction)==null?void 0:f.configuration).length==0?(a(),_(m,{key:0,subtype:"info"},{default:i(()=>{var u;return[d(' Die I/O-Aktion "'+b((u=t.ioAction)==null?void 0:u.name)+'" bietet keine Einstellungen. ',1)]}),_:1})):(a(),g("div",te,[r(m,{subtype:"warning"},{default:i(()=>{var u;return[d(' Es wurde keine Konfigurationsseite für die I/O-Aktion "'+b((u=t.ioAction)==null?void 0:u.name)+'" gefunden. Die Einstellungen können als JSON direkt bearbeitet werden. ',1)]}),_:1}),r(h,{title:"Konfiguration",subtype:"json","model-value":(p=t.ioAction)==null?void 0:p.configuration,"onUpdate:modelValue":e[0]||(e[0]=u=>t.updateConfiguration(u,"configuration"))},{help:i(()=>e[1]||(e[1]=[d(" Bitte prüfen Sie, ob die Eingaben richtig interpretiert werden. ",-1)])),_:1},8,["model-value"]),r(m,{subtype:"info"},{default:i(()=>{var u;return[w("pre",null,b(JSON.stringify((u=t.ioAction)==null?void 0:u.configuration,void 0,2)),1)]}),_:1})]))])}const ne=k(K,[["render",oe],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/io_actions/OpenwbIoActionConfigFallback.vue"]]),ie={name:"OpenwbIoActionProxy",props:{ioAction:{type:Object,required:!0},ioDevices:{type:Object,required:!0},installedChargePoints:{type:Object,required:!0},installedComponents:{type:Object,required:!0}},emits:["update:configuration","sendCommand"],computed:{myComponent(){var t,e;return console.debug(`loading io action: ${(t=this.ioAction)==null?void 0:t.group} / ${(e=this.ioAction)==null?void 0:e.type}`),M({loader:()=>{var s,v;return W(Object.assign({"./controllable_consumers/dimming/io_action.vue":()=>A(()=>import("./io_action-74a732a0.js"),["assets/io_action-74a732a0.js","assets/OpenwbIoSinglePattern-bdfa76d2.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./controllable_consumers/dimming_direct_control/io_action.vue":()=>A(()=>import("./io_action-afa85385.js"),["assets/io_action-afa85385.js","assets/OpenwbIoSinglePattern-bdfa76d2.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./controllable_consumers/ripple_control_receiver/io_action.vue":()=>A(()=>import("./io_action-31e2e41a.js"),["assets/io_action-31e2e41a.js","assets/OpenwbIoPattern-c832dbbd.js","assets/vendor-fortawesome-855c7d62.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/OpenwbIoPattern-746401f7.css","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./generator_systems/stepwise_control/io_action.vue":()=>A(()=>import("./io_action-a5e7c0fc.js"),["assets/io_action-a5e7c0fc.js","assets/OpenwbIoPattern-c832dbbd.js","assets/vendor-fortawesome-855c7d62.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/OpenwbIoPattern-746401f7.css","assets/index-d6a3d34f.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"])}),`./${(s=this.ioAction)==null?void 0:s.group}/${(v=this.ioAction)==null?void 0:v.type}/io_action.vue`)},errorComponent:ne})},ioDeviceList(){return Object.keys(this.ioDevices).map(t=>{var e,s;return{value:(e=this.ioDevices[t])==null?void 0:e.id,text:(s=this.ioDevices[t])==null?void 0:s.name}})},availableIoDevices(){return Object.values(this.ioDevices)},availableChargePoints(){return Object.values(this.installedChargePoints).map(t=>({value:t==null?void 0:t.id,text:t==null?void 0:t.name}))},availableComponents(){return Object.values(this.installedComponents).map(t=>({value:t==null?void 0:t.id,text:t==null?void 0:t.name,type:t==null?void 0:t.type}))}},methods:{updateConfiguration(t,e=void 0){e?this.$emit("update:configuration",{value:t,object:e}):this.$emit("update:configuration",t)},updateIoDevice(t){var e;if(this.updateConfiguration(t,"configuration.io_device"),Array.isArray((e=this.ioAction.configuration)==null?void 0:e.input_pattern)){let s=this.ioAction.configuration.input_pattern.map(v=>({value:v.value,matrix:{}}));this.updateConfiguration(s,"configuration.input_pattern")}Object.prototype.hasOwnProperty.call(this.ioAction.configuration,"digital_input")&&this.updateConfiguration(null,"configuration.digital_input")}}},ae={key:0};function se(t,e,s,v,c,n){var f,p;const m=l("openwb-base-heading"),h=l("openwb-base-select-input");return a(),g(I,null,[r(m,null,{default:i(()=>{var u;return[d(' Einstellungen für I/O-Aktion "'+b((u=s.ioAction)==null?void 0:u.name)+'" ',1)]}),_:1}),r(h,{title:"Eingangs-Gerät","not-selected":"Bitte auswählen","empty-value":null,required:"",options:n.ioDeviceList,"model-value":(f=s.ioAction)==null?void 0:f.configuration.io_device,"onUpdate:modelValue":e[0]||(e[0]=u=>n.updateIoDevice(u))},{help:i(()=>e[2]||(e[2]=[d(" Bitte das Gerät auswählen, über das der Schaltbefehl empfangen werden soll. Für jede Aktion kann nur ein Gerät ausgewählt werden. ",-1)])),_:1},8,["options","model-value"]),((p=s.ioAction)==null?void 0:p.configuration.io_device)!==null?(a(),g("div",ae,[e[3]||(e[3]=w("hr",null,null,-1)),(a(),_(T(n.myComponent),{"io-action":s.ioAction,"io-device":s.ioDevices[`openWB/system/io/${s.ioAction.configuration.io_device}/config`],"available-charge-points":n.availableChargePoints,"available-components":n.availableComponents,"available-io-devices":n.availableIoDevices,"onUpdate:configuration":e[1]||(e[1]=u=>n.updateConfiguration(u))},null,40,["io-action","io-device","available-charge-points","available-components","available-io-devices"]))])):C("",!0)],64)}const re=k(ie,[["render",se],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/io_actions/OpenwbIoActionProxy.vue"]]);q.add($);const ue={name:"OpenwbIoConfigView",components:{FontAwesomeIcon:L,OpenwbIoDeviceProxy:X,OpenwbIoActionProxy:re},mixins:[E],props:{installAssistantActive:{type:Boolean,required:!1,default:!1}},emits:["save","reset","defaults","send-command"],data(){return{mqttTopicsToSubscribe:["openWB/system/configurable/io_devices","openWB/system/io/+/config","openWB/system/configurable/io_actions","openWB/io/action/+/config","openWB/chargepoint/+/config","openWB/system/device/+/component/+/config"],showIoDeviceDeleteModal:!1,modalIoDeviceIndex:void 0,ioDeviceToAdd:void 0,showIoActionDeleteModal:!1,modalIoActionIndex:void 0,ioActionToAdd:void 0}},computed:{ioDeviceList:{get(){return this.$store.state.mqtt["openWB/system/configurable/io_devices"]}},installedIoDevices:{get(){return this.getWildcardTopics("openWB/system/io/+/config")}},ioActionList:{get(){return this.$store.state.mqtt["openWB/system/configurable/io_actions"]===void 0?[]:Object.entries(this.$store.state.mqtt["openWB/system/configurable/io_actions"]).map(([t,e])=>({label:e.group_name,options:e.actions.map(s=>({value:[t,s.value],text:s.text})).sort((s,v)=>s.text.localeCompare(v.text))})).sort((t,e)=>t.label.localeCompare(e.label))}},installedIoActions:{get(){return this.getWildcardTopics("openWB/io/action/+/config")}},installedChargePoints:{get(){return this.getWildcardTopics("openWB/chargepoint/+/config")}},installedComponents:{get(){return this.getWildcardTopics("openWB/system/device/+/component/+/config")}}},methods:{getIoDeviceName(t){return this.$store.state.mqtt["openWB/system/io/"+t+"/config"]?this.$store.state.mqtt["openWB/system/io/"+t+"/config"].name:"I/O-Gerät "+t},addIoDevice(){this.$emit("send-command",{command:"addIoDevice",data:{type:this.ioDeviceToAdd}})},removeIoDeviceModal(t,e){e.stopPropagation(),this.modalIoDeviceIndex=parseInt(t.match(/(?:\/)(\d+)(?=\/)/)[1]),this.showIoDeviceDeleteModal=!0},removeIoDevice(t,e){this.showIoDeviceDeleteModal=!1,e=="confirm"&&this.$emit("send-command",{command:"removeIoDevice",data:{id:t}})},addIoAction(){this.$emit("send-command",{command:"addIoAction",data:{type:this.ioActionToAdd}})},removeIoActionModal(t,e){e.stopPropagation(),this.modalIoActionIndex=parseInt(t.match(/(?:\/)(\d+)(?=\/)/)[1]),this.showIoActionDeleteModal=!0},removeIoAction(t,e){this.showIoActionDeleteModal=!1,e=="confirm"&&this.$emit("send-command",{command:"removeIoAction",data:{id:t}})},updateConfiguration(t,e){console.debug("updateConfiguration",t,e),this.updateState(t,e.value,e.object)}}},le={class:"ioConfig"},de={name:"ioConfigForm"},pe={key:0},ce={key:0};function me(t,e,s,v,c,n){const m=l("openwb-base-modal-dialog"),h=l("font-awesome-icon"),f=l("openwb-base-avatar"),p=l("openwb-base-text-input"),u=l("openwb-io-device-proxy"),O=l("openwb-base-card"),j=l("openwb-base-select-input"),P=l("openwb-io-action-proxy"),V=l("openwb-base-alert"),S=l("openwb-base-submit-buttons");return a(),g(I,null,[r(m,{show:c.showIoDeviceDeleteModal,title:"Modul löschen",subtype:"danger",buttons:[{text:"Löschen",event:"confirm",subtype:"danger"}],onModalResult:e[0]||(e[0]=o=>n.removeIoDevice(c.modalIoDeviceIndex,o))},{default:i(()=>[d(' Wollen Sie das Ein-/Ausgangs-Gerät "'+b(n.getIoDeviceName(c.modalIoDeviceIndex))+'" (ID: '+b(c.modalIoDeviceIndex)+") wirklich entfernen? Dieser Vorgang kann nicht rückgängig gemacht werden! ",1)]),_:1},8,["show"]),r(m,{show:c.showIoActionDeleteModal,title:"Aktion löschen",subtype:"danger",buttons:[{text:"Löschen",event:"confirm",subtype:"danger"}],onModalResult:e[1]||(e[1]=o=>n.removeIoAction(c.modalIoActionIndex,o))},{default:i(()=>[d(' Wollen Sie die Aktion "'+b(n.getIoDeviceName(c.modalIoActionIndex))+'" (ID: '+b(c.modalIoActionIndex)+") wirklich entfernen? Dieser Vorgang kann nicht rückgängig gemacht werden! ",1)]),_:1},8,["show"]),w("div",le,[w("form",de,[r(O,{title:"Ein-/Ausgangs-Geräte"},{default:i(()=>[(a(!0),g(I,null,x(n.installedIoDevices,(o,D)=>(a(),_(O,{key:D,title:(o==null?void 0:o.name)+" (ID: "+(o==null?void 0:o.id)+")",collapsible:!0,collapsed:!0,subtype:"primary"},{actions:i(y=>[y.collapsed?C("",!0):(a(),_(f,{key:0,class:"bg-danger clickable",onClick:B=>n.removeIoDeviceModal(D,B)},{default:i(()=>[r(h,{icon:["fas","trash"]})]),_:2},1032,["onClick"]))]),default:i(()=>[r(p,{title:"Bezeichnung",subtype:"text","model-value":o.name,"onUpdate:modelValue":y=>t.updateState(D,y,"name")},null,8,["model-value","onUpdate:modelValue"]),r(p,{title:"Modul",subtype:"text",disabled:"",readonly:"","model-value":t.$store.state.mqtt[D].type},null,8,["model-value"]),e[7]||(e[7]=w("hr",null,null,-1)),r(u,{"io-device":o,"onUpdate:configuration":y=>n.updateConfiguration(D,y)},null,8,["io-device","onUpdate:configuration"])]),_:2,__:[7]},1032,["title"]))),128)),Object.keys(n.installedIoDevices).length>0?(a(),g("hr",pe)):C("",!0),r(j,{title:"Verfügbare Geräte","not-selected":"Bitte auswählen",options:n.ioDeviceList,"model-value":c.ioDeviceToAdd,"add-button":!0,"onUpdate:modelValue":e[2]||(e[2]=o=>c.ioDeviceToAdd=o),"onInput:add":n.addIoDevice},{help:i(()=>e[8]||(e[8]=[d(" Bitte ein Ein-/Ausgangs-Modul auswählen, das hinzugefügt werden soll. ",-1)])),_:1},8,["options","model-value","onInput:add"])]),_:1}),r(O,{title:"Ein-/Ausgangs-Aktionen"},{default:i(()=>[(a(!0),g(I,null,x(n.installedIoActions,(o,D)=>(a(),_(O,{key:D,title:(o==null?void 0:o.name)+" (ID: "+(o==null?void 0:o.id)+")",collapsible:!0,collapsed:!0,subtype:"primary"},{actions:i(y=>[y.collapsed?C("",!0):(a(),_(f,{key:0,class:"bg-danger clickable",onClick:B=>n.removeIoActionModal(D,B)},{default:i(()=>[r(h,{icon:["fas","trash"]})]),_:2},1032,["onClick"]))]),default:i(()=>[r(p,{title:"Bezeichnung",subtype:"text","model-value":o==null?void 0:o.name,"onUpdate:modelValue":y=>t.updateState(D,y,"name")},null,8,["model-value","onUpdate:modelValue"]),r(p,{title:"Modul",subtype:"text",disabled:"",readonly:"","model-value":[o==null?void 0:o.group,o==null?void 0:o.type].join(" / ")},null,8,["model-value"]),e[9]||(e[9]=w("hr",null,null,-1)),o!==void 0?(a(),_(P,{key:0,"io-action":o,"io-devices":n.installedIoDevices,"installed-charge-points":n.installedChargePoints,"installed-components":n.installedComponents,"onUpdate:configuration":y=>n.updateConfiguration(D,y)},null,8,["io-action","io-devices","installed-charge-points","installed-components","onUpdate:configuration"])):C("",!0)]),_:2,__:[9]},1032,["title"]))),128)),Object.keys(n.installedIoActions).length>0?(a(),g("hr",ce)):C("",!0),Object.keys(n.installedIoDevices).length>0?(a(),_(j,{key:1,title:"Verfügbare Aktionen","not-selected":"Bitte auswählen",groups:n.ioActionList,"model-value":c.ioActionToAdd,"add-button":!0,"onUpdate:modelValue":e[3]||(e[3]=o=>c.ioActionToAdd=o),"onInput:add":n.addIoAction},{help:i(()=>e[10]||(e[10]=[d(" Bitte eine Ein-/Ausgangs-Aktion auswählen, die hinzugefügt werden soll. ",-1)])),_:1},8,["groups","model-value","onInput:add"])):(a(),_(V,{key:2,subtype:"warning"},{default:i(()=>e[11]||(e[11]=[d(" Keine Ein-/Ausgangs-Geräte vorhanden!",-1),w("br",null,null,-1),d(" Bitte fügen Sie zuerst ein Ein-/Ausgangs-Gerät hinzu, bevor Sie Aktionen konfigurieren. ",-1)])),_:1,__:[11]}))]),_:1}),r(S,{"form-name":"ioConfigForm",onSave:e[4]||(e[4]=o=>t.$emit("save")),onReset:e[5]||(e[5]=o=>t.$emit("reset")),onDefaults:e[6]||(e[6]=o=>t.$emit("defaults"))})])])],64)}const ge=k(ue,[["render",me],["__file","/opt/openWB-dev/openwb-ui-settings/src/views/IoConfig.vue"]]),ye=Object.freeze(Object.defineProperty({__proto__:null,default:ge},Symbol.toStringTag,{value:"Module"}));export{ye as I,F as O,Z as a};
+import{l as q,aa as $,F as L}from"./vendor-fortawesome-855c7d62.js";import{_ as A,C as E}from"./index-5b5e1b75.js";import{_ as W}from"./dynamic-import-helper-be004503.js";import{_ as k,u as l,l as a,m as g,x as _,E as i,B as d,F as b,G as r,A as w,a2 as M,N as I,M as x,z as C,a3 as T}from"./vendor-cc4615be.js";const U={props:{ioDevice:{type:Object,required:!0}},emits:["update:configuration"],methods:{updateConfiguration(t,e=void 0){this.$emit("update:configuration",{value:t,object:e})}}},F=k(U,[["__file","/opt/openWB-dev/openwb-ui-settings/src/components/io_devices/OpenwbIoDeviceConfigMixin.vue"]]),N={name:"OpenwbIoDeviceConfigFallback",mixins:[F]},z={class:"io-device-config-fallback"},G={key:1};function R(t,e,s,v,c,n){const m=l("openwb-base-alert"),h=l("openwb-base-textarea");return a(),g("div",z,[Object.keys(t.ioDevice.configuration).length==0?(a(),_(m,{key:0,subtype:"info"},{default:i(()=>[d(' Das I/O-Modul "'+b(t.ioDevice.name)+'" bietet keine Einstellungen. ',1)]),_:1})):(a(),g("div",G,[r(m,{subtype:"warning"},{default:i(()=>[d(' Es wurde keine Konfigurationsseite für das I/O-Modul "'+b(t.ioDevice.name)+'" gefunden. Die Einstellungen können als JSON direkt bearbeitet werden. ',1)]),_:1}),r(h,{title:"Konfiguration",subtype:"json","model-value":t.ioDevice.configuration,"onUpdate:modelValue":e[0]||(e[0]=f=>t.updateConfiguration(f,"configuration"))},{help:i(()=>e[1]||(e[1]=[d(" Bitte prüfen Sie, ob die Eingaben richtig interpretiert werden. ",-1)])),_:1},8,["model-value"]),r(m,{subtype:"info"},{default:i(()=>[w("pre",null,b(JSON.stringify(t.ioDevice.configuration,void 0,2)),1)]),_:1})]))])}const J=k(N,[["render",R],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/io_devices/OpenwbIoDeviceConfigFallback.vue"]]),H={name:"OpenwbIoDeviceProxy",props:{ioDevice:{type:Object,required:!0}},emits:["update:configuration","sendCommand"],computed:{myComponent(){return console.debug(`loading io device: ${this.ioDevice.type}`),M({loader:()=>W(Object.assign({"./add_on/io_device.vue":()=>A(()=>import("./io_device-f7bfe2d9.js"),["assets/io_device-f7bfe2d9.js","assets/index-5b5e1b75.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./dimm_kit/io_device.vue":()=>A(()=>import("./io_device-e73fab6d.js"),["assets/io_device-e73fab6d.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"])}),`./${this.ioDevice.type}/io_device.vue`),errorComponent:J})},outputs(){const t=[];if(this.ioDevice.output){if(this.ioDevice.output.analog)for(const e in this.ioDevice.output.analog)t.push(`openWB/set/system/io/${this.ioDevice.id}/set/manual/analog_output/${e}`);if(this.ioDevice.output.digital)for(const e in this.ioDevice.output.digital)t.push(`openWB/set/system/io/${this.ioDevice.id}/set/manual/digital_output/${e}`)}return t}},methods:{updateConfiguration(t){this.$emit("update:configuration",t)},sendCommand(t){this.$emit("sendCommand",t)}}};function Q(t,e,s,v,c,n){const m=l("openwb-base-heading"),h=l("openwb-base-copy-to-clipboard"),f=l("openwb-base-alert");return a(),g("div",null,[r(m,null,{default:i(()=>[d(' Einstellungen für I/O-Modul "'+b(s.ioDevice.name)+'" ',1)]),_:1}),n.outputs.length?(a(),_(f,{key:0,subtype:"info"},{default:i(()=>[e[6]||(e[6]=d(" Die Ausgänge können über die folgenden Topics manuell per MQTT geschaltet werden. Falls Ausgänge in Aktionen konfiguriert werden, überschreibt das manuelle Setzen den Status. ",-1)),w("ul",null,[(a(!0),g(I,null,x(n.outputs,p=>(a(),g("li",{key:p},[r(h,{class:"text-info",tooltip:"Topic kopieren"},{default:i(()=>[d(b(p),1)]),_:2},1024)]))),128)),e[2]||(e[2]=d(" Als Wert wird ein boolean als json oder 0/1 akzeptiert.",-1)),e[3]||(e[3]=w("br",null,null,-1)),e[4]||(e[4]=d(" Beispiel: ",-1)),e[5]||(e[5]=w("span",{class:"text-info"},"false",-1))])]),_:1,__:[6]})):C("",!0),(a(),_(T(n.myComponent),{"io-device":s.ioDevice,"onUpdate:configuration":e[0]||(e[0]=p=>n.updateConfiguration(p)),onSendCommand:e[1]||(e[1]=p=>n.sendCommand(p))},null,40,["io-device"]))])}const X=k(H,[["render",Q],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/io_devices/OpenwbIoDeviceProxy.vue"]]),Y={mixins:[E],props:{ioAction:{type:Object,required:!0},ioDevice:{type:Object,required:!0},availableChargePoints:{type:Array,required:!1,default:()=>[]},availableComponents:{type:Array,required:!1,default:()=>[]},availableIoDevices:{type:Array,required:!1,default:()=>[]}},emits:["update:configuration","sendCommand"],methods:{updateConfiguration(t,e=void 0){this.$emit("update:configuration",{value:t,object:e})}}},Z=k(Y,[["__file","/opt/openWB-dev/openwb-ui-settings/src/components/io_actions/OpenwbIoActionConfigMixin.vue"]]),K={name:"OpenwbIoActionConfigFallback",mixins:[Z]},ee={class:"io-action-config-fallback"},te={key:1};function oe(t,e,s,v,c,n){var f,p;const m=l("openwb-base-alert"),h=l("openwb-base-textarea");return a(),g("div",ee,[Object.keys((f=t.ioAction)==null?void 0:f.configuration).length==0?(a(),_(m,{key:0,subtype:"info"},{default:i(()=>{var u;return[d(' Die I/O-Aktion "'+b((u=t.ioAction)==null?void 0:u.name)+'" bietet keine Einstellungen. ',1)]}),_:1})):(a(),g("div",te,[r(m,{subtype:"warning"},{default:i(()=>{var u;return[d(' Es wurde keine Konfigurationsseite für die I/O-Aktion "'+b((u=t.ioAction)==null?void 0:u.name)+'" gefunden. Die Einstellungen können als JSON direkt bearbeitet werden. ',1)]}),_:1}),r(h,{title:"Konfiguration",subtype:"json","model-value":(p=t.ioAction)==null?void 0:p.configuration,"onUpdate:modelValue":e[0]||(e[0]=u=>t.updateConfiguration(u,"configuration"))},{help:i(()=>e[1]||(e[1]=[d(" Bitte prüfen Sie, ob die Eingaben richtig interpretiert werden. ",-1)])),_:1},8,["model-value"]),r(m,{subtype:"info"},{default:i(()=>{var u;return[w("pre",null,b(JSON.stringify((u=t.ioAction)==null?void 0:u.configuration,void 0,2)),1)]}),_:1})]))])}const ne=k(K,[["render",oe],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/io_actions/OpenwbIoActionConfigFallback.vue"]]),ie={name:"OpenwbIoActionProxy",props:{ioAction:{type:Object,required:!0},ioDevices:{type:Object,required:!0},installedChargePoints:{type:Object,required:!0},installedComponents:{type:Object,required:!0}},emits:["update:configuration","sendCommand"],computed:{myComponent(){var t,e;return console.debug(`loading io action: ${(t=this.ioAction)==null?void 0:t.group} / ${(e=this.ioAction)==null?void 0:e.type}`),M({loader:()=>{var s,v;return W(Object.assign({"./controllable_consumers/dimming/io_action.vue":()=>A(()=>import("./io_action-e37f3d26.js"),["assets/io_action-e37f3d26.js","assets/OpenwbIoSinglePattern-bdfa76d2.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./controllable_consumers/dimming_direct_control/io_action.vue":()=>A(()=>import("./io_action-ccf7b188.js"),["assets/io_action-ccf7b188.js","assets/OpenwbIoSinglePattern-bdfa76d2.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/vendor-fortawesome-855c7d62.js","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./controllable_consumers/ripple_control_receiver/io_action.vue":()=>A(()=>import("./io_action-0bf854b3.js"),["assets/io_action-0bf854b3.js","assets/OpenwbIoPattern-c832dbbd.js","assets/vendor-fortawesome-855c7d62.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/OpenwbIoPattern-746401f7.css","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./generator_systems/stepwise_control/io_action.vue":()=>A(()=>import("./io_action-ea45c9b1.js"),["assets/io_action-ea45c9b1.js","assets/OpenwbIoPattern-c832dbbd.js","assets/vendor-fortawesome-855c7d62.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/OpenwbIoPattern-746401f7.css","assets/index-5b5e1b75.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"])}),`./${(s=this.ioAction)==null?void 0:s.group}/${(v=this.ioAction)==null?void 0:v.type}/io_action.vue`)},errorComponent:ne})},ioDeviceList(){return Object.keys(this.ioDevices).map(t=>{var e,s;return{value:(e=this.ioDevices[t])==null?void 0:e.id,text:(s=this.ioDevices[t])==null?void 0:s.name}})},availableIoDevices(){return Object.values(this.ioDevices)},availableChargePoints(){return Object.values(this.installedChargePoints).map(t=>({value:t==null?void 0:t.id,text:t==null?void 0:t.name}))},availableComponents(){return Object.values(this.installedComponents).map(t=>({value:t==null?void 0:t.id,text:t==null?void 0:t.name,type:t==null?void 0:t.type}))}},methods:{updateConfiguration(t,e=void 0){e?this.$emit("update:configuration",{value:t,object:e}):this.$emit("update:configuration",t)},updateIoDevice(t){var e;if(this.updateConfiguration(t,"configuration.io_device"),Array.isArray((e=this.ioAction.configuration)==null?void 0:e.input_pattern)){let s=this.ioAction.configuration.input_pattern.map(v=>({value:v.value,matrix:{}}));this.updateConfiguration(s,"configuration.input_pattern")}Object.prototype.hasOwnProperty.call(this.ioAction.configuration,"digital_input")&&this.updateConfiguration(null,"configuration.digital_input")}}},ae={key:0};function se(t,e,s,v,c,n){var f,p;const m=l("openwb-base-heading"),h=l("openwb-base-select-input");return a(),g(I,null,[r(m,null,{default:i(()=>{var u;return[d(' Einstellungen für I/O-Aktion "'+b((u=s.ioAction)==null?void 0:u.name)+'" ',1)]}),_:1}),r(h,{title:"Eingangs-Gerät","not-selected":"Bitte auswählen","empty-value":null,required:"",options:n.ioDeviceList,"model-value":(f=s.ioAction)==null?void 0:f.configuration.io_device,"onUpdate:modelValue":e[0]||(e[0]=u=>n.updateIoDevice(u))},{help:i(()=>e[2]||(e[2]=[d(" Bitte das Gerät auswählen, über das der Schaltbefehl empfangen werden soll. Für jede Aktion kann nur ein Gerät ausgewählt werden. ",-1)])),_:1},8,["options","model-value"]),((p=s.ioAction)==null?void 0:p.configuration.io_device)!==null?(a(),g("div",ae,[e[3]||(e[3]=w("hr",null,null,-1)),(a(),_(T(n.myComponent),{"io-action":s.ioAction,"io-device":s.ioDevices[`openWB/system/io/${s.ioAction.configuration.io_device}/config`],"available-charge-points":n.availableChargePoints,"available-components":n.availableComponents,"available-io-devices":n.availableIoDevices,"onUpdate:configuration":e[1]||(e[1]=u=>n.updateConfiguration(u))},null,40,["io-action","io-device","available-charge-points","available-components","available-io-devices"]))])):C("",!0)],64)}const re=k(ie,[["render",se],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/io_actions/OpenwbIoActionProxy.vue"]]);q.add($);const ue={name:"OpenwbIoConfigView",components:{FontAwesomeIcon:L,OpenwbIoDeviceProxy:X,OpenwbIoActionProxy:re},mixins:[E],props:{installAssistantActive:{type:Boolean,required:!1,default:!1}},emits:["save","reset","defaults","send-command"],data(){return{mqttTopicsToSubscribe:["openWB/system/configurable/io_devices","openWB/system/io/+/config","openWB/system/configurable/io_actions","openWB/io/action/+/config","openWB/chargepoint/+/config","openWB/system/device/+/component/+/config"],showIoDeviceDeleteModal:!1,modalIoDeviceIndex:void 0,ioDeviceToAdd:void 0,showIoActionDeleteModal:!1,modalIoActionIndex:void 0,ioActionToAdd:void 0}},computed:{ioDeviceList:{get(){return this.$store.state.mqtt["openWB/system/configurable/io_devices"]}},installedIoDevices:{get(){return this.getWildcardTopics("openWB/system/io/+/config")}},ioActionList:{get(){return this.$store.state.mqtt["openWB/system/configurable/io_actions"]===void 0?[]:Object.entries(this.$store.state.mqtt["openWB/system/configurable/io_actions"]).map(([t,e])=>({label:e.group_name,options:e.actions.map(s=>({value:[t,s.value],text:s.text})).sort((s,v)=>s.text.localeCompare(v.text))})).sort((t,e)=>t.label.localeCompare(e.label))}},installedIoActions:{get(){return this.getWildcardTopics("openWB/io/action/+/config")}},installedChargePoints:{get(){return this.getWildcardTopics("openWB/chargepoint/+/config")}},installedComponents:{get(){return this.getWildcardTopics("openWB/system/device/+/component/+/config")}}},methods:{getIoDeviceName(t){return this.$store.state.mqtt["openWB/system/io/"+t+"/config"]?this.$store.state.mqtt["openWB/system/io/"+t+"/config"].name:"I/O-Gerät "+t},addIoDevice(){this.$emit("send-command",{command:"addIoDevice",data:{type:this.ioDeviceToAdd}})},removeIoDeviceModal(t,e){e.stopPropagation(),this.modalIoDeviceIndex=parseInt(t.match(/(?:\/)(\d+)(?=\/)/)[1]),this.showIoDeviceDeleteModal=!0},removeIoDevice(t,e){this.showIoDeviceDeleteModal=!1,e=="confirm"&&this.$emit("send-command",{command:"removeIoDevice",data:{id:t}})},addIoAction(){this.$emit("send-command",{command:"addIoAction",data:{type:this.ioActionToAdd}})},removeIoActionModal(t,e){e.stopPropagation(),this.modalIoActionIndex=parseInt(t.match(/(?:\/)(\d+)(?=\/)/)[1]),this.showIoActionDeleteModal=!0},removeIoAction(t,e){this.showIoActionDeleteModal=!1,e=="confirm"&&this.$emit("send-command",{command:"removeIoAction",data:{id:t}})},updateConfiguration(t,e){console.debug("updateConfiguration",t,e),this.updateState(t,e.value,e.object)}}},le={class:"ioConfig"},de={name:"ioConfigForm"},pe={key:0},ce={key:0};function me(t,e,s,v,c,n){const m=l("openwb-base-modal-dialog"),h=l("font-awesome-icon"),f=l("openwb-base-avatar"),p=l("openwb-base-text-input"),u=l("openwb-io-device-proxy"),O=l("openwb-base-card"),j=l("openwb-base-select-input"),P=l("openwb-io-action-proxy"),V=l("openwb-base-alert"),S=l("openwb-base-submit-buttons");return a(),g(I,null,[r(m,{show:c.showIoDeviceDeleteModal,title:"Modul löschen",subtype:"danger",buttons:[{text:"Löschen",event:"confirm",subtype:"danger"}],onModalResult:e[0]||(e[0]=o=>n.removeIoDevice(c.modalIoDeviceIndex,o))},{default:i(()=>[d(' Wollen Sie das Ein-/Ausgangs-Gerät "'+b(n.getIoDeviceName(c.modalIoDeviceIndex))+'" (ID: '+b(c.modalIoDeviceIndex)+") wirklich entfernen? Dieser Vorgang kann nicht rückgängig gemacht werden! ",1)]),_:1},8,["show"]),r(m,{show:c.showIoActionDeleteModal,title:"Aktion löschen",subtype:"danger",buttons:[{text:"Löschen",event:"confirm",subtype:"danger"}],onModalResult:e[1]||(e[1]=o=>n.removeIoAction(c.modalIoActionIndex,o))},{default:i(()=>[d(' Wollen Sie die Aktion "'+b(n.getIoDeviceName(c.modalIoActionIndex))+'" (ID: '+b(c.modalIoActionIndex)+") wirklich entfernen? Dieser Vorgang kann nicht rückgängig gemacht werden! ",1)]),_:1},8,["show"]),w("div",le,[w("form",de,[r(O,{title:"Ein-/Ausgangs-Geräte"},{default:i(()=>[(a(!0),g(I,null,x(n.installedIoDevices,(o,D)=>(a(),_(O,{key:D,title:(o==null?void 0:o.name)+" (ID: "+(o==null?void 0:o.id)+")",collapsible:!0,collapsed:!0,subtype:"primary"},{actions:i(y=>[y.collapsed?C("",!0):(a(),_(f,{key:0,class:"bg-danger clickable",onClick:B=>n.removeIoDeviceModal(D,B)},{default:i(()=>[r(h,{icon:["fas","trash"]})]),_:2},1032,["onClick"]))]),default:i(()=>[r(p,{title:"Bezeichnung",subtype:"text","model-value":o.name,"onUpdate:modelValue":y=>t.updateState(D,y,"name")},null,8,["model-value","onUpdate:modelValue"]),r(p,{title:"Modul",subtype:"text",disabled:"",readonly:"","model-value":t.$store.state.mqtt[D].type},null,8,["model-value"]),e[7]||(e[7]=w("hr",null,null,-1)),r(u,{"io-device":o,"onUpdate:configuration":y=>n.updateConfiguration(D,y)},null,8,["io-device","onUpdate:configuration"])]),_:2,__:[7]},1032,["title"]))),128)),Object.keys(n.installedIoDevices).length>0?(a(),g("hr",pe)):C("",!0),r(j,{title:"Verfügbare Geräte","not-selected":"Bitte auswählen",options:n.ioDeviceList,"model-value":c.ioDeviceToAdd,"add-button":!0,"onUpdate:modelValue":e[2]||(e[2]=o=>c.ioDeviceToAdd=o),"onInput:add":n.addIoDevice},{help:i(()=>e[8]||(e[8]=[d(" Bitte ein Ein-/Ausgangs-Modul auswählen, das hinzugefügt werden soll. ",-1)])),_:1},8,["options","model-value","onInput:add"])]),_:1}),r(O,{title:"Ein-/Ausgangs-Aktionen"},{default:i(()=>[(a(!0),g(I,null,x(n.installedIoActions,(o,D)=>(a(),_(O,{key:D,title:(o==null?void 0:o.name)+" (ID: "+(o==null?void 0:o.id)+")",collapsible:!0,collapsed:!0,subtype:"primary"},{actions:i(y=>[y.collapsed?C("",!0):(a(),_(f,{key:0,class:"bg-danger clickable",onClick:B=>n.removeIoActionModal(D,B)},{default:i(()=>[r(h,{icon:["fas","trash"]})]),_:2},1032,["onClick"]))]),default:i(()=>[r(p,{title:"Bezeichnung",subtype:"text","model-value":o==null?void 0:o.name,"onUpdate:modelValue":y=>t.updateState(D,y,"name")},null,8,["model-value","onUpdate:modelValue"]),r(p,{title:"Modul",subtype:"text",disabled:"",readonly:"","model-value":[o==null?void 0:o.group,o==null?void 0:o.type].join(" / ")},null,8,["model-value"]),e[9]||(e[9]=w("hr",null,null,-1)),o!==void 0?(a(),_(P,{key:0,"io-action":o,"io-devices":n.installedIoDevices,"installed-charge-points":n.installedChargePoints,"installed-components":n.installedComponents,"onUpdate:configuration":y=>n.updateConfiguration(D,y)},null,8,["io-action","io-devices","installed-charge-points","installed-components","onUpdate:configuration"])):C("",!0)]),_:2,__:[9]},1032,["title"]))),128)),Object.keys(n.installedIoActions).length>0?(a(),g("hr",ce)):C("",!0),Object.keys(n.installedIoDevices).length>0?(a(),_(j,{key:1,title:"Verfügbare Aktionen","not-selected":"Bitte auswählen",groups:n.ioActionList,"model-value":c.ioActionToAdd,"add-button":!0,"onUpdate:modelValue":e[3]||(e[3]=o=>c.ioActionToAdd=o),"onInput:add":n.addIoAction},{help:i(()=>e[10]||(e[10]=[d(" Bitte eine Ein-/Ausgangs-Aktion auswählen, die hinzugefügt werden soll. ",-1)])),_:1},8,["groups","model-value","onInput:add"])):(a(),_(V,{key:2,subtype:"warning"},{default:i(()=>e[11]||(e[11]=[d(" Keine Ein-/Ausgangs-Geräte vorhanden!",-1),w("br",null,null,-1),d(" Bitte fügen Sie zuerst ein Ein-/Ausgangs-Gerät hinzu, bevor Sie Aktionen konfigurieren. ",-1)])),_:1,__:[11]}))]),_:1}),r(S,{"form-name":"ioConfigForm",onSave:e[4]||(e[4]=o=>t.$emit("save")),onReset:e[5]||(e[5]=o=>t.$emit("reset")),onDefaults:e[6]||(e[6]=o=>t.$emit("defaults"))})])])],64)}const ge=k(ue,[["render",me],["__file","/opt/openWB-dev/openwb-ui-settings/src/views/IoConfig.vue"]]),ye=Object.freeze(Object.defineProperty({__proto__:null,default:ge},Symbol.toStringTag,{value:"Module"}));export{ye as I,F as O,Z as a};
diff --git a/web/settings/assets/LegalSettings-87a6f1de.js b/web/settings/assets/LegalSettings-39bbfbb6.js
similarity index 97%
rename from web/settings/assets/LegalSettings-87a6f1de.js
rename to web/settings/assets/LegalSettings-39bbfbb6.js
index 9097ed9939..c7d6c1daea 100644
--- a/web/settings/assets/LegalSettings-87a6f1de.js
+++ b/web/settings/assets/LegalSettings-39bbfbb6.js
@@ -1 +1 @@
-import{l as f,af as k,F as v}from"./vendor-fortawesome-855c7d62.js";import{C as y}from"./index-d6a3d34f.js";import{_ as B,u as n,l as i,m as z,A as a,G as o,E as r,x as m,B as u,z as p}from"./vendor-cc4615be.js";import"./vendor-bootstrap-09a7ccd9.js";import"./vendor-jquery-13cad4c1.js";import"./vendor-axios-3dcaeec5.js";import"./vendor-sortablejs-7c09d6dd.js";f.add(k);const S={name:"OpenwbDataProtectionView",components:{FontAwesomeIcon:v},mixins:[y],emits:["sendCommand","save"],data(){return{mqttTopicsToSubscribe:["openWB/system/dataprotection_acknowledged"]}},methods:{sendSystemCommand(t,e={}){this.$emit("sendCommand",{command:t,data:e})}}},$={class:"dataProtection"},h={name:"dataProtectionForm"},C={class:"row justify-content-center"},V={class:"col-md-4 d-flex justify-content-center"};function W(t,e,N,A,x,b){const d=n("openwb-base-button-group-input"),c=n("font-awesome-icon"),g=n("openwb-base-click-button"),l=n("openwb-base-alert"),_=n("openwb-base-submit-buttons"),w=n("openwb-base-card");return i(),z("div",$,[a("form",h,[o(w,{title:"Nutzungsbedingungen & Datenschutzerklärung"},{footer:r(()=>[o(_,{"form-name":"dataProtectionForm","hide-reset":!0,"hide-defaults":!0,onSave:e[3]||(e[3]=s=>t.$emit("save"))})]),default:r(()=>[e[7]||(e[7]=a("iframe",{src:"dataProtection-usageTerms.html",width:"100%",height:"400px",class:"bg-light"},null,-1)),e[8]||(e[8]=a("hr",null,null,-1)),o(d,{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"]?p("",!0):(i(),m(l,{key:0,subtype:"danger",class:"mb-1"},{default:r(()=>[e[5]||(e[5]=u(" Sie müssen die Nutzungsbedingungen akzeptieren, bevor openWB eingesetzt werden kann. ",-1)),a("div",C,[a("div",V,[o(g,{class:"btn-danger",onButtonClicked:e[1]||(e[1]=s=>b.sendSystemCommand("systemShutdown"))},{default:r(()=>[e[4]||(e[4]=u(" Nicht akzeptieren und ausschalten ",-1)),o(c,{icon:["fas","power-off"]})]),_:1,__:[4]})])])]),_:1,__:[5]})),o(d,{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"]?p("",!0):(i(),m(l,{key:1,subtype:"warning"},{default:r(()=>e[6]||(e[6]=[u(" Wenn Du nicht einwilligst, 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,__:[6]}))]),_:1,__:[7,8]})])])}const L=B(S,[["render",W],["__file","/opt/openWB-dev/openwb-ui-settings/src/views/LegalSettings.vue"]]);export{L as default};
+import{l as f,af as k,F as v}from"./vendor-fortawesome-855c7d62.js";import{C as y}from"./index-5b5e1b75.js";import{_ as B,u as n,l as i,m as z,A as a,G as o,E as r,x as m,B as u,z as p}from"./vendor-cc4615be.js";import"./vendor-bootstrap-09a7ccd9.js";import"./vendor-jquery-13cad4c1.js";import"./vendor-axios-3dcaeec5.js";import"./vendor-sortablejs-7c09d6dd.js";f.add(k);const S={name:"OpenwbDataProtectionView",components:{FontAwesomeIcon:v},mixins:[y],emits:["sendCommand","save"],data(){return{mqttTopicsToSubscribe:["openWB/system/dataprotection_acknowledged"]}},methods:{sendSystemCommand(t,e={}){this.$emit("sendCommand",{command:t,data:e})}}},$={class:"dataProtection"},h={name:"dataProtectionForm"},C={class:"row justify-content-center"},V={class:"col-md-4 d-flex justify-content-center"};function W(t,e,N,A,x,b){const d=n("openwb-base-button-group-input"),c=n("font-awesome-icon"),g=n("openwb-base-click-button"),l=n("openwb-base-alert"),_=n("openwb-base-submit-buttons"),w=n("openwb-base-card");return i(),z("div",$,[a("form",h,[o(w,{title:"Nutzungsbedingungen & Datenschutzerklärung"},{footer:r(()=>[o(_,{"form-name":"dataProtectionForm","hide-reset":!0,"hide-defaults":!0,onSave:e[3]||(e[3]=s=>t.$emit("save"))})]),default:r(()=>[e[7]||(e[7]=a("iframe",{src:"dataProtection-usageTerms.html",width:"100%",height:"400px",class:"bg-light"},null,-1)),e[8]||(e[8]=a("hr",null,null,-1)),o(d,{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"]?p("",!0):(i(),m(l,{key:0,subtype:"danger",class:"mb-1"},{default:r(()=>[e[5]||(e[5]=u(" Sie müssen die Nutzungsbedingungen akzeptieren, bevor openWB eingesetzt werden kann. ",-1)),a("div",C,[a("div",V,[o(g,{class:"btn-danger",onButtonClicked:e[1]||(e[1]=s=>b.sendSystemCommand("systemShutdown"))},{default:r(()=>[e[4]||(e[4]=u(" Nicht akzeptieren und ausschalten ",-1)),o(c,{icon:["fas","power-off"]})]),_:1,__:[4]})])])]),_:1,__:[5]})),o(d,{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"]?p("",!0):(i(),m(l,{key:1,subtype:"warning"},{default:r(()=>e[6]||(e[6]=[u(" Wenn Du nicht einwilligst, 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,__:[6]}))]),_:1,__:[7,8]})])])}const L=B(S,[["render",W],["__file","/opt/openWB-dev/openwb-ui-settings/src/views/LegalSettings.vue"]]);export{L as default};
diff --git a/web/settings/assets/LoadManagementConfig-b3d43044.js b/web/settings/assets/LoadManagementConfig-ebecc34c.js
similarity index 98%
rename from web/settings/assets/LoadManagementConfig-b3d43044.js
rename to web/settings/assets/LoadManagementConfig-ebecc34c.js
index a887191d7a..56cf438050 100644
--- a/web/settings/assets/LoadManagementConfig-b3d43044.js
+++ b/web/settings/assets/LoadManagementConfig-ebecc34c.js
@@ -1 +1 @@
-import{l as C,Z as L,Y as x,F as V}from"./vendor-fortawesome-855c7d62.js";import{C as Z}from"./index-d6a3d34f.js";import{S as $}from"./OpenwbSortableList-2d35f653.js";import{_ as q,u as l,l as u,m,A as d,G as s,E as o,B as i,N as _,M as w,x as v,F as W}from"./vendor-cc4615be.js";import"./vendor-bootstrap-09a7ccd9.js";import"./vendor-jquery-13cad4c1.js";import"./vendor-axios-3dcaeec5.js";import"./vendor-sortablejs-7c09d6dd.js";C.add(L,x);const A={name:"OpenwbLoadManagementConfigView",components:{SortableList:$,FontAwesomeIcon:V},mixins:[Z],props:{installAssistantActive:{type:Boolean,required:!1,default:!1}},emits:["sendCommand","save","reset","defaults"],data(){return{mqttTopicsToSubscribe:["openWB/general/extern","openWB/counter/config/home_consumption_source_id","openWB/counter/config/consider_less_charging","openWB/counter/get/hierarchy","openWB/system/device/+/component/+/config","openWB/counter/+/config/max_power_errorcase","openWB/counter/+/config/max_currents","openWB/counter/+/config/max_total_power","openWB/pv/+/config/max_ac_out","openWB/chargepoint/+/config"]}},computed:{componentConfigurations(){return this.getWildcardTopics("openWB/system/device/+/component/+/config")},counterConfigs:{get(){let n=this.getWildcardTopics("openWB/system/device/+/component/+/config");return Object.keys(n).filter(e=>{var t;return(t=n[e])==null?void 0:t.type.includes("counter")}).reduce((e,t)=>({...e,[t]:n[t]}),{})}},counterOptions(){var n=[];for(const e of Object.values(this.componentConfigurations))this.isComponentType(e==null?void 0:e.type,"counter")&&n.push({value:e.id,text:e.name});return n.sort((e,t)=>e.text==t.text?0:e.text>t.text?1:-1)},inverterConfigs:{get(){let n=this.getWildcardTopics("openWB/system/device/+/component/+/config");return Object.keys(n).filter(e=>{var t;return(t=n[e])==null?void 0:t.type.includes("inverter")}).reduce((e,t)=>({...e,[t]:n[t]}),{})}},hierarchyLabels:{get(){let n={};for(const e of Object.values(this.$store.state.mqtt["openWB/counter/get/hierarchy"]))n={...n,...this.getElementTreeNames(e)};return n}},getHcSourceIdOptions(){let n=[{value:null,text:"von openWB berechnen (in 99% der Fälle die richtige Einstellung)"}],e=[{label:"Eingerichtete Zähler-Komponenten",options:[...this.counterOptions]}];return{options:n,groups:e}}},methods:{getElementTreeNames(n){let e={};if(n.type=="cp"){let t=this.getChargePoint(n.id);t&&(e[n.id]=t.name)}else{let t=this.getComponent(n.id);t&&(e[n.id]=t.name)}return n.children.forEach(t=>{e={...e,...this.getElementTreeNames(t)}}),e},getComponent(n){let e;return Object.keys(this.$store.state.mqtt).forEach(t=>{t.match("^openWB/system/device/[0-9]+/component/"+n+"/config$")&&(e=this.$store.state.mqtt[t])}),e},getChargePoint(n){let e;return Object.keys(this.$store.state.mqtt).forEach(t=>{t.match("^openWB/chargepoint/"+n+"/config$")&&(e=this.$store.state.mqtt[t])}),e},isComponentType(n,e){return n==null?void 0:n.split("_").includes(e)}}},E={class:"loadManagementConfig"},M={name:"loadManagementConfigForm"},U={key:0},F={key:1},D={key:0},O={key:1};function P(n,e,t,H,N,g){const c=l("openwb-base-alert"),k=l("router-link"),B=l("openwb-base-button-group-input"),S=l("openwb-base-select-input"),f=l("openwb-base-heading"),b=l("font-awesome-icon"),p=l("openwb-base-number-input"),h=l("openwb-base-card"),z=l("sortable-list"),y=l("openwb-base-submit-buttons");return u(),m("div",E,[d("form",M,[s(h,{title:"Einstellungen",collapsible:!0,collapsed:!1},{default:o(()=>[n.$store.state.mqtt["openWB/general/extern"]===!0?(u(),m("div",U,[s(c,{subtype:"info"},{default:o(()=>e[6]||(e[6]=[i(' Diese Einstellungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. ',-1)])),_:1,__:[6]})])):(u(),m("div",F,[s(c,{subtype:"info"},{default:o(()=>[e[8]||(e[8]=i(" Die Konfiguration für die externe Steuerung durch den Netzbetreiber (RSE, EMS, §14a) erfolgt in den ",-1)),s(k,{to:"/IoConfiguration"},{default:o(()=>e[7]||(e[7]=[i("Einstellungen der Ein-/Ausgänge",-1)])),_:1,__:[7]}),e[9]||(e[9]=i(" im Bereich der Aktionen. ",-1))]),_:1,__:[8,9]}),s(B,{title:"Fahrzeuge, die nicht mit Sollstrom laden",buttons:[{buttonValue:!1,text:"nicht berücksichtigen",class:"btn-outline-danger"},{buttonValue:!0,text:"berücksichtigen",class:"btn-outline-success"}],"model-value":n.$store.state.mqtt["openWB/counter/config/consider_less_charging"],"onUpdate:modelValue":e[0]||(e[0]=r=>n.updateState("openWB/counter/config/consider_less_charging",r))},{help:o(()=>e[10]||(e[10]=[d("p",null," Wenn angesteckte Fahrzeuge, die nicht oder nicht mit der Sollstromstärke laden, im Lastmanagement berücksichtigt werden, wird für diese der Sollstrom 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),d("p",null," Wenn angesteckte Fahrzeuge, die nicht oder nicht mit der Sollstromstärke laden, nicht im Lastmanagement berücksichtigt werden, wird für diese auch kein Strom bei vorliegender Ladefreigabe reserviert bzw. es wird nur der tatsächlich genutzte Strom im Lastmanagement berücksichtigt. 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)])),_:1},8,["model-value"]),s(S,{title:"Hausverbrauch",options:g.getHcSourceIdOptions.options,groups:g.getHcSourceIdOptions.groups,"model-value":n.$store.state.mqtt["openWB/counter/config/home_consumption_source_id"],"onUpdate:modelValue":e[1]||(e[1]=r=>n.updateState("openWB/counter/config/home_consumption_source_id",r))},{help:o(()=>e[11]||(e[11]=[i(" Meist ist der Zähler am EVU-Punkt installiert, dann muss hier 'von openWB berechnen' ausgewählt werden. Wenn der Zähler im Hausverbrauchszweig installiert ist, die Struktur wie im ",-1),d("a",{href:"https://github.com/openWB/core/wiki/Hausverbrauchs-Zähler",target:"_blank",rel:"noopener noreferrer"}," Wiki ",-1),i(" beschrieben anordnen und hier den Hausverbrauchszähler auswählen. Dann wird dieser Wert abzüglich der Ladeleistung als Hausverbrauch erfasst. ",-1)])),_:1},8,["options","groups","model-value"]),s(f,null,{default:o(()=>e[12]||(e[12]=[i(" Vorhandene Zählermodule ",-1)])),_:1,__:[12]}),s(c,{subtype:"info"},{default:o(()=>e[13]||(e[13]=[i(" 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),d("br",null,null,-1),i(" Wenn ein Zähler nicht auslesbar ist, wird weiterhin versucht, diesen auszulesen und nach 60s die angenommene Leistung im Fehlerfall verwendet, die unten für jeden Zähler eingestellt wird, um eine Überlast zu vermeiden. Die angenommene Leistung wird gleichmäßig auf die Phasen verteilt.",-1),d("br",null,null,-1),i(" Überlicherweise sind Hausanschlüsse mit 24kW und 3*35A bzw. 43kW und 3*63A abgesichert. ",-1)])),_:1,__:[13]}),(u(!0),m(_,null,w(g.counterConfigs,r=>(u(),v(h,{key:r.id,collapsible:!0,collapsed:!0,subtype:"danger"},{header:o(()=>[s(b,{icon:["fas","gauge-high"]}),i(" "+W(r.name),1)]),default:o(()=>[s(p,{title:"Maximale Leistung",min:1,step:.1,required:"",unit:"kW","model-value":n.$store.state.mqtt["openWB/counter/"+r.id+"/config/max_total_power"]/1e3,"onUpdate:modelValue":a=>n.updateState("openWB/counter/"+r.id+"/config/max_total_power",a*1e3)},{help:o(()=>[...e[14]||(e[14]=[i(" Maximal zulässige Leistung für diesen (Zwischen-)Zähler. ",-1)])]),_:2},1032,["model-value","onUpdate:modelValue"]),s(p,{title:"Maximaler Strom L1",min:6,step:1,unit:"A",required:"","model-value":n.$store.state.mqtt["openWB/counter/"+r.id+"/config/max_currents"][0],"onUpdate:modelValue":a=>n.updateState("openWB/counter/"+r.id+"/config/max_currents",a,"0")},{help:o(()=>[...e[15]||(e[15]=[i(" Maximal zulässiger Strom für die Phase 1 dieses (Zwischen-)Zählers. ",-1)])]),_:2},1032,["model-value","onUpdate:modelValue"]),s(p,{title:"Maximaler Strom L2",min:6,step:1,unit:"A",required:"","model-value":n.$store.state.mqtt["openWB/counter/"+r.id+"/config/max_currents"][1],"onUpdate:modelValue":a=>n.updateState("openWB/counter/"+r.id+"/config/max_currents",a,"1")},{help:o(()=>[...e[16]||(e[16]=[i(" Maximal zulässiger Strom für die Phase 2 dieses (Zwischen-)Zählers. ",-1)])]),_:2},1032,["model-value","onUpdate:modelValue"]),s(p,{title:"Maximaler Strom L3",min:6,step:1,unit:"A",required:"","model-value":n.$store.state.mqtt["openWB/counter/"+r.id+"/config/max_currents"][2],"onUpdate:modelValue":a=>n.updateState("openWB/counter/"+r.id+"/config/max_currents",a,"2")},{help:o(()=>[...e[17]||(e[17]=[i(" Maximal zulässiger Strom für die Phase 3 dieses (Zwischen-)Zählers. ",-1)])]),_:2},1032,["model-value","onUpdate:modelValue"]),s(p,{title:"Maximale Leistung im Fehlerfall",min:0,step:.1,unit:"kW","model-value":n.$store.state.mqtt["openWB/counter/"+r.id+"/config/max_power_errorcase"]/1e3,"onUpdate:modelValue":a=>n.updateState("openWB/counter/"+r.id+"/config/max_power_errorcase",a*1e3)},{help:o(()=>[...e[18]||(e[18]=[i(" Angenommen Leistung für diesen (Zwischen-)Zähler, falls vom Zähler keine Werte abgefragt werden können. ",-1)])]),_:2},1032,["model-value","onUpdate:modelValue"])]),_:2},1024))),128)),s(f,null,{default:o(()=>e[19]||(e[19]=[i(" Vorhandene Wechselrichtermodule ",-1)])),_:1,__:[19]}),(u(!0),m(_,null,w(g.inverterConfigs,r=>(u(),v(h,{key:r.id,collapsible:!0,collapsed:!0,subtype:"success"},{header:o(()=>[s(b,{icon:["fas","solar-panel"]}),i(" "+W(r.name),1)]),default:o(()=>[s(p,{title:"Maximale Ausgangsleistung des Wechselrichters",min:0,step:.1,unit:"kW",required:"","model-value":n.$store.state.mqtt["openWB/pv/"+r.id+"/config/max_ac_out"]/1e3,"onUpdate:modelValue":a=>n.updateState("openWB/pv/"+r.id+"/config/max_ac_out",a*1e3)},{help:o(()=>[...e[20]||(e[20]=[i(" Bei 0 kW erfolgt keine Berücksichtigung der maximalen Ausgangsleistung. ",-1)])]),_:2},1032,["model-value","onUpdate:modelValue"])]),_:2},1024))),128))]))]),_:1}),s(h,{title:"Struktur",collapsible:!0,collapsed:!0},{default:o(()=>[n.$store.state.mqtt["openWB/general/extern"]===!0?(u(),m("div",D,[s(c,{subtype:"info"},{default:o(()=>e[21]||(e[21]=[i(' Diese Einstellungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. ',-1)])),_:1,__:[21]})])):(u(),m("div",O,[s(z,{title:"Anordnung der Komponenten","model-value":n.$store.state.mqtt["openWB/counter/get/hierarchy"],labels:g.hierarchyLabels,"onUpdate:modelValue":e[2]||(e[2]=r=>n.updateState("openWB/counter/get/hierarchy",r))},{help:o(()=>e[22]||(e[22]=[i(" Durch die Anordnung der Komponenten werden Abhängigkeiten abgebildet.",-1),d("br",null,null,-1),i(" An erster Stelle muss eine Zählerkomponente stehen, die den Netzanschlusspunkt erfasst. Dafür kann auch ein virtueller Zähler genutzt werden.",-1),d("br",null,null,-1),i(" Die weiteren Komponenten müssen hierarchisch so angeordnet werden, wie sie auch physisch im Stromnetz angeschlossen werden.",-1),d("br",null,null,-1),i(" 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)])),_:1},8,["model-value","labels"])]))]),_:1}),s(y,{"form-name":"loadManagementConfigForm",onSave:e[3]||(e[3]=r=>n.$emit("save")),onReset:e[4]||(e[4]=r=>n.$emit("reset")),onDefaults:e[5]||(e[5]=r=>n.$emit("defaults"))})])])}const Q=q(A,[["render",P],["__file","/opt/openWB-dev/openwb-ui-settings/src/views/LoadManagementConfig.vue"]]);export{Q as default};
+import{l as C,Z as L,Y as x,F as V}from"./vendor-fortawesome-855c7d62.js";import{C as Z}from"./index-5b5e1b75.js";import{S as $}from"./OpenwbSortableList-5dccf22c.js";import{_ as q,u as l,l as u,m,A as d,G as s,E as o,B as i,N as _,M as w,x as v,F as W}from"./vendor-cc4615be.js";import"./vendor-bootstrap-09a7ccd9.js";import"./vendor-jquery-13cad4c1.js";import"./vendor-axios-3dcaeec5.js";import"./vendor-sortablejs-7c09d6dd.js";C.add(L,x);const A={name:"OpenwbLoadManagementConfigView",components:{SortableList:$,FontAwesomeIcon:V},mixins:[Z],props:{installAssistantActive:{type:Boolean,required:!1,default:!1}},emits:["sendCommand","save","reset","defaults"],data(){return{mqttTopicsToSubscribe:["openWB/general/extern","openWB/counter/config/home_consumption_source_id","openWB/counter/config/consider_less_charging","openWB/counter/get/hierarchy","openWB/system/device/+/component/+/config","openWB/counter/+/config/max_power_errorcase","openWB/counter/+/config/max_currents","openWB/counter/+/config/max_total_power","openWB/pv/+/config/max_ac_out","openWB/chargepoint/+/config"]}},computed:{componentConfigurations(){return this.getWildcardTopics("openWB/system/device/+/component/+/config")},counterConfigs:{get(){let n=this.getWildcardTopics("openWB/system/device/+/component/+/config");return Object.keys(n).filter(e=>{var t;return(t=n[e])==null?void 0:t.type.includes("counter")}).reduce((e,t)=>({...e,[t]:n[t]}),{})}},counterOptions(){var n=[];for(const e of Object.values(this.componentConfigurations))this.isComponentType(e==null?void 0:e.type,"counter")&&n.push({value:e.id,text:e.name});return n.sort((e,t)=>e.text==t.text?0:e.text>t.text?1:-1)},inverterConfigs:{get(){let n=this.getWildcardTopics("openWB/system/device/+/component/+/config");return Object.keys(n).filter(e=>{var t;return(t=n[e])==null?void 0:t.type.includes("inverter")}).reduce((e,t)=>({...e,[t]:n[t]}),{})}},hierarchyLabels:{get(){let n={};for(const e of Object.values(this.$store.state.mqtt["openWB/counter/get/hierarchy"]))n={...n,...this.getElementTreeNames(e)};return n}},getHcSourceIdOptions(){let n=[{value:null,text:"von openWB berechnen (in 99% der Fälle die richtige Einstellung)"}],e=[{label:"Eingerichtete Zähler-Komponenten",options:[...this.counterOptions]}];return{options:n,groups:e}}},methods:{getElementTreeNames(n){let e={};if(n.type=="cp"){let t=this.getChargePoint(n.id);t&&(e[n.id]=t.name)}else{let t=this.getComponent(n.id);t&&(e[n.id]=t.name)}return n.children.forEach(t=>{e={...e,...this.getElementTreeNames(t)}}),e},getComponent(n){let e;return Object.keys(this.$store.state.mqtt).forEach(t=>{t.match("^openWB/system/device/[0-9]+/component/"+n+"/config$")&&(e=this.$store.state.mqtt[t])}),e},getChargePoint(n){let e;return Object.keys(this.$store.state.mqtt).forEach(t=>{t.match("^openWB/chargepoint/"+n+"/config$")&&(e=this.$store.state.mqtt[t])}),e},isComponentType(n,e){return n==null?void 0:n.split("_").includes(e)}}},E={class:"loadManagementConfig"},M={name:"loadManagementConfigForm"},U={key:0},F={key:1},D={key:0},O={key:1};function P(n,e,t,H,N,g){const c=l("openwb-base-alert"),k=l("router-link"),B=l("openwb-base-button-group-input"),S=l("openwb-base-select-input"),f=l("openwb-base-heading"),b=l("font-awesome-icon"),p=l("openwb-base-number-input"),h=l("openwb-base-card"),z=l("sortable-list"),y=l("openwb-base-submit-buttons");return u(),m("div",E,[d("form",M,[s(h,{title:"Einstellungen",collapsible:!0,collapsed:!1},{default:o(()=>[n.$store.state.mqtt["openWB/general/extern"]===!0?(u(),m("div",U,[s(c,{subtype:"info"},{default:o(()=>e[6]||(e[6]=[i(' Diese Einstellungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. ',-1)])),_:1,__:[6]})])):(u(),m("div",F,[s(c,{subtype:"info"},{default:o(()=>[e[8]||(e[8]=i(" Die Konfiguration für die externe Steuerung durch den Netzbetreiber (RSE, EMS, §14a) erfolgt in den ",-1)),s(k,{to:"/IoConfiguration"},{default:o(()=>e[7]||(e[7]=[i("Einstellungen der Ein-/Ausgänge",-1)])),_:1,__:[7]}),e[9]||(e[9]=i(" im Bereich der Aktionen. ",-1))]),_:1,__:[8,9]}),s(B,{title:"Fahrzeuge, die nicht mit Sollstrom laden",buttons:[{buttonValue:!1,text:"nicht berücksichtigen",class:"btn-outline-danger"},{buttonValue:!0,text:"berücksichtigen",class:"btn-outline-success"}],"model-value":n.$store.state.mqtt["openWB/counter/config/consider_less_charging"],"onUpdate:modelValue":e[0]||(e[0]=r=>n.updateState("openWB/counter/config/consider_less_charging",r))},{help:o(()=>e[10]||(e[10]=[d("p",null," Wenn angesteckte Fahrzeuge, die nicht oder nicht mit der Sollstromstärke laden, im Lastmanagement berücksichtigt werden, wird für diese der Sollstrom 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),d("p",null," Wenn angesteckte Fahrzeuge, die nicht oder nicht mit der Sollstromstärke laden, nicht im Lastmanagement berücksichtigt werden, wird für diese auch kein Strom bei vorliegender Ladefreigabe reserviert bzw. es wird nur der tatsächlich genutzte Strom im Lastmanagement berücksichtigt. 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)])),_:1},8,["model-value"]),s(S,{title:"Hausverbrauch",options:g.getHcSourceIdOptions.options,groups:g.getHcSourceIdOptions.groups,"model-value":n.$store.state.mqtt["openWB/counter/config/home_consumption_source_id"],"onUpdate:modelValue":e[1]||(e[1]=r=>n.updateState("openWB/counter/config/home_consumption_source_id",r))},{help:o(()=>e[11]||(e[11]=[i(" Meist ist der Zähler am EVU-Punkt installiert, dann muss hier 'von openWB berechnen' ausgewählt werden. Wenn der Zähler im Hausverbrauchszweig installiert ist, die Struktur wie im ",-1),d("a",{href:"https://github.com/openWB/core/wiki/Hausverbrauchs-Zähler",target:"_blank",rel:"noopener noreferrer"}," Wiki ",-1),i(" beschrieben anordnen und hier den Hausverbrauchszähler auswählen. Dann wird dieser Wert abzüglich der Ladeleistung als Hausverbrauch erfasst. ",-1)])),_:1},8,["options","groups","model-value"]),s(f,null,{default:o(()=>e[12]||(e[12]=[i(" Vorhandene Zählermodule ",-1)])),_:1,__:[12]}),s(c,{subtype:"info"},{default:o(()=>e[13]||(e[13]=[i(" 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),d("br",null,null,-1),i(" Wenn ein Zähler nicht auslesbar ist, wird weiterhin versucht, diesen auszulesen und nach 60s die angenommene Leistung im Fehlerfall verwendet, die unten für jeden Zähler eingestellt wird, um eine Überlast zu vermeiden. Die angenommene Leistung wird gleichmäßig auf die Phasen verteilt.",-1),d("br",null,null,-1),i(" Überlicherweise sind Hausanschlüsse mit 24kW und 3*35A bzw. 43kW und 3*63A abgesichert. ",-1)])),_:1,__:[13]}),(u(!0),m(_,null,w(g.counterConfigs,r=>(u(),v(h,{key:r.id,collapsible:!0,collapsed:!0,subtype:"danger"},{header:o(()=>[s(b,{icon:["fas","gauge-high"]}),i(" "+W(r.name),1)]),default:o(()=>[s(p,{title:"Maximale Leistung",min:1,step:.1,required:"",unit:"kW","model-value":n.$store.state.mqtt["openWB/counter/"+r.id+"/config/max_total_power"]/1e3,"onUpdate:modelValue":a=>n.updateState("openWB/counter/"+r.id+"/config/max_total_power",a*1e3)},{help:o(()=>[...e[14]||(e[14]=[i(" Maximal zulässige Leistung für diesen (Zwischen-)Zähler. ",-1)])]),_:2},1032,["model-value","onUpdate:modelValue"]),s(p,{title:"Maximaler Strom L1",min:6,step:1,unit:"A",required:"","model-value":n.$store.state.mqtt["openWB/counter/"+r.id+"/config/max_currents"][0],"onUpdate:modelValue":a=>n.updateState("openWB/counter/"+r.id+"/config/max_currents",a,"0")},{help:o(()=>[...e[15]||(e[15]=[i(" Maximal zulässiger Strom für die Phase 1 dieses (Zwischen-)Zählers. ",-1)])]),_:2},1032,["model-value","onUpdate:modelValue"]),s(p,{title:"Maximaler Strom L2",min:6,step:1,unit:"A",required:"","model-value":n.$store.state.mqtt["openWB/counter/"+r.id+"/config/max_currents"][1],"onUpdate:modelValue":a=>n.updateState("openWB/counter/"+r.id+"/config/max_currents",a,"1")},{help:o(()=>[...e[16]||(e[16]=[i(" Maximal zulässiger Strom für die Phase 2 dieses (Zwischen-)Zählers. ",-1)])]),_:2},1032,["model-value","onUpdate:modelValue"]),s(p,{title:"Maximaler Strom L3",min:6,step:1,unit:"A",required:"","model-value":n.$store.state.mqtt["openWB/counter/"+r.id+"/config/max_currents"][2],"onUpdate:modelValue":a=>n.updateState("openWB/counter/"+r.id+"/config/max_currents",a,"2")},{help:o(()=>[...e[17]||(e[17]=[i(" Maximal zulässiger Strom für die Phase 3 dieses (Zwischen-)Zählers. ",-1)])]),_:2},1032,["model-value","onUpdate:modelValue"]),s(p,{title:"Maximale Leistung im Fehlerfall",min:0,step:.1,unit:"kW","model-value":n.$store.state.mqtt["openWB/counter/"+r.id+"/config/max_power_errorcase"]/1e3,"onUpdate:modelValue":a=>n.updateState("openWB/counter/"+r.id+"/config/max_power_errorcase",a*1e3)},{help:o(()=>[...e[18]||(e[18]=[i(" Angenommen Leistung für diesen (Zwischen-)Zähler, falls vom Zähler keine Werte abgefragt werden können. ",-1)])]),_:2},1032,["model-value","onUpdate:modelValue"])]),_:2},1024))),128)),s(f,null,{default:o(()=>e[19]||(e[19]=[i(" Vorhandene Wechselrichtermodule ",-1)])),_:1,__:[19]}),(u(!0),m(_,null,w(g.inverterConfigs,r=>(u(),v(h,{key:r.id,collapsible:!0,collapsed:!0,subtype:"success"},{header:o(()=>[s(b,{icon:["fas","solar-panel"]}),i(" "+W(r.name),1)]),default:o(()=>[s(p,{title:"Maximale Ausgangsleistung des Wechselrichters",min:0,step:.1,unit:"kW",required:"","model-value":n.$store.state.mqtt["openWB/pv/"+r.id+"/config/max_ac_out"]/1e3,"onUpdate:modelValue":a=>n.updateState("openWB/pv/"+r.id+"/config/max_ac_out",a*1e3)},{help:o(()=>[...e[20]||(e[20]=[i(" Bei 0 kW erfolgt keine Berücksichtigung der maximalen Ausgangsleistung. ",-1)])]),_:2},1032,["model-value","onUpdate:modelValue"])]),_:2},1024))),128))]))]),_:1}),s(h,{title:"Struktur",collapsible:!0,collapsed:!0},{default:o(()=>[n.$store.state.mqtt["openWB/general/extern"]===!0?(u(),m("div",D,[s(c,{subtype:"info"},{default:o(()=>e[21]||(e[21]=[i(' Diese Einstellungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. ',-1)])),_:1,__:[21]})])):(u(),m("div",O,[s(z,{title:"Anordnung der Komponenten","model-value":n.$store.state.mqtt["openWB/counter/get/hierarchy"],labels:g.hierarchyLabels,"onUpdate:modelValue":e[2]||(e[2]=r=>n.updateState("openWB/counter/get/hierarchy",r))},{help:o(()=>e[22]||(e[22]=[i(" Durch die Anordnung der Komponenten werden Abhängigkeiten abgebildet.",-1),d("br",null,null,-1),i(" An erster Stelle muss eine Zählerkomponente stehen, die den Netzanschlusspunkt erfasst. Dafür kann auch ein virtueller Zähler genutzt werden.",-1),d("br",null,null,-1),i(" Die weiteren Komponenten müssen hierarchisch so angeordnet werden, wie sie auch physisch im Stromnetz angeschlossen werden.",-1),d("br",null,null,-1),i(" 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)])),_:1},8,["model-value","labels"])]))]),_:1}),s(y,{"form-name":"loadManagementConfigForm",onSave:e[3]||(e[3]=r=>n.$emit("save")),onReset:e[4]||(e[4]=r=>n.$emit("reset")),onDefaults:e[5]||(e[5]=r=>n.$emit("defaults"))})])])}const Q=q(A,[["render",P],["__file","/opt/openWB-dev/openwb-ui-settings/src/views/LoadManagementConfig.vue"]]);export{Q as default};
diff --git a/web/settings/assets/MqttBridgeConfig-8dc1f752.js b/web/settings/assets/MqttBridgeConfig-83a68e6b.js
similarity index 99%
rename from web/settings/assets/MqttBridgeConfig-8dc1f752.js
rename to web/settings/assets/MqttBridgeConfig-83a68e6b.js
index 8336de6dc5..2db76e5ba6 100644
--- a/web/settings/assets/MqttBridgeConfig-8dc1f752.js
+++ b/web/settings/assets/MqttBridgeConfig-83a68e6b.js
@@ -1 +1 @@
-import{l as x,d as C,aa as A,F as q}from"./vendor-fortawesome-855c7d62.js";import{C as z}from"./index-d6a3d34f.js";import{_ as D,u,l as m,m as b,G as o,E as a,A as f,N as M,B as s,F as E,x as k,z as T,M as W}from"./vendor-cc4615be.js";import"./vendor-bootstrap-09a7ccd9.js";import"./vendor-jquery-13cad4c1.js";import"./vendor-axios-3dcaeec5.js";import"./vendor-sortablejs-7c09d6dd.js";x.add(C,A);const I={name:"OpenwbMqttBridgeConfigurationView",components:{FontAwesomeIcon:q},mixins:[z],emits:["sendCommand","save","reset"],data(){return{mqttTopicsToSubscribe:["openWB/general/extern","openWB/system/mqtt/bridge/+"],showMqttBridgeModal:!1,modalMqttBridgeIndex:void 0}},computed:{configuredMqttBridges:{get(){let t=this.getWildcardTopics("openWB/system/mqtt/bridge/+");for(const[e,v]of Object.entries(t))v.remote.is_openwb_cloud&&delete t[e];return t}}},methods:{addMqttBridge(t){t.stopPropagation(),this.$emit("sendCommand",{command:"addMqttBridge",data:{}})},getMqttBridgeIndex(t){return parseInt(t.match(/(?:\/)(\d+)$/)[1])},removeMqttBridgeModal(t,e){e.stopPropagation(),this.modalMqttBridgeIndex=this.getMqttBridgeIndex(t),this.showMqttBridgeModal=!0},removeMqttBridge(t,e){this.showMqttBridgeModal=!1,e=="confirm"&&this.$emit("sendCommand",{command:"removeMqttBridge",data:{bridge:t}})},getMqttBridgeName(t){return this.$store.state.mqtt["openWB/system/mqtt/bridge/"+t]?this.$store.state.mqtt["openWB/system/mqtt/bridge/"+t].name:t}}},P={class:"mqttBridgeConfiguration"},Q={key:0},Z={key:1},y=["name"];function N(t,e,v,F,g,i){const U=u("openwb-base-modal-dialog"),c=u("openwb-base-alert"),h=u("font-awesome-icon"),_=u("openwb-base-avatar"),p=u("openwb-base-text-input"),d=u("openwb-base-button-group-input"),V=u("openwb-base-heading"),B=u("openwb-base-number-input"),S=u("openwb-base-submit-buttons"),w=u("openwb-base-card");return m(),b(M,null,[o(U,{show:g.showMqttBridgeModal,title:"MQTT-Brücke löschen",subtype:"danger",buttons:[{text:"Löschen",event:"confirm",subtype:"danger"}],onModalResult:e[0]||(e[0]=r=>i.removeMqttBridge(g.modalMqttBridgeIndex,r))},{default:a(()=>[s(' Wollen Sie die MQTT-Brücke "'+E(i.getMqttBridgeName(g.modalMqttBridgeIndex))+'" wirklich entfernen? Dieser Vorgang kann nicht rückgängig gemacht werden! ',1)]),_:1},8,["show"]),f("div",P,[o(c,{subtype:"danger"},{default:a(()=>e[1]||(e[1]=[s(" ACHTUNG: Die Konfiguration einer MQTT-Brücke erlaubt allen Nutzern mit Zugang zum entfernten MQTT-Server alle weitergeleiteten Daten dieser openWB einzusehen!",-1),f("br",null,null,-1),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-Themen unterhalb von "Entfernter Präfix") zu aktivieren! ',-1)])),_:1,__:[1]}),o(w,{title:"Konfigurierte MQTT-Brücken"},{actions:a(()=>[t.$store.state.mqtt["openWB/general/extern"]===!1?(m(),k(_,{key:0,class:"bg-success clickable",onClick:i.addMqttBridge},{default:a(()=>[o(h,{icon:["fas","plus"]})]),_:1},8,["onClick"])):T("",!0)]),default:a(()=>[t.$store.state.mqtt["openWB/general/extern"]===!0?(m(),b("div",Q,[o(c,{subtype:"info"},{default:a(()=>e[2]||(e[2]=[s(' Diese Einstellungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. ',-1)])),_:1,__:[2]})])):(m(),b("div",Z,[Object.keys(i.configuredMqttBridges).length===0?(m(),k(c,{key:0,subtype:"info"},{default:a(()=>e[3]||(e[3]=[s(" Es wurde noch keine MQTT-Brücke konfiguriert. ",-1)])),_:1,__:[3]})):T("",!0),(m(!0),b(M,null,W(i.configuredMqttBridges,(r,l)=>(m(),b("form",{key:l,name:"mqttBridgeConfigurationForm"+i.getMqttBridgeIndex(l)},[o(w,{title:r.name,collapsible:!0,collapsed:!0,subtype:"primary"},{actions:a(()=>[o(_,{class:"bg-danger clickable",onClick:n=>i.removeMqttBridgeModal(l,n)},{default:a(()=>[o(h,{icon:["fas","trash"]})]),_:2},1032,["onClick"])]),footer:a(()=>[o(S,{"form-name":"mqttBridgeConfigurationForm"+i.getMqttBridgeIndex(l),"hide-defaults":!0,onSave:n=>t.$emit("save",[l]),onReset:n=>t.$emit("reset",[l])},null,8,["form-name","onSave","onReset"])]),default:a(()=>[o(p,{title:"Bezeichnung",subtype:"text",required:"",pattern:"[A-Za-z0-9]+","model-value":r.name,"onUpdate:modelValue":n=>t.updateState(l,n,"name")},{help:a(()=>[...e[4]||(e[4]=[s(" Die Bezeichnung darf nur aus Buchstaben ohne Umlaute und Zahlen bestehen. ",-1)])]),_:2},1032,["model-value","onUpdate:modelValue"]),o(d,{title:"Brücke aktivieren",buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":r.active,"onUpdate:modelValue":n=>t.updateState(l,n,"active")},null,8,["model-value","onUpdate:modelValue"]),e[14]||(e[14]=f("hr",null,null,-1)),o(V,null,{default:a(()=>[...e[5]||(e[5]=[s(" Einstellungen zur Verbindung ",-1)])]),_:1,__:[5]}),o(p,{title:"Entfernter Server",subtype:"host",required:"","model-value":r.remote.host,"onUpdate:modelValue":n=>t.updateState(l,n,"remote.host")},null,8,["model-value","onUpdate:modelValue"]),o(B,{title:"Entfernter Port",required:"",min:1,max:65535,"model-value":r.remote.port,"onUpdate:modelValue":n=>t.updateState(l,n,"remote.port")},null,8,["model-value","onUpdate:modelValue"]),o(p,{title:"Benutzername",subtype:"user",required:"",pattern:"[a-zA-Z0-9_\\-+.]+","model-value":r.remote.username,"onUpdate:modelValue":n=>t.updateState(l,n,"remote.username")},null,8,["model-value","onUpdate:modelValue"]),o(p,{title:"Passwort",subtype:"password",required:"","model-value":r.remote.password,"onUpdate:modelValue":n=>t.updateState(l,n,"remote.password")},null,8,["model-value","onUpdate:modelValue"]),o(p,{title:"Präfix",subtype:"text",pattern:"[A-Za-z0-9_\\-]+(\\/[A-Za-z0-9_\\-]+)?\\/","model-value":r.remote.prefix,"onUpdate:modelValue":n=>t.updateState(l,n,"remote.prefix")},{help:a(()=>[...e[6]||(e[6]=[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äfixes muss ein Schrägstrich "/" stehen. ',-1)])]),_:2},1032,["model-value","onUpdate:modelValue"]),o(p,{title:"Client ID",subtype:"text",required:"",pattern:"[A-Za-z0-9_\\-]+","model-value":r.remote.client_id,"onUpdate:modelValue":n=>t.updateState(l,n,"remote.client_id")},{help:a(()=>[...e[7]||(e[7]=[s(" Die Client ID darf nur aus Buchstaben ohne Umlaute, Zahlen, Binde- und Unterstrichen bestehen. ",-1)])]),_:2},1032,["model-value","onUpdate:modelValue"]),o(d,{title:"MQTT Protokoll",required:"required",buttons:[{buttonValue:"mqttv31",text:"v3.1"},{buttonValue:"mqttv311",text:"v3.1.1"}],"model-value":r.remote.protocol,"onUpdate:modelValue":n=>t.updateState(l,n,"remote.protocol")},null,8,["model-value","onUpdate:modelValue"]),o(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":r.remote.tls_version,"onUpdate:modelValue":n=>t.updateState(l,n,"remote.tls_version")},{help:a(()=>[...e[8]||(e[8]=[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. ',-1)])]),_:2},1032,["model-value","onUpdate:modelValue"]),o(d,{title:"Brücke signalisieren",buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}],"model-value":r.remote.try_private,"onUpdate:modelValue":n=>t.updateState(l,n,"remote.try_private")},{help:a(()=>[...e[9]||(e[9]=[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. ",-1)])]),_:2},1032,["model-value","onUpdate:modelValue"]),e[15]||(e[15]=f("hr",null,null,-1)),o(V,null,{default:a(()=>[...e[10]||(e[10]=[s(" Datenübertragung ",-1)])]),_:1,__:[10]}),o(d,{title:"Alle Statusdaten",buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}],"model-value":r.data_transfer.status,"onUpdate:modelValue":n=>t.updateState(l,n,"data_transfer.status")},{help:a(()=>[...e[11]||(e[11]=[s(" ToDo... ",-1)])]),_:2},1032,["model-value","onUpdate:modelValue"]),o(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":r.data_transfer.graph,"onUpdate:modelValue":n=>t.updateState(l,n,"data_transfer.graph")},{help:a(()=>[...e[12]||(e[12]=[s(" ToDo... ",-1)])]),_:2},1032,["model-value","onUpdate:modelValue"]),o(d,{title:"Fernkonfiguration ermöglichen",buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}],"model-value":r.data_transfer.configuration,"onUpdate:modelValue":n=>t.updateState(l,n,"data_transfer.configuration")},{help:a(()=>[...e[13]||(e[13]=[s(" ToDo... ",-1)])]),_:2},1032,["model-value","onUpdate:modelValue"])]),_:2,__:[14,15]},1032,["title"])],8,y))),128))]))]),_:1})])],64)}const J=D(I,[["render",N],["__file","/opt/openWB-dev/openwb-ui-settings/src/views/MqttBridgeConfig.vue"]]);export{J as default};
+import{l as x,d as C,aa as A,F as q}from"./vendor-fortawesome-855c7d62.js";import{C as z}from"./index-5b5e1b75.js";import{_ as D,u,l as m,m as b,G as o,E as a,A as f,N as M,B as s,F as E,x as k,z as T,M as W}from"./vendor-cc4615be.js";import"./vendor-bootstrap-09a7ccd9.js";import"./vendor-jquery-13cad4c1.js";import"./vendor-axios-3dcaeec5.js";import"./vendor-sortablejs-7c09d6dd.js";x.add(C,A);const I={name:"OpenwbMqttBridgeConfigurationView",components:{FontAwesomeIcon:q},mixins:[z],emits:["sendCommand","save","reset"],data(){return{mqttTopicsToSubscribe:["openWB/general/extern","openWB/system/mqtt/bridge/+"],showMqttBridgeModal:!1,modalMqttBridgeIndex:void 0}},computed:{configuredMqttBridges:{get(){let t=this.getWildcardTopics("openWB/system/mqtt/bridge/+");for(const[e,v]of Object.entries(t))v.remote.is_openwb_cloud&&delete t[e];return t}}},methods:{addMqttBridge(t){t.stopPropagation(),this.$emit("sendCommand",{command:"addMqttBridge",data:{}})},getMqttBridgeIndex(t){return parseInt(t.match(/(?:\/)(\d+)$/)[1])},removeMqttBridgeModal(t,e){e.stopPropagation(),this.modalMqttBridgeIndex=this.getMqttBridgeIndex(t),this.showMqttBridgeModal=!0},removeMqttBridge(t,e){this.showMqttBridgeModal=!1,e=="confirm"&&this.$emit("sendCommand",{command:"removeMqttBridge",data:{bridge:t}})},getMqttBridgeName(t){return this.$store.state.mqtt["openWB/system/mqtt/bridge/"+t]?this.$store.state.mqtt["openWB/system/mqtt/bridge/"+t].name:t}}},P={class:"mqttBridgeConfiguration"},Q={key:0},Z={key:1},y=["name"];function N(t,e,v,F,g,i){const U=u("openwb-base-modal-dialog"),c=u("openwb-base-alert"),h=u("font-awesome-icon"),_=u("openwb-base-avatar"),p=u("openwb-base-text-input"),d=u("openwb-base-button-group-input"),V=u("openwb-base-heading"),B=u("openwb-base-number-input"),S=u("openwb-base-submit-buttons"),w=u("openwb-base-card");return m(),b(M,null,[o(U,{show:g.showMqttBridgeModal,title:"MQTT-Brücke löschen",subtype:"danger",buttons:[{text:"Löschen",event:"confirm",subtype:"danger"}],onModalResult:e[0]||(e[0]=r=>i.removeMqttBridge(g.modalMqttBridgeIndex,r))},{default:a(()=>[s(' Wollen Sie die MQTT-Brücke "'+E(i.getMqttBridgeName(g.modalMqttBridgeIndex))+'" wirklich entfernen? Dieser Vorgang kann nicht rückgängig gemacht werden! ',1)]),_:1},8,["show"]),f("div",P,[o(c,{subtype:"danger"},{default:a(()=>e[1]||(e[1]=[s(" ACHTUNG: Die Konfiguration einer MQTT-Brücke erlaubt allen Nutzern mit Zugang zum entfernten MQTT-Server alle weitergeleiteten Daten dieser openWB einzusehen!",-1),f("br",null,null,-1),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-Themen unterhalb von "Entfernter Präfix") zu aktivieren! ',-1)])),_:1,__:[1]}),o(w,{title:"Konfigurierte MQTT-Brücken"},{actions:a(()=>[t.$store.state.mqtt["openWB/general/extern"]===!1?(m(),k(_,{key:0,class:"bg-success clickable",onClick:i.addMqttBridge},{default:a(()=>[o(h,{icon:["fas","plus"]})]),_:1},8,["onClick"])):T("",!0)]),default:a(()=>[t.$store.state.mqtt["openWB/general/extern"]===!0?(m(),b("div",Q,[o(c,{subtype:"info"},{default:a(()=>e[2]||(e[2]=[s(' Diese Einstellungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. ',-1)])),_:1,__:[2]})])):(m(),b("div",Z,[Object.keys(i.configuredMqttBridges).length===0?(m(),k(c,{key:0,subtype:"info"},{default:a(()=>e[3]||(e[3]=[s(" Es wurde noch keine MQTT-Brücke konfiguriert. ",-1)])),_:1,__:[3]})):T("",!0),(m(!0),b(M,null,W(i.configuredMqttBridges,(r,l)=>(m(),b("form",{key:l,name:"mqttBridgeConfigurationForm"+i.getMqttBridgeIndex(l)},[o(w,{title:r.name,collapsible:!0,collapsed:!0,subtype:"primary"},{actions:a(()=>[o(_,{class:"bg-danger clickable",onClick:n=>i.removeMqttBridgeModal(l,n)},{default:a(()=>[o(h,{icon:["fas","trash"]})]),_:2},1032,["onClick"])]),footer:a(()=>[o(S,{"form-name":"mqttBridgeConfigurationForm"+i.getMqttBridgeIndex(l),"hide-defaults":!0,onSave:n=>t.$emit("save",[l]),onReset:n=>t.$emit("reset",[l])},null,8,["form-name","onSave","onReset"])]),default:a(()=>[o(p,{title:"Bezeichnung",subtype:"text",required:"",pattern:"[A-Za-z0-9]+","model-value":r.name,"onUpdate:modelValue":n=>t.updateState(l,n,"name")},{help:a(()=>[...e[4]||(e[4]=[s(" Die Bezeichnung darf nur aus Buchstaben ohne Umlaute und Zahlen bestehen. ",-1)])]),_:2},1032,["model-value","onUpdate:modelValue"]),o(d,{title:"Brücke aktivieren",buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":r.active,"onUpdate:modelValue":n=>t.updateState(l,n,"active")},null,8,["model-value","onUpdate:modelValue"]),e[14]||(e[14]=f("hr",null,null,-1)),o(V,null,{default:a(()=>[...e[5]||(e[5]=[s(" Einstellungen zur Verbindung ",-1)])]),_:1,__:[5]}),o(p,{title:"Entfernter Server",subtype:"host",required:"","model-value":r.remote.host,"onUpdate:modelValue":n=>t.updateState(l,n,"remote.host")},null,8,["model-value","onUpdate:modelValue"]),o(B,{title:"Entfernter Port",required:"",min:1,max:65535,"model-value":r.remote.port,"onUpdate:modelValue":n=>t.updateState(l,n,"remote.port")},null,8,["model-value","onUpdate:modelValue"]),o(p,{title:"Benutzername",subtype:"user",required:"",pattern:"[a-zA-Z0-9_\\-+.]+","model-value":r.remote.username,"onUpdate:modelValue":n=>t.updateState(l,n,"remote.username")},null,8,["model-value","onUpdate:modelValue"]),o(p,{title:"Passwort",subtype:"password",required:"","model-value":r.remote.password,"onUpdate:modelValue":n=>t.updateState(l,n,"remote.password")},null,8,["model-value","onUpdate:modelValue"]),o(p,{title:"Präfix",subtype:"text",pattern:"[A-Za-z0-9_\\-]+(\\/[A-Za-z0-9_\\-]+)?\\/","model-value":r.remote.prefix,"onUpdate:modelValue":n=>t.updateState(l,n,"remote.prefix")},{help:a(()=>[...e[6]||(e[6]=[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äfixes muss ein Schrägstrich "/" stehen. ',-1)])]),_:2},1032,["model-value","onUpdate:modelValue"]),o(p,{title:"Client ID",subtype:"text",required:"",pattern:"[A-Za-z0-9_\\-]+","model-value":r.remote.client_id,"onUpdate:modelValue":n=>t.updateState(l,n,"remote.client_id")},{help:a(()=>[...e[7]||(e[7]=[s(" Die Client ID darf nur aus Buchstaben ohne Umlaute, Zahlen, Binde- und Unterstrichen bestehen. ",-1)])]),_:2},1032,["model-value","onUpdate:modelValue"]),o(d,{title:"MQTT Protokoll",required:"required",buttons:[{buttonValue:"mqttv31",text:"v3.1"},{buttonValue:"mqttv311",text:"v3.1.1"}],"model-value":r.remote.protocol,"onUpdate:modelValue":n=>t.updateState(l,n,"remote.protocol")},null,8,["model-value","onUpdate:modelValue"]),o(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":r.remote.tls_version,"onUpdate:modelValue":n=>t.updateState(l,n,"remote.tls_version")},{help:a(()=>[...e[8]||(e[8]=[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. ',-1)])]),_:2},1032,["model-value","onUpdate:modelValue"]),o(d,{title:"Brücke signalisieren",buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}],"model-value":r.remote.try_private,"onUpdate:modelValue":n=>t.updateState(l,n,"remote.try_private")},{help:a(()=>[...e[9]||(e[9]=[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. ",-1)])]),_:2},1032,["model-value","onUpdate:modelValue"]),e[15]||(e[15]=f("hr",null,null,-1)),o(V,null,{default:a(()=>[...e[10]||(e[10]=[s(" Datenübertragung ",-1)])]),_:1,__:[10]}),o(d,{title:"Alle Statusdaten",buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}],"model-value":r.data_transfer.status,"onUpdate:modelValue":n=>t.updateState(l,n,"data_transfer.status")},{help:a(()=>[...e[11]||(e[11]=[s(" ToDo... ",-1)])]),_:2},1032,["model-value","onUpdate:modelValue"]),o(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":r.data_transfer.graph,"onUpdate:modelValue":n=>t.updateState(l,n,"data_transfer.graph")},{help:a(()=>[...e[12]||(e[12]=[s(" ToDo... ",-1)])]),_:2},1032,["model-value","onUpdate:modelValue"]),o(d,{title:"Fernkonfiguration ermöglichen",buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}],"model-value":r.data_transfer.configuration,"onUpdate:modelValue":n=>t.updateState(l,n,"data_transfer.configuration")},{help:a(()=>[...e[13]||(e[13]=[s(" ToDo... ",-1)])]),_:2},1032,["model-value","onUpdate:modelValue"])]),_:2,__:[14,15]},1032,["title"])],8,y))),128))]))]),_:1})])],64)}const J=D(I,[["render",N],["__file","/opt/openWB-dev/openwb-ui-settings/src/views/MqttBridgeConfig.vue"]]);export{J as default};
diff --git a/web/settings/assets/OpenwbSortableList-2d35f653.js b/web/settings/assets/OpenwbSortableList-5dccf22c.js
similarity index 97%
rename from web/settings/assets/OpenwbSortableList-2d35f653.js
rename to web/settings/assets/OpenwbSortableList-5dccf22c.js
index 1f4f5c20d3..cc46535c1b 100644
--- a/web/settings/assets/OpenwbSortableList-2d35f653.js
+++ b/web/settings/assets/OpenwbSortableList-5dccf22c.js
@@ -1 +1 @@
-import{O as v}from"./index-d6a3d34f.js";import{_,a5 as V,u as l,l as o,x as i,E as d,A as p,q as k,G as m,z as S,B as b,F as g,D as O,p as f,m as B}from"./vendor-cc4615be.js";import{l as L,ak as E,Q as N,_ as C,Z as q,Y as A,F as x}from"./vendor-fortawesome-855c7d62.js";L.add(E,N,C,q,A);const $={name:"OpenwbNestedList",components:{draggable:V,FontAwesomeIcon:x},props:{list:{type:Object,required:!1,default:void 0},labels:{type:Object,required:!1,default:void 0}},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 j(e,t,n,h,w,a){const r=l("font-awesome-icon"),c=l("openwb-nested-list",!0),u=l("draggable");return o(),i(u,{class:"dragArea w-100 mb-0",tag:"ul",list:n.list,group:{name:"g1"},"item-key":"id",handle:".handle"},{item:d(({element:s})=>[p("li",null,[p("div",{class:k(["element-titel",a.classes(s)])},[p("span",null,[m(r,{class:"handle",icon:["fas","arrows-alt"]}),a.getElementIcon(s)?(o(),i(r,{key:0,icon:a.getElementIcon(s)},null,8,["icon"])):S("",!0),b(" "+g(a.getElementLabel(s.id)),1)])],2),m(c,{modelValue:s.children,"onUpdate:modelValue":y=>s.children=y,labels:n.labels},null,8,["modelValue","onUpdate:modelValue","labels"])])]),_:1},8,["list"])}const D=_($,[["render",j],["__scopeId","data-v-82c9421a"],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbNestedList.vue"]]),F={name:"OpenwbSortableList",components:{OpenwbBaseSettingElement:v,OpenwbNestedList:D},props:{id:{type:String,required:!1,default:void 0},title:{type:String,required:!1,default:""},modelValue:{type:Array,required:!1,default:void 0},labels:{type:Object,default:void 0}},emits:["update:modelValue"],computed:{value:{get(){return this.modelValue},set(e){this.$emit("update:modelValue",e)}}}},I={key:1};function U(e,t,n,h,w,a){const r=l("openwb-nested-list"),c=l("openwb-base-setting-element");return o(),i(c,null,O({title:d(()=>[f(e.$slots,"title",{},()=>[b(g(n.title),1)])]),default:d(()=>[a.value!==void 0?(o(),i(r,{key:0,modelValue:a.value,"onUpdate:modelValue":t[0]||(t[0]=u=>a.value=u),labels:n.labels},null,8,["modelValue","labels"])):(o(),B("div",I,"Warte auf Daten..."))]),_:2},[e.$slots.help?{name:"help",fn:d(()=>[f(e.$slots,"help")]),key:"0"}:void 0]),1024)}const H=_(F,[["render",U],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbSortableList.vue"]]);export{H as S};
+import{O as v}from"./index-5b5e1b75.js";import{_,a5 as V,u as l,l as o,x as i,E as d,A as p,q as k,G as m,z as S,B as b,F as g,D as O,p as f,m as B}from"./vendor-cc4615be.js";import{l as L,ak as E,Q as N,_ as C,Z as q,Y as A,F as x}from"./vendor-fortawesome-855c7d62.js";L.add(E,N,C,q,A);const $={name:"OpenwbNestedList",components:{draggable:V,FontAwesomeIcon:x},props:{list:{type:Object,required:!1,default:void 0},labels:{type:Object,required:!1,default:void 0}},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 j(e,t,n,h,w,a){const r=l("font-awesome-icon"),c=l("openwb-nested-list",!0),u=l("draggable");return o(),i(u,{class:"dragArea w-100 mb-0",tag:"ul",list:n.list,group:{name:"g1"},"item-key":"id",handle:".handle"},{item:d(({element:s})=>[p("li",null,[p("div",{class:k(["element-titel",a.classes(s)])},[p("span",null,[m(r,{class:"handle",icon:["fas","arrows-alt"]}),a.getElementIcon(s)?(o(),i(r,{key:0,icon:a.getElementIcon(s)},null,8,["icon"])):S("",!0),b(" "+g(a.getElementLabel(s.id)),1)])],2),m(c,{modelValue:s.children,"onUpdate:modelValue":y=>s.children=y,labels:n.labels},null,8,["modelValue","onUpdate:modelValue","labels"])])]),_:1},8,["list"])}const D=_($,[["render",j],["__scopeId","data-v-82c9421a"],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbNestedList.vue"]]),F={name:"OpenwbSortableList",components:{OpenwbBaseSettingElement:v,OpenwbNestedList:D},props:{id:{type:String,required:!1,default:void 0},title:{type:String,required:!1,default:""},modelValue:{type:Array,required:!1,default:void 0},labels:{type:Object,default:void 0}},emits:["update:modelValue"],computed:{value:{get(){return this.modelValue},set(e){this.$emit("update:modelValue",e)}}}},I={key:1};function U(e,t,n,h,w,a){const r=l("openwb-nested-list"),c=l("openwb-base-setting-element");return o(),i(c,null,O({title:d(()=>[f(e.$slots,"title",{},()=>[b(g(n.title),1)])]),default:d(()=>[a.value!==void 0?(o(),i(r,{key:0,modelValue:a.value,"onUpdate:modelValue":t[0]||(t[0]=u=>a.value=u),labels:n.labels},null,8,["modelValue","labels"])):(o(),B("div",I,"Warte auf Daten..."))]),_:2},[e.$slots.help?{name:"help",fn:d(()=>[f(e.$slots,"help")]),key:"0"}:void 0]),1024)}const H=_(F,[["render",U],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbSortableList.vue"]]);export{H as S};
diff --git a/web/settings/assets/OptionalComponents-d0f681af.js b/web/settings/assets/OptionalComponents-f21e7cbe.js
similarity index 95%
rename from web/settings/assets/OptionalComponents-d0f681af.js
rename to web/settings/assets/OptionalComponents-f21e7cbe.js
index 532218985d..f3f1f36882 100644
--- a/web/settings/assets/OptionalComponents-d0f681af.js
+++ b/web/settings/assets/OptionalComponents-f21e7cbe.js
@@ -1 +1 @@
-import{_ as T,C as $}from"./index-d6a3d34f.js";import{_ as C}from"./dynamic-import-helper-be004503.js";import{l as O,a6 as S,a7 as V,F as E}from"./vendor-fortawesome-855c7d62.js";import{_ as g,u as l,l as p,m as d,x as f,E as o,B as a,F as y,G as n,A as m,a2 as q,a3 as N,N as z,z as c}from"./vendor-cc4615be.js";const M={props:{displayTheme:{type:Object,required:!0}},emits:["update:configuration"],methods:{updateConfiguration(t,e=void 0){this.$emit("update:configuration",{value:t,object:e})}}},j=g(M,[["__file","/opt/openWB-dev/openwb-ui-settings/src/components/display_themes/DisplayThemeConfigMixin.vue"]]),A={name:"DisplayThemeFallback",mixins:[j]},F={class:"display-theme-fallback"},L={key:1};function P(t,e,s,v,w,u){const r=l("openwb-base-alert"),b=l("openwb-base-textarea");return p(),d("div",F,[Object.keys(t.displayTheme.configuration).length==0?(p(),f(r,{key:0,subtype:"info"},{default:o(()=>[a(' Das Display-Theme "'+y(t.displayTheme.name)+'" bietet keine Einstellungen. ',1)]),_:1})):(p(),d("div",L,[n(r,{subtype:"warning"},{default:o(()=>[a(' Es wurde keine Konfigurationsseite für das Display-Theme "'+y(t.displayTheme.name)+'" gefunden. Die Einstellungen können als JSON direkt bearbeitet werden. ',1)]),_:1}),n(b,{title:"Konfiguration",subtype:"json","model-value":t.displayTheme.configuration,"onUpdate:modelValue":e[0]||(e[0]=_=>t.updateConfiguration(_,"configuration"))},{help:o(()=>e[1]||(e[1]=[a(" Bitte prüfen Sie, ob die Eingaben richtig interpretiert werden. ",-1)])),_:1},8,["model-value"]),n(r,{subtype:"info"},{default:o(()=>[m("pre",null,y(JSON.stringify(t.displayTheme.configuration,void 0,2)),1)]),_:1})]))])}const U=g(A,[["render",P],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/display_themes/OpenwbDisplayThemeFallback.vue"]]);O.add(S,V);const x={name:"OpenwbDisplayThemeProxy",components:{FontAwesomeIcon:E},props:{displayTheme:{type:Object,required:!0}},emits:["update:configuration"],methods:{getDisplayThemeComponent(){return console.debug(`loading display theme: ${this.displayTheme.type}`),q({loader:()=>C(Object.assign({"./cards/displayTheme.vue":()=>T(()=>import("./displayTheme-c5ce182f.js"),["assets/displayTheme-c5ce182f.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/index-d6a3d34f.js","assets/vendor-fortawesome-855c7d62.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./colors/displayTheme.vue":()=>T(()=>import("./displayTheme-526c53cd.js"),["assets/displayTheme-526c53cd.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/index-d6a3d34f.js","assets/vendor-fortawesome-855c7d62.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"])}),`./${this.displayTheme.type}/displayTheme.vue`),errorComponent:U})},updateConfiguration(t){this.$emit("update:configuration",t)}}};function I(t,e,s,v,w,u){const r=l("font-awesome-icon"),b=l("openwb-base-alert"),_=l("openwb-base-heading");return p(),d(z,null,[s.displayTheme.official?(p(),f(b,{key:0,subtype:"success"},{default:o(()=>[n(r,{icon:["fas","certificate"]}),a(' Das ausgewählte Display Theme "'+y(s.displayTheme.name)+'" wird von openWB gepflegt. ',1)]),_:1})):(p(),f(b,{key:1,subtype:"info"},{default:o(()=>[n(r,{icon:["fas","people-group"]}),a(' Das ausgewählte Display Theme "'+y(s.displayTheme.name)+'" wird in unserer Community gepflegt. Rückfragen oder Probleme bitte im Forum diskutieren. ',1)]),_:1})),n(_,null,{default:o(()=>[a(' Einstellungen für Display Theme "'+y(s.displayTheme.name)+'" ',1)]),_:1}),(p(),f(N(u.getDisplayThemeComponent()),{"display-theme":s.displayTheme,"onUpdate:configuration":e[0]||(e[0]=h=>u.updateConfiguration(h))},null,40,["display-theme"]))],64)}const R=g(x,[["render",I],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/display_themes/OpenwbDisplayThemeProxy.vue"]]),H={name:"OpenwbOptionalComponentsView",components:{OpenwbDisplayThemeProxy:R},mixins:[$],emits:["save","reset","defaults"],data(){return{mqttTopicsToSubscribe:["openWB/general/extern","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/on_if_plugged_in","openWB/optional/int_display/only_local_charge_points","openWB/optional/int_display/pin_active","openWB/optional/int_display/pin_code","openWB/optional/int_display/rotation","openWB/optional/int_display/standby","openWB/optional/int_display/theme","openWB/optional/rfid/active","openWB/system/configurable/display_themes"]}},computed:{displayThemeList(){return this.$store.state.mqtt["openWB/system/configurable/display_themes"]},displayThemeGroupList(){var e;let t=[{label:"openWB",options:[]},{label:"Community",options:[]}];return(e=this.displayThemeList)==null||e.forEach(s=>{s.official===!0?t[0].options.push(s):t[1].options.push(s)}),t}},methods:{getDisplayThemeDefaults(t){const e=this.displayThemeList.find(s=>s.value==t);return Object.prototype.hasOwnProperty.call(e,"defaults")?{...JSON.parse(JSON.stringify(e.defaults))}:(console.warn("no default configuration found for display theme type!",t),{})},updateSelectedDisplayTheme(t){this.updateState("openWB/optional/int_display/theme",this.getDisplayThemeDefaults(t))},updateConfiguration(t,e){console.debug("updateConfiguration",t,e),this.updateState(t,e.value,e.object)}}},J={class:"optionalComponents"},G={name:"optionalComponentsForm"},K={key:0},Z={key:1},Q={key:2},X={key:0};function Y(t,e,s,v,w,u){const r=l("openwb-base-button-group-input"),b=l("openwb-base-heading"),_=l("openwb-base-range-input"),h=l("openwb-base-alert"),D=l("openwb-base-select-input"),B=l("openwb-display-theme-proxy"),W=l("openwb-base-card"),k=l("openwb-base-submit-buttons");return p(),d("div",J,[m("form",G,[n(W,{title:"Display (intern oder extern)"},{default:o(()=>[n(r,{title:"Integriertes Display","model-value":t.$store.state.mqtt["openWB/optional/int_display/active"],buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"onUpdate:modelValue":e[0]||(e[0]=i=>t.updateState("openWB/optional/int_display/active",i))},{help:o(()=>e[9]||(e[9]=[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)])),_:1},8,["model-value"]),t.$store.state.mqtt["openWB/optional/int_display/active"]==!0?(p(),d("div",K,[n(r,{title:"Orientierung","model-value":t.$store.state.mqtt["openWB/optional/int_display/rotation"],buttons:[{buttonValue:0,text:"0°"},{buttonValue:90,text:"90°"},{buttonValue:180,text:"180°"},{buttonValue:270,text:"270°"}],"onUpdate:modelValue":e[1]||(e[1]=i=>t.updateState("openWB/optional/int_display/rotation",i))},{help:o(()=>e[10]||(e[10]=[a(" Mit dieser Einstellung kann das Display im Uhrzeigersinn gedreht werden, falls erforderlich. Nach einer Änderung ist ein Neustart erforderlich!",-1),m("br",null,null,-1),a(" Diese Einstellung erfordert ein Raspberry Pi Display. Für eine openWB series2 mit integriertem Display muss 0° ausgewählt werden, für eine Standalone mit Display 180°. Anzeigen, welche über HDMI angeschlossen sind, werden nicht unterstützt. ",-1)])),_:1},8,["model-value"]),e[13]||(e[13]=m("hr",null,null,-1)),n(b,null,{default:o(()=>e[11]||(e[11]=[a(" Display Standby ",-1)])),_:1,__:[11]}),n(_,{title:"Ausschaltzeit",min:0,max:12,step:1,"model-value":t.$store.state.mqtt["openWB/optional/int_display/standby"],unit:"Sek",labels:[{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},{label:"Immer an",value:0}],"onUpdate:modelValue":e[2]||(e[2]=i=>t.updateState("openWB/optional/int_display/standby",i))},{help:o(()=>e[12]||(e[12]=[a(" Hier kann eine Zeitspanne angegeben werden, nach der das Display ausgeschaltet wird. ",-1)])),_:1},8,["model-value"])])):c("",!0),t.$store.state.mqtt["openWB/general/extern"]===!0?(p(),d("div",Z,[e[15]||(e[15]=m("hr",null,null,-1)),n(h,{subtype:"info"},{default:o(()=>e[14]||(e[14]=[a(' Weitere Einstellungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. ',-1)])),_:1,__:[14]})])):(p(),d("div",Q,[e[18]||(e[18]=m("hr",null,null,-1)),n(r,{title:"Ladepunkte auf secondary openWB","model-value":t.$store.state.mqtt["openWB/optional/int_display/only_local_charge_points"],buttons:[{buttonValue:!1,text:"Alle",class:"btn-outline-danger"},{buttonValue:!0,text:"Nur Lokale",class:"btn-outline-success"}],"onUpdate:modelValue":e[3]||(e[3]=i=>t.updateState("openWB/optional/int_display/only_local_charge_points",i))},{help:o(()=>e[16]||(e[16]=[a(" Hiermit kann festgelegt werden, ob an angebundenen secondary openWB alle oder nur die jeweils lokalen Ladepunkte angezeigt werden sollen. ",-1)])),_:1},8,["model-value"]),e[19]||(e[19]=m("hr",null,null,-1)),t.$store.state.mqtt["openWB/optional/int_display/theme"]!==void 0?(p(),d("div",X,[n(D,{class:"mb-2",title:"Theme des Displays",groups:u.displayThemeGroupList,"model-value":t.$store.state.mqtt["openWB/optional/int_display/theme"].type,"onUpdate:modelValue":e[4]||(e[4]=i=>u.updateSelectedDisplayTheme(i))},{help:o(()=>e[17]||(e[17]=[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)])),_:1},8,["groups","model-value"]),t.$store.state.mqtt["openWB/optional/int_display/theme"].type?(p(),f(B,{key:0,"display-theme":t.$store.state.mqtt["openWB/optional/int_display/theme"],"onUpdate:configuration":e[5]||(e[5]=i=>u.updateConfiguration("openWB/optional/int_display/theme",i))},null,8,["display-theme"])):c("",!0)])):c("",!0)]))]),_:1}),n(k,{"form-name":"optionalComponentsForm",onSave:e[6]||(e[6]=i=>t.$emit("save")),onReset:e[7]||(e[7]=i=>t.$emit("reset")),onDefaults:e[8]||(e[8]=i=>t.$emit("defaults"))})])])}const ee=g(H,[["render",Y],["__file","/opt/openWB-dev/openwb-ui-settings/src/views/OptionalComponents.vue"]]),ae=Object.freeze(Object.defineProperty({__proto__:null,default:ee},Symbol.toStringTag,{value:"Module"}));export{j as D,ae as O};
+import{_ as T,C as $}from"./index-5b5e1b75.js";import{_ as C}from"./dynamic-import-helper-be004503.js";import{l as O,a6 as S,a7 as V,F as E}from"./vendor-fortawesome-855c7d62.js";import{_ as g,u as l,l as p,m as d,x as f,E as o,B as a,F as y,G as n,A as m,a2 as q,a3 as N,N as z,z as c}from"./vendor-cc4615be.js";const M={props:{displayTheme:{type:Object,required:!0}},emits:["update:configuration"],methods:{updateConfiguration(t,e=void 0){this.$emit("update:configuration",{value:t,object:e})}}},j=g(M,[["__file","/opt/openWB-dev/openwb-ui-settings/src/components/display_themes/DisplayThemeConfigMixin.vue"]]),A={name:"DisplayThemeFallback",mixins:[j]},F={class:"display-theme-fallback"},L={key:1};function P(t,e,s,v,w,u){const r=l("openwb-base-alert"),b=l("openwb-base-textarea");return p(),d("div",F,[Object.keys(t.displayTheme.configuration).length==0?(p(),f(r,{key:0,subtype:"info"},{default:o(()=>[a(' Das Display-Theme "'+y(t.displayTheme.name)+'" bietet keine Einstellungen. ',1)]),_:1})):(p(),d("div",L,[n(r,{subtype:"warning"},{default:o(()=>[a(' Es wurde keine Konfigurationsseite für das Display-Theme "'+y(t.displayTheme.name)+'" gefunden. Die Einstellungen können als JSON direkt bearbeitet werden. ',1)]),_:1}),n(b,{title:"Konfiguration",subtype:"json","model-value":t.displayTheme.configuration,"onUpdate:modelValue":e[0]||(e[0]=_=>t.updateConfiguration(_,"configuration"))},{help:o(()=>e[1]||(e[1]=[a(" Bitte prüfen Sie, ob die Eingaben richtig interpretiert werden. ",-1)])),_:1},8,["model-value"]),n(r,{subtype:"info"},{default:o(()=>[m("pre",null,y(JSON.stringify(t.displayTheme.configuration,void 0,2)),1)]),_:1})]))])}const U=g(A,[["render",P],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/display_themes/OpenwbDisplayThemeFallback.vue"]]);O.add(S,V);const x={name:"OpenwbDisplayThemeProxy",components:{FontAwesomeIcon:E},props:{displayTheme:{type:Object,required:!0}},emits:["update:configuration"],methods:{getDisplayThemeComponent(){return console.debug(`loading display theme: ${this.displayTheme.type}`),q({loader:()=>C(Object.assign({"./cards/displayTheme.vue":()=>T(()=>import("./displayTheme-dcfb0591.js"),["assets/displayTheme-dcfb0591.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/index-5b5e1b75.js","assets/vendor-fortawesome-855c7d62.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"]),"./colors/displayTheme.vue":()=>T(()=>import("./displayTheme-635b4268.js"),["assets/displayTheme-635b4268.js","assets/vendor-cc4615be.js","assets/vendor-sortablejs-7c09d6dd.js","assets/vendor-3a7c342f.css","assets/index-5b5e1b75.js","assets/vendor-fortawesome-855c7d62.js","assets/vendor-bootstrap-09a7ccd9.js","assets/vendor-jquery-13cad4c1.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-3dcaeec5.js","assets/index-de563ad7.css","assets/dynamic-import-helper-be004503.js"])}),`./${this.displayTheme.type}/displayTheme.vue`),errorComponent:U})},updateConfiguration(t){this.$emit("update:configuration",t)}}};function I(t,e,s,v,w,u){const r=l("font-awesome-icon"),b=l("openwb-base-alert"),_=l("openwb-base-heading");return p(),d(z,null,[s.displayTheme.official?(p(),f(b,{key:0,subtype:"success"},{default:o(()=>[n(r,{icon:["fas","certificate"]}),a(' Das ausgewählte Display Theme "'+y(s.displayTheme.name)+'" wird von openWB gepflegt. ',1)]),_:1})):(p(),f(b,{key:1,subtype:"info"},{default:o(()=>[n(r,{icon:["fas","people-group"]}),a(' Das ausgewählte Display Theme "'+y(s.displayTheme.name)+'" wird in unserer Community gepflegt. Rückfragen oder Probleme bitte im Forum diskutieren. ',1)]),_:1})),n(_,null,{default:o(()=>[a(' Einstellungen für Display Theme "'+y(s.displayTheme.name)+'" ',1)]),_:1}),(p(),f(N(u.getDisplayThemeComponent()),{"display-theme":s.displayTheme,"onUpdate:configuration":e[0]||(e[0]=h=>u.updateConfiguration(h))},null,40,["display-theme"]))],64)}const R=g(x,[["render",I],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/display_themes/OpenwbDisplayThemeProxy.vue"]]),H={name:"OpenwbOptionalComponentsView",components:{OpenwbDisplayThemeProxy:R},mixins:[$],emits:["save","reset","defaults"],data(){return{mqttTopicsToSubscribe:["openWB/general/extern","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/on_if_plugged_in","openWB/optional/int_display/only_local_charge_points","openWB/optional/int_display/pin_active","openWB/optional/int_display/pin_code","openWB/optional/int_display/rotation","openWB/optional/int_display/standby","openWB/optional/int_display/theme","openWB/optional/rfid/active","openWB/system/configurable/display_themes"]}},computed:{displayThemeList(){return this.$store.state.mqtt["openWB/system/configurable/display_themes"]},displayThemeGroupList(){var e;let t=[{label:"openWB",options:[]},{label:"Community",options:[]}];return(e=this.displayThemeList)==null||e.forEach(s=>{s.official===!0?t[0].options.push(s):t[1].options.push(s)}),t}},methods:{getDisplayThemeDefaults(t){const e=this.displayThemeList.find(s=>s.value==t);return Object.prototype.hasOwnProperty.call(e,"defaults")?{...JSON.parse(JSON.stringify(e.defaults))}:(console.warn("no default configuration found for display theme type!",t),{})},updateSelectedDisplayTheme(t){this.updateState("openWB/optional/int_display/theme",this.getDisplayThemeDefaults(t))},updateConfiguration(t,e){console.debug("updateConfiguration",t,e),this.updateState(t,e.value,e.object)}}},J={class:"optionalComponents"},G={name:"optionalComponentsForm"},K={key:0},Z={key:1},Q={key:2},X={key:0};function Y(t,e,s,v,w,u){const r=l("openwb-base-button-group-input"),b=l("openwb-base-heading"),_=l("openwb-base-range-input"),h=l("openwb-base-alert"),D=l("openwb-base-select-input"),B=l("openwb-display-theme-proxy"),W=l("openwb-base-card"),k=l("openwb-base-submit-buttons");return p(),d("div",J,[m("form",G,[n(W,{title:"Display (intern oder extern)"},{default:o(()=>[n(r,{title:"Integriertes Display","model-value":t.$store.state.mqtt["openWB/optional/int_display/active"],buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"onUpdate:modelValue":e[0]||(e[0]=i=>t.updateState("openWB/optional/int_display/active",i))},{help:o(()=>e[9]||(e[9]=[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)])),_:1},8,["model-value"]),t.$store.state.mqtt["openWB/optional/int_display/active"]==!0?(p(),d("div",K,[n(r,{title:"Orientierung","model-value":t.$store.state.mqtt["openWB/optional/int_display/rotation"],buttons:[{buttonValue:0,text:"0°"},{buttonValue:90,text:"90°"},{buttonValue:180,text:"180°"},{buttonValue:270,text:"270°"}],"onUpdate:modelValue":e[1]||(e[1]=i=>t.updateState("openWB/optional/int_display/rotation",i))},{help:o(()=>e[10]||(e[10]=[a(" Mit dieser Einstellung kann das Display im Uhrzeigersinn gedreht werden, falls erforderlich. Nach einer Änderung ist ein Neustart erforderlich!",-1),m("br",null,null,-1),a(" Diese Einstellung erfordert ein Raspberry Pi Display. Für eine openWB series2 mit integriertem Display muss 0° ausgewählt werden, für eine Standalone mit Display 180°. Anzeigen, welche über HDMI angeschlossen sind, werden nicht unterstützt. ",-1)])),_:1},8,["model-value"]),e[13]||(e[13]=m("hr",null,null,-1)),n(b,null,{default:o(()=>e[11]||(e[11]=[a(" Display Standby ",-1)])),_:1,__:[11]}),n(_,{title:"Ausschaltzeit",min:0,max:12,step:1,"model-value":t.$store.state.mqtt["openWB/optional/int_display/standby"],unit:"Sek",labels:[{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},{label:"Immer an",value:0}],"onUpdate:modelValue":e[2]||(e[2]=i=>t.updateState("openWB/optional/int_display/standby",i))},{help:o(()=>e[12]||(e[12]=[a(" Hier kann eine Zeitspanne angegeben werden, nach der das Display ausgeschaltet wird. ",-1)])),_:1},8,["model-value"])])):c("",!0),t.$store.state.mqtt["openWB/general/extern"]===!0?(p(),d("div",Z,[e[15]||(e[15]=m("hr",null,null,-1)),n(h,{subtype:"info"},{default:o(()=>e[14]||(e[14]=[a(' Weitere Einstellungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. ',-1)])),_:1,__:[14]})])):(p(),d("div",Q,[e[18]||(e[18]=m("hr",null,null,-1)),n(r,{title:"Ladepunkte auf secondary openWB","model-value":t.$store.state.mqtt["openWB/optional/int_display/only_local_charge_points"],buttons:[{buttonValue:!1,text:"Alle",class:"btn-outline-danger"},{buttonValue:!0,text:"Nur Lokale",class:"btn-outline-success"}],"onUpdate:modelValue":e[3]||(e[3]=i=>t.updateState("openWB/optional/int_display/only_local_charge_points",i))},{help:o(()=>e[16]||(e[16]=[a(" Hiermit kann festgelegt werden, ob an angebundenen secondary openWB alle oder nur die jeweils lokalen Ladepunkte angezeigt werden sollen. ",-1)])),_:1},8,["model-value"]),e[19]||(e[19]=m("hr",null,null,-1)),t.$store.state.mqtt["openWB/optional/int_display/theme"]!==void 0?(p(),d("div",X,[n(D,{class:"mb-2",title:"Theme des Displays",groups:u.displayThemeGroupList,"model-value":t.$store.state.mqtt["openWB/optional/int_display/theme"].type,"onUpdate:modelValue":e[4]||(e[4]=i=>u.updateSelectedDisplayTheme(i))},{help:o(()=>e[17]||(e[17]=[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)])),_:1},8,["groups","model-value"]),t.$store.state.mqtt["openWB/optional/int_display/theme"].type?(p(),f(B,{key:0,"display-theme":t.$store.state.mqtt["openWB/optional/int_display/theme"],"onUpdate:configuration":e[5]||(e[5]=i=>u.updateConfiguration("openWB/optional/int_display/theme",i))},null,8,["display-theme"])):c("",!0)])):c("",!0)]))]),_:1}),n(k,{"form-name":"optionalComponentsForm",onSave:e[6]||(e[6]=i=>t.$emit("save")),onReset:e[7]||(e[7]=i=>t.$emit("reset")),onDefaults:e[8]||(e[8]=i=>t.$emit("defaults"))})])])}const ee=g(H,[["render",Y],["__file","/opt/openWB-dev/openwb-ui-settings/src/views/OptionalComponents.vue"]]),ae=Object.freeze(Object.defineProperty({__proto__:null,default:ee},Symbol.toStringTag,{value:"Module"}));export{j as D,ae as O};
diff --git a/web/settings/assets/PVChargeConfig-1136b345.js b/web/settings/assets/PVChargeConfig-bc17ec59.js
similarity index 99%
rename from web/settings/assets/PVChargeConfig-1136b345.js
rename to web/settings/assets/PVChargeConfig-bc17ec59.js
index 30d9c6b9e8..66385d8300 100644
--- a/web/settings/assets/PVChargeConfig-1136b345.js
+++ b/web/settings/assets/PVChargeConfig-bc17ec59.js
@@ -1 +1 @@
-import{C as S}from"./index-d6a3d34f.js";import{l as B,_ as z,a8 as V,a9 as k,F as y}from"./vendor-fortawesome-855c7d62.js";import{_ as E,u as d,l as g,m as p,A as o,G as i,E as a,B as t,F as C,x as v,z as b}from"./vendor-cc4615be.js";import"./vendor-bootstrap-09a7ccd9.js";import"./vendor-jquery-13cad4c1.js";import"./vendor-axios-3dcaeec5.js";import"./vendor-sortablejs-7c09d6dd.js";B.add(z,V,k);const q={name:"OpenwbPVChargeConfigView",components:{FontAwesomeIcon:y},mixins:[S],emits:["save","reset","defaults"],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/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}}},chargingSwitchRange:{get(){return this.$store.state.mqtt["openWB/general/chargemode_config/pv_charging/switch_on_threshold"]+this.$store.state.mqtt["openWB/general/chargemode_config/pv_charging/switch_off_threshold"]}},batMode:{get(){return this.$store.state.mqtt["openWB/general/chargemode_config/pv_charging/bat_mode"]},set(n){this.updateState("openWB/general/chargemode_config/pv_charging/bat_mode",n)}}},watch:{controlMode(n){this.calculatedControlMode=n}}},M={class:"pvChargeConfig"},L={name:"pvChargeConfigForm"},P={key:0},U={key:1},R={key:0},$={key:1},A={key:0};function F(n,e,u,D,N,s){const m=d("openwb-base-alert"),c=d("openwb-base-button-group-input"),l=d("openwb-base-number-input"),f=d("openwb-base-card"),h=d("font-awesome-icon"),w=d("openwb-base-range-input"),_=d("openwb-base-heading"),W=d("openwb-base-submit-buttons");return g(),p("div",M,[o("form",L,[i(f,{title:"Regelparameter"},{default:a(()=>[n.$store.state.mqtt["openWB/general/extern"]===!0?(g(),p("div",P,[i(m,{subtype:"info"},{default:a(()=>e[17]||(e[17]=[t(' Diese Einstellungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. ',-1)])),_:1,__:[17]})])):(g(),p("div",U,[i(c,{modelValue:s.controlMode,"onUpdate:modelValue":e[0]||(e[0]=r=>s.controlMode=r),title:"Regelmodus",buttons:[{buttonValue:"export",text:"Einspeisung"},{buttonValue:"import",text:"Bezug"},{buttonValue:"balanced",text:"Ausgewogen"},{buttonValue:"individual",text:"Individuell"}]},{help:a(()=>e[18]||(e[18]=[t(" Die Ladeleistung kann nicht mit absoluter Genauigkeit eingestellt werden, sodass am EVU-Punkt nicht auf exakt 0W geregelt werden kann. Der Regelmodus legt fest, ob diese Differenz am EVU-Punkt (ca. 200-300W) zu geringem Netzbezug oder geringer Netzeinspeisung führen soll. Liegt die Leistung am EVU-Punkt innerhalb des Regelbereichs, wird nicht nachgeregelt.",-1),o("br",null,null,-1),t(" Bei Speichervorrang erzeugt die Regelung bei Bedarf unabhängig vom eingestellten Regelmodus Einspeisung, damit der Speicher seine Ladeleistung erhöht.",-1),o("br",null,null,-1),t(" Achtung: bei unlogischen Einstellungen kann die Regelung gestört werden! Im Zweifel bitte unsere vordefinierten Modi verwenden. ",-1)])),_:1},8,["modelValue"]),i(l,{disabled:s.controlMode!=="individual",readonly:s.controlMode!=="individual",title:"Minimum",step:.005,unit:"kW",required:"","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]=r=>n.updateState("openWB/general/chargemode_config/pv_charging/control_range",r*1e3,"0"))},{help:a(()=>e[19]||(e[19]=[t(" Untere Grenze des Regelbereichs. ",-1)])),_:1},8,["disabled","readonly","model-value"]),i(l,{disabled:s.controlMode!=="individual",readonly:s.controlMode!=="individual",title:"Maximum",step:.005,unit:"kW",required:"","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]=r=>n.updateState("openWB/general/chargemode_config/pv_charging/control_range",r*1e3,"1"))},{help:a(()=>e[20]||(e[20]=[t(" Obere Grenze des Regelbereichs. ",-1)])),_:1},8,["disabled","readonly","model-value"]),e[27]||(e[27]=o("hr",null,null,-1)),i(m,{subtype:s.chargingSwitchRange<1400?"danger":"info"},{default:a(()=>[t(" Die Differenzleistung zw. Ein- und Abschaltschwelle sollte mind. 1,4 kW (230V x 6A) betragen. (Konfiguriert: "+C((s.chargingSwitchRange/1e3).toLocaleString(void 0))+" kW) ",1)]),_:1},8,["subtype"]),i(l,{title:"Einschaltschwelle",min:0,step:.05,unit:"kW",required:"","model-value":n.$store.state.mqtt["openWB/general/chargemode_config/pv_charging/switch_on_threshold"]/1e3,"onUpdate:modelValue":e[3]||(e[3]=r=>n.updateState("openWB/general/chargemode_config/pv_charging/switch_on_threshold",r*1e3))},{help:a(()=>e[21]||(e[21]=[t(" Wird der Regelbereich in Richtung Einspeisung um diese Leistung überschritten, so wird der Ladevorgang gestartet.",-1),o("br",null,null,-1),t(" Dieser Wert wird pro Phase genutzt und ist daher immer für eine Phase anzugeben. ",-1)])),_:1},8,["model-value"]),i(l,{title:"Wartezeit Ladestart & Phasenzuschaltung",min:0,step:1,unit:"s",required:"","model-value":n.$store.state.mqtt["openWB/general/chargemode_config/pv_charging/switch_on_delay"],"onUpdate:modelValue":e[4]||(e[4]=r=>n.updateState("openWB/general/chargemode_config/pv_charging/switch_on_delay",r))},{help:a(()=>e[22]||(e[22]=[t(" Die Einschaltschwelle muss für die hier angegebene Zeit dauerhaft überschritten werden, bevor ein Ladevorgang gestartet wird.",-1),o("br",null,null,-1),t(" Wenn ein Ladevorgang aktiv ist und auf PV-Laden umgeschaltet wird, wird weiter geladen, wenn die Abschaltschwelle nicht unterschritten wird.",-1),o("br",null,null,-1),t(" Wenn die Pufferzeit zwischen zwei automatischen Phasenumschaltungen abgelaufen ist, wird die hier eingestellte Wartezeit abgewartet. Wenn die Pufferzeit zwischen zwei Umschaltungen noch nicht erreicht ist, wird die längere der beiden Zeiten abgewartet: entweder die verbleibende Pufferzeit oder die Wartezeit. ",-1)])),_:1},8,["model-value"]),e[28]||(e[28]=o("hr",null,null,-1)),i(m,{subtype:n.$store.state.mqtt["openWB/general/chargemode_config/pv_charging/switch_off_threshold"]/1e3>0?"danger":"info"},{default:a(()=>e[23]||(e[23]=[t(" Ist ein Speicher im System vorhanden, kann eine Abschaltschwelle größer Null zur Speicherentladung führen. (Siehe Fragezeichentext) ",-1)])),_:1,__:[23]},8,["subtype"]),i(l,{title:"Abschaltschwelle",step:.05,unit:"kW",required:"","model-value":n.$store.state.mqtt["openWB/general/chargemode_config/pv_charging/switch_off_threshold"]/1e3,"onUpdate:modelValue":e[5]||(e[5]=r=>n.updateState("openWB/general/chargemode_config/pv_charging/switch_off_threshold",r*1e3))},{help:a(()=>e[24]||(e[24]=[t(" Übersteigt der Netzbezug die Abschaltschwelle, wird die Ladung beendet. Eine Abschaltschwelle, die Netzbezug erlaubt, führt in einem System ohne steuerbaren Speicher zur Entladung des Speichers. Der Speicher wird dann auch über den eingestellten Mindest-SoC hinaus entladen (siehe Speicherbeachtung unten). ",-1)])),_:1},8,["model-value"]),i(l,{title:"Wartezeit Ladeende & Phasenreduktion",min:0,step:1,unit:"s",required:"","model-value":n.$store.state.mqtt["openWB/general/chargemode_config/pv_charging/switch_off_delay"],"onUpdate:modelValue":e[6]||(e[6]=r=>n.updateState("openWB/general/chargemode_config/pv_charging/switch_off_delay",r))},{help:a(()=>e[25]||(e[25]=[t(" Die Abschaltschwelle muss für die hier angegebene Zeit dauerhaft unterschritten werden, bevor ein Ladevorgang beendet wird.",-1),o("br",null,null,-1),t(" Wenn ein Ladevorgang aktiv ist und auf PV-Laden umgeschaltet wird, wird die Ladung sofort beendet, wenn die Abschaltschwelle unterschritten wird.",-1),o("br",null,null,-1),t(" Wenn die Pufferzeit zwischen zwei automatischen Phasenumschaltungen abgelaufen ist, wird die hier eingestellte Wartezeit abgewartet. Wenn die Pufferzeit zwischen zwei Umschaltungen noch nicht erreicht ist, wird die längere der beiden Zeiten abgewartet: entweder die verbleibende Pufferzeit oder die Wartezeit. ",-1)])),_:1},8,["model-value"]),e[29]||(e[29]=o("hr",null,null,-1)),i(l,{title:"Regelpunkt Einspeisegrenze",min:0,step:.05,unit:"kW",required:"","model-value":n.$store.state.mqtt["openWB/general/chargemode_config/pv_charging/feed_in_yield"]/1e3,"onUpdate:modelValue":e[7]||(e[7]=r=>n.updateState("openWB/general/chargemode_config/pv_charging/feed_in_yield",r*1e3))},{help:a(()=>e[26]||(e[26]=[t(" Ein Wert größer 0kW bewirkt, dass weniger PV-Leistung zum Laden benutzt wird.",-1),o("br",null,null,-1),t(" 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).",-1),o("br",null,null,-1),t(' 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).',-1),o("br",null,null,-1),t(' 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.',-1),o("br",null,null,-1),t(" 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)])),_:1},8,["model-value"])]))]),_:1}),i(f,{title:"Speicher-Beachtung"},{default:a(()=>[n.$store.state.mqtt["openWB/general/extern"]===!0?(g(),p("div",R,[i(m,{subtype:"info"},{default:a(()=>e[30]||(e[30]=[t(' Diese Einstellungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. ',-1)])),_:1,__:[30]})])):(g(),p("div",$,[i(c,{modelValue:s.batMode,"onUpdate:modelValue":e[8]||(e[8]=r=>s.batMode=r),title:"Laden mit Überschuss",buttons:[{buttonValue:"ev_mode"},{buttonValue:"bat_mode"},{buttonValue:"min_soc_bat_mode"}]},{"label-ev_mode":a(()=>[i(h,{icon:["fas","car-side"]}),e[31]||(e[31]=t(" Fahrzeuge ",-1))]),"label-bat_mode":a(()=>[i(h,{icon:["fas","fa-car-battery"]}),e[32]||(e[32]=t(" Speicher ",-1))]),"label-min_soc_bat_mode":a(()=>[i(h,{icon:["fas","fa-battery-half"]}),e[33]||(e[33]=t(" Mindest-SoC des Speichers ",-1))]),help:a(()=>[e[40]||(e[40]=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)),o("p",null,[e[34]||(e[34]=t(' Bei Auswahl " ',-1)),i(h,{icon:["fas","car-side"]}),e[35]||(e[35]=t(' 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. ',-1))]),o("p",null,[e[36]||(e[36]=t(' Bei Auswahl " ',-1)),i(h,{icon:["fas","fa-car-battery"]}),e[37]||(e[37]=t(' 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. ',-1))]),o("p",null,[e[38]||(e[38]=t(' Bei Auswahl " ',-1)),i(h,{icon:["fas","fa-battery-half"]}),e[39]||(e[39]=t(' 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))])]),_:1},8,["modelValue"]),s.batMode==="min_soc_bat_mode"?(g(),p("div",A,[i(w,{title:"Mindest-SoC des Speichers",min:0,max:100,step:1,unit:"%",required:"","model-value":n.$store.state.mqtt["openWB/general/chargemode_config/pv_charging/min_bat_soc"],"onUpdate:modelValue":e[9]||(e[9]=r=>n.updateState("openWB/general/chargemode_config/pv_charging/min_bat_soc",r))},null,8,["model-value"]),i(_,null,{default:a(()=>e[41]||(e[41]=[t(" Speicher-SoC unterhalb Mindest-SoC ",-1)])),_:1,__:[41]}),i(c,{title:"Ladeleistung für Speicher reservieren",buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":n.$store.state.mqtt["openWB/general/chargemode_config/pv_charging/bat_power_reserve_active"],"onUpdate:modelValue":e[10]||(e[10]=r=>n.updateState("openWB/general/chargemode_config/pv_charging/bat_power_reserve_active",r))},{help:a(()=>e[42]||(e[42]=[t(" ACHTUNG: Der hier eingestellte Wert darf die maximale Ladeleistung des Speichers nicht überschreiten.",-1),o("br",null,null,-1),t(" Wird der Mindest-SoC des Speichers nicht erreicht, wird der Speicher mit der hier eingestellten Leistung geladen. Mit dem verbleibenden Überschuss werden die Fahrzeuge geladen. ",-1)])),_:1},8,["model-value"]),n.$store.state.mqtt["openWB/general/chargemode_config/pv_charging/bat_power_reserve_active"]?(g(),v(l,{key:0,title:"Reserve Ladeleistung",min:.1,step:.1,unit:"kW",required:"","model-value":n.$store.state.mqtt["openWB/general/chargemode_config/pv_charging/bat_power_reserve"]/1e3,"onUpdate:modelValue":e[11]||(e[11]=r=>n.updateState("openWB/general/chargemode_config/pv_charging/bat_power_reserve",r*1e3))},null,8,["model-value"])):b("",!0),i(_,null,{default:a(()=>e[43]||(e[43]=[t(" Speicher-SoC oberhalb Mindest-SoC ",-1)])),_:1,__:[43]}),i(c,{title:"Entladung des Speichers erlauben",buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":n.$store.state.mqtt["openWB/general/chargemode_config/pv_charging/bat_power_discharge_active"],"onUpdate:modelValue":e[12]||(e[12]=r=>n.updateState("openWB/general/chargemode_config/pv_charging/bat_power_discharge_active",r))},{help:a(()=>e[44]||(e[44]=[t(" 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)])),_:1},8,["model-value"]),n.$store.state.mqtt["openWB/general/chargemode_config/pv_charging/bat_power_discharge_active"]?(g(),v(l,{key:1,title:"Erlaubte Entladeleistung",min:.1,step:.1,unit:"kW",required:"","model-value":n.$store.state.mqtt["openWB/general/chargemode_config/pv_charging/bat_power_discharge"]/1e3,"onUpdate:modelValue":e[13]||(e[13]=r=>n.updateState("openWB/general/chargemode_config/pv_charging/bat_power_discharge",r*1e3))},null,8,["model-value"])):b("",!0)])):b("",!0)]))]),_:1}),i(W,{"form-name":"pvChargeConfigForm",onSave:e[14]||(e[14]=r=>n.$emit("save")),onReset:e[15]||(e[15]=r=>n.$emit("reset")),onDefaults:e[16]||(e[16]=r=>n.$emit("defaults"))})])])}const K=E(q,[["render",F],["__file","/opt/openWB-dev/openwb-ui-settings/src/views/PVChargeConfig.vue"]]);export{K as default};
+import{C as S}from"./index-5b5e1b75.js";import{l as B,_ as z,a8 as V,a9 as k,F as y}from"./vendor-fortawesome-855c7d62.js";import{_ as E,u as d,l as g,m as p,A as o,G as i,E as a,B as t,F as C,x as v,z as b}from"./vendor-cc4615be.js";import"./vendor-bootstrap-09a7ccd9.js";import"./vendor-jquery-13cad4c1.js";import"./vendor-axios-3dcaeec5.js";import"./vendor-sortablejs-7c09d6dd.js";B.add(z,V,k);const q={name:"OpenwbPVChargeConfigView",components:{FontAwesomeIcon:y},mixins:[S],emits:["save","reset","defaults"],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/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}}},chargingSwitchRange:{get(){return this.$store.state.mqtt["openWB/general/chargemode_config/pv_charging/switch_on_threshold"]+this.$store.state.mqtt["openWB/general/chargemode_config/pv_charging/switch_off_threshold"]}},batMode:{get(){return this.$store.state.mqtt["openWB/general/chargemode_config/pv_charging/bat_mode"]},set(n){this.updateState("openWB/general/chargemode_config/pv_charging/bat_mode",n)}}},watch:{controlMode(n){this.calculatedControlMode=n}}},M={class:"pvChargeConfig"},L={name:"pvChargeConfigForm"},P={key:0},U={key:1},R={key:0},$={key:1},A={key:0};function F(n,e,u,D,N,s){const m=d("openwb-base-alert"),c=d("openwb-base-button-group-input"),l=d("openwb-base-number-input"),f=d("openwb-base-card"),h=d("font-awesome-icon"),w=d("openwb-base-range-input"),_=d("openwb-base-heading"),W=d("openwb-base-submit-buttons");return g(),p("div",M,[o("form",L,[i(f,{title:"Regelparameter"},{default:a(()=>[n.$store.state.mqtt["openWB/general/extern"]===!0?(g(),p("div",P,[i(m,{subtype:"info"},{default:a(()=>e[17]||(e[17]=[t(' Diese Einstellungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. ',-1)])),_:1,__:[17]})])):(g(),p("div",U,[i(c,{modelValue:s.controlMode,"onUpdate:modelValue":e[0]||(e[0]=r=>s.controlMode=r),title:"Regelmodus",buttons:[{buttonValue:"export",text:"Einspeisung"},{buttonValue:"import",text:"Bezug"},{buttonValue:"balanced",text:"Ausgewogen"},{buttonValue:"individual",text:"Individuell"}]},{help:a(()=>e[18]||(e[18]=[t(" Die Ladeleistung kann nicht mit absoluter Genauigkeit eingestellt werden, sodass am EVU-Punkt nicht auf exakt 0W geregelt werden kann. Der Regelmodus legt fest, ob diese Differenz am EVU-Punkt (ca. 200-300W) zu geringem Netzbezug oder geringer Netzeinspeisung führen soll. Liegt die Leistung am EVU-Punkt innerhalb des Regelbereichs, wird nicht nachgeregelt.",-1),o("br",null,null,-1),t(" Bei Speichervorrang erzeugt die Regelung bei Bedarf unabhängig vom eingestellten Regelmodus Einspeisung, damit der Speicher seine Ladeleistung erhöht.",-1),o("br",null,null,-1),t(" Achtung: bei unlogischen Einstellungen kann die Regelung gestört werden! Im Zweifel bitte unsere vordefinierten Modi verwenden. ",-1)])),_:1},8,["modelValue"]),i(l,{disabled:s.controlMode!=="individual",readonly:s.controlMode!=="individual",title:"Minimum",step:.005,unit:"kW",required:"","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]=r=>n.updateState("openWB/general/chargemode_config/pv_charging/control_range",r*1e3,"0"))},{help:a(()=>e[19]||(e[19]=[t(" Untere Grenze des Regelbereichs. ",-1)])),_:1},8,["disabled","readonly","model-value"]),i(l,{disabled:s.controlMode!=="individual",readonly:s.controlMode!=="individual",title:"Maximum",step:.005,unit:"kW",required:"","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]=r=>n.updateState("openWB/general/chargemode_config/pv_charging/control_range",r*1e3,"1"))},{help:a(()=>e[20]||(e[20]=[t(" Obere Grenze des Regelbereichs. ",-1)])),_:1},8,["disabled","readonly","model-value"]),e[27]||(e[27]=o("hr",null,null,-1)),i(m,{subtype:s.chargingSwitchRange<1400?"danger":"info"},{default:a(()=>[t(" Die Differenzleistung zw. Ein- und Abschaltschwelle sollte mind. 1,4 kW (230V x 6A) betragen. (Konfiguriert: "+C((s.chargingSwitchRange/1e3).toLocaleString(void 0))+" kW) ",1)]),_:1},8,["subtype"]),i(l,{title:"Einschaltschwelle",min:0,step:.05,unit:"kW",required:"","model-value":n.$store.state.mqtt["openWB/general/chargemode_config/pv_charging/switch_on_threshold"]/1e3,"onUpdate:modelValue":e[3]||(e[3]=r=>n.updateState("openWB/general/chargemode_config/pv_charging/switch_on_threshold",r*1e3))},{help:a(()=>e[21]||(e[21]=[t(" Wird der Regelbereich in Richtung Einspeisung um diese Leistung überschritten, so wird der Ladevorgang gestartet.",-1),o("br",null,null,-1),t(" Dieser Wert wird pro Phase genutzt und ist daher immer für eine Phase anzugeben. ",-1)])),_:1},8,["model-value"]),i(l,{title:"Wartezeit Ladestart & Phasenzuschaltung",min:0,step:1,unit:"s",required:"","model-value":n.$store.state.mqtt["openWB/general/chargemode_config/pv_charging/switch_on_delay"],"onUpdate:modelValue":e[4]||(e[4]=r=>n.updateState("openWB/general/chargemode_config/pv_charging/switch_on_delay",r))},{help:a(()=>e[22]||(e[22]=[t(" Die Einschaltschwelle muss für die hier angegebene Zeit dauerhaft überschritten werden, bevor ein Ladevorgang gestartet wird.",-1),o("br",null,null,-1),t(" Wenn ein Ladevorgang aktiv ist und auf PV-Laden umgeschaltet wird, wird weiter geladen, wenn die Abschaltschwelle nicht unterschritten wird.",-1),o("br",null,null,-1),t(" Wenn die Pufferzeit zwischen zwei automatischen Phasenumschaltungen abgelaufen ist, wird die hier eingestellte Wartezeit abgewartet. Wenn die Pufferzeit zwischen zwei Umschaltungen noch nicht erreicht ist, wird die längere der beiden Zeiten abgewartet: entweder die verbleibende Pufferzeit oder die Wartezeit. ",-1)])),_:1},8,["model-value"]),e[28]||(e[28]=o("hr",null,null,-1)),i(m,{subtype:n.$store.state.mqtt["openWB/general/chargemode_config/pv_charging/switch_off_threshold"]/1e3>0?"danger":"info"},{default:a(()=>e[23]||(e[23]=[t(" Ist ein Speicher im System vorhanden, kann eine Abschaltschwelle größer Null zur Speicherentladung führen. (Siehe Fragezeichentext) ",-1)])),_:1,__:[23]},8,["subtype"]),i(l,{title:"Abschaltschwelle",step:.05,unit:"kW",required:"","model-value":n.$store.state.mqtt["openWB/general/chargemode_config/pv_charging/switch_off_threshold"]/1e3,"onUpdate:modelValue":e[5]||(e[5]=r=>n.updateState("openWB/general/chargemode_config/pv_charging/switch_off_threshold",r*1e3))},{help:a(()=>e[24]||(e[24]=[t(" Übersteigt der Netzbezug die Abschaltschwelle, wird die Ladung beendet. Eine Abschaltschwelle, die Netzbezug erlaubt, führt in einem System ohne steuerbaren Speicher zur Entladung des Speichers. Der Speicher wird dann auch über den eingestellten Mindest-SoC hinaus entladen (siehe Speicherbeachtung unten). ",-1)])),_:1},8,["model-value"]),i(l,{title:"Wartezeit Ladeende & Phasenreduktion",min:0,step:1,unit:"s",required:"","model-value":n.$store.state.mqtt["openWB/general/chargemode_config/pv_charging/switch_off_delay"],"onUpdate:modelValue":e[6]||(e[6]=r=>n.updateState("openWB/general/chargemode_config/pv_charging/switch_off_delay",r))},{help:a(()=>e[25]||(e[25]=[t(" Die Abschaltschwelle muss für die hier angegebene Zeit dauerhaft unterschritten werden, bevor ein Ladevorgang beendet wird.",-1),o("br",null,null,-1),t(" Wenn ein Ladevorgang aktiv ist und auf PV-Laden umgeschaltet wird, wird die Ladung sofort beendet, wenn die Abschaltschwelle unterschritten wird.",-1),o("br",null,null,-1),t(" Wenn die Pufferzeit zwischen zwei automatischen Phasenumschaltungen abgelaufen ist, wird die hier eingestellte Wartezeit abgewartet. Wenn die Pufferzeit zwischen zwei Umschaltungen noch nicht erreicht ist, wird die längere der beiden Zeiten abgewartet: entweder die verbleibende Pufferzeit oder die Wartezeit. ",-1)])),_:1},8,["model-value"]),e[29]||(e[29]=o("hr",null,null,-1)),i(l,{title:"Regelpunkt Einspeisegrenze",min:0,step:.05,unit:"kW",required:"","model-value":n.$store.state.mqtt["openWB/general/chargemode_config/pv_charging/feed_in_yield"]/1e3,"onUpdate:modelValue":e[7]||(e[7]=r=>n.updateState("openWB/general/chargemode_config/pv_charging/feed_in_yield",r*1e3))},{help:a(()=>e[26]||(e[26]=[t(" Ein Wert größer 0kW bewirkt, dass weniger PV-Leistung zum Laden benutzt wird.",-1),o("br",null,null,-1),t(" 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).",-1),o("br",null,null,-1),t(' 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).',-1),o("br",null,null,-1),t(' 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.',-1),o("br",null,null,-1),t(" 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)])),_:1},8,["model-value"])]))]),_:1}),i(f,{title:"Speicher-Beachtung"},{default:a(()=>[n.$store.state.mqtt["openWB/general/extern"]===!0?(g(),p("div",R,[i(m,{subtype:"info"},{default:a(()=>e[30]||(e[30]=[t(' Diese Einstellungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. ',-1)])),_:1,__:[30]})])):(g(),p("div",$,[i(c,{modelValue:s.batMode,"onUpdate:modelValue":e[8]||(e[8]=r=>s.batMode=r),title:"Laden mit Überschuss",buttons:[{buttonValue:"ev_mode"},{buttonValue:"bat_mode"},{buttonValue:"min_soc_bat_mode"}]},{"label-ev_mode":a(()=>[i(h,{icon:["fas","car-side"]}),e[31]||(e[31]=t(" Fahrzeuge ",-1))]),"label-bat_mode":a(()=>[i(h,{icon:["fas","fa-car-battery"]}),e[32]||(e[32]=t(" Speicher ",-1))]),"label-min_soc_bat_mode":a(()=>[i(h,{icon:["fas","fa-battery-half"]}),e[33]||(e[33]=t(" Mindest-SoC des Speichers ",-1))]),help:a(()=>[e[40]||(e[40]=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)),o("p",null,[e[34]||(e[34]=t(' Bei Auswahl " ',-1)),i(h,{icon:["fas","car-side"]}),e[35]||(e[35]=t(' 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. ',-1))]),o("p",null,[e[36]||(e[36]=t(' Bei Auswahl " ',-1)),i(h,{icon:["fas","fa-car-battery"]}),e[37]||(e[37]=t(' 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. ',-1))]),o("p",null,[e[38]||(e[38]=t(' Bei Auswahl " ',-1)),i(h,{icon:["fas","fa-battery-half"]}),e[39]||(e[39]=t(' 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))])]),_:1},8,["modelValue"]),s.batMode==="min_soc_bat_mode"?(g(),p("div",A,[i(w,{title:"Mindest-SoC des Speichers",min:0,max:100,step:1,unit:"%",required:"","model-value":n.$store.state.mqtt["openWB/general/chargemode_config/pv_charging/min_bat_soc"],"onUpdate:modelValue":e[9]||(e[9]=r=>n.updateState("openWB/general/chargemode_config/pv_charging/min_bat_soc",r))},null,8,["model-value"]),i(_,null,{default:a(()=>e[41]||(e[41]=[t(" Speicher-SoC unterhalb Mindest-SoC ",-1)])),_:1,__:[41]}),i(c,{title:"Ladeleistung für Speicher reservieren",buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":n.$store.state.mqtt["openWB/general/chargemode_config/pv_charging/bat_power_reserve_active"],"onUpdate:modelValue":e[10]||(e[10]=r=>n.updateState("openWB/general/chargemode_config/pv_charging/bat_power_reserve_active",r))},{help:a(()=>e[42]||(e[42]=[t(" ACHTUNG: Der hier eingestellte Wert darf die maximale Ladeleistung des Speichers nicht überschreiten.",-1),o("br",null,null,-1),t(" Wird der Mindest-SoC des Speichers nicht erreicht, wird der Speicher mit der hier eingestellten Leistung geladen. Mit dem verbleibenden Überschuss werden die Fahrzeuge geladen. ",-1)])),_:1},8,["model-value"]),n.$store.state.mqtt["openWB/general/chargemode_config/pv_charging/bat_power_reserve_active"]?(g(),v(l,{key:0,title:"Reserve Ladeleistung",min:.1,step:.1,unit:"kW",required:"","model-value":n.$store.state.mqtt["openWB/general/chargemode_config/pv_charging/bat_power_reserve"]/1e3,"onUpdate:modelValue":e[11]||(e[11]=r=>n.updateState("openWB/general/chargemode_config/pv_charging/bat_power_reserve",r*1e3))},null,8,["model-value"])):b("",!0),i(_,null,{default:a(()=>e[43]||(e[43]=[t(" Speicher-SoC oberhalb Mindest-SoC ",-1)])),_:1,__:[43]}),i(c,{title:"Entladung des Speichers erlauben",buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":n.$store.state.mqtt["openWB/general/chargemode_config/pv_charging/bat_power_discharge_active"],"onUpdate:modelValue":e[12]||(e[12]=r=>n.updateState("openWB/general/chargemode_config/pv_charging/bat_power_discharge_active",r))},{help:a(()=>e[44]||(e[44]=[t(" 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)])),_:1},8,["model-value"]),n.$store.state.mqtt["openWB/general/chargemode_config/pv_charging/bat_power_discharge_active"]?(g(),v(l,{key:1,title:"Erlaubte Entladeleistung",min:.1,step:.1,unit:"kW",required:"","model-value":n.$store.state.mqtt["openWB/general/chargemode_config/pv_charging/bat_power_discharge"]/1e3,"onUpdate:modelValue":e[13]||(e[13]=r=>n.updateState("openWB/general/chargemode_config/pv_charging/bat_power_discharge",r*1e3))},null,8,["model-value"])):b("",!0)])):b("",!0)]))]),_:1}),i(W,{"form-name":"pvChargeConfigForm",onSave:e[14]||(e[14]=r=>n.$emit("save")),onReset:e[15]||(e[15]=r=>n.$emit("reset")),onDefaults:e[16]||(e[16]=r=>n.$emit("defaults"))})])])}const K=E(q,[["render",F],["__file","/opt/openWB-dev/openwb-ui-settings/src/views/PVChargeConfig.vue"]]);export{K as default};
diff --git a/web/settings/assets/Status-330e1d12.js b/web/settings/assets/Status-67426cfa.js
similarity index 99%
rename from web/settings/assets/Status-330e1d12.js
rename to web/settings/assets/Status-67426cfa.js
index fa658c68a2..a6e5b739aa 100644
--- a/web/settings/assets/Status-330e1d12.js
+++ b/web/settings/assets/Status-67426cfa.js
@@ -1 +1 @@
-import{C as k}from"./index-d6a3d34f.js";import{l as C,O as z,P as V,c as M,f as G,F as B,Q as A,R as Z,S as H,T as R,U as F,V as K,W as Q,X as U,Y as J,Z as P,_ as I,$ as X,n as Y,o as tt,p as et,q as st,a0 as ot,a1 as at}from"./vendor-fortawesome-855c7d62.js";import{_ as w,u as n,l as i,x as m,D as O,E as r,A as t,m as h,G as c,B as g,F as a,z as T,p as S,q as rt,M as x,N as W}from"./vendor-cc4615be.js";import{C as it,p as nt,a as ct,L as lt,b as dt,P as pt,c as ut,T as mt,i as gt,d as ht,e as _t}from"./vendor-chartjs-2bc02c38.js";import"./vendor-bootstrap-09a7ccd9.js";import"./vendor-jquery-13cad4c1.js";import"./vendor-axios-3dcaeec5.js";import"./vendor-sortablejs-7c09d6dd.js";import"./vendor-luxon-cc86f6dc.js";C.add(z,V,M,G);const bt={name:"StatusCard",components:{FontAwesomeIcon:B},props:{subtype:{type:String,required:!0},state:{type:Number,required:!1,default:0},stateMessage:{type:String,required:!1,default:void 0},componentId:{type:Number,required:!1,default:void 0}},computed:{stateClass(){switch(this.state){case 0:return"success";case 1:return"warning";case 2:return"danger";default:return"dark"}},stateIcon(){switch(this.state){case 0:return["fas","check-circle"];case 1:return["fas","exclamation-triangle"];case 2:return["fas","times-circle"];default:return["fas","question-circle"]}},stateLabel(){switch(this.state){case 0:return"OK";case 1:return"Warnung";case 2:return"Fehler";default:return"Unbekannt"}}}},ft={class:"container"},vt={class:"row justify-content-end"},yt={key:0,class:"col px-0"},Tt={style:{"white-space":"pre-wrap"}},wt={key:1,class:"col col-auto pr-0"},xt={class:"text-right"};function Wt(s,o,l,_,y,e){const u=n("font-awesome-icon"),d=n("openwb-base-avatar"),p=n("openwb-base-alert"),q=n("openwb-base-card");return i(),m(q,{subtype:l.subtype,collapsible:!0,collapsed:!0},O({header:r(()=>[S(s.$slots,"header-left")]),actions:r(()=>[S(s.$slots,"header-right"),c(d,{class:rt(["ml-2",`bg-${e.stateClass}`]),title:e.stateLabel},{default:r(()=>[c(u,{icon:e.stateIcon},null,8,["icon"])]),_:1},8,["class","title"])]),default:r(()=>[S(s.$slots,"default")]),_:2},[l.componentId!==void 0||l.stateMessage?{name:"footer",fn:r(()=>[t("div",ft,[t("div",vt,[l.stateMessage?(i(),h("div",yt,[c(p,{subtype:e.stateClass},{default:r(()=>[c(u,{icon:e.stateIcon},null,8,["icon"]),o[0]||(o[0]=g(" Modulmeldung: ",-1)),t("span",Tt,a(l.stateMessage),1)]),_:1,__:[0]},8,["subtype"])])):T("",!0),l.componentId!==void 0?(i(),h("div",wt,[t("div",xt,"ID: "+a(l.componentId),1)])):T("",!0)])])]),key:"0"}:void 0]),1032,["subtype"])}const N=w(bt,[["render",Wt],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/status/StatusCard.vue"]]);C.add(A);const kt={name:"ChargePointSumCard",components:{StatusCard:N,FontAwesomeIcon:B},mixins:[k],data(){return{mqttTopicsToSubscribe:["openWB/chargepoint/get/power","openWB/chargepoint/get/imported","openWB/chargepoint/get/exported","openWB/chargepoint/get/daily_imported","openWB/chargepoint/get/daily_exported"]}},computed:{baseTopic:{get(){return"openWB/chargepoint"}}}},Ct={class:"text-right"},Bt={class:"row"},Nt={class:"col text-right text-monospace"},qt={class:"row"},$t={class:"col-4 text-right text-monospace"},St={class:"col-4 text-right text-monospace"},At={class:"row"},Pt={class:"col-4 text-right text-monospace"},It={class:"col-4 text-right text-monospace"};function Ot(s,o,l,_,y,e){const u=n("font-awesome-icon"),d=n("openwb-base-card"),p=n("status-card");return i(),m(p,{subtype:"primary"},{"header-left":r(()=>[c(u,{icon:["fas","charging-station"]}),o[0]||(o[0]=g(" Alle Ladepunkte ",-1))]),"header-right":r(()=>[t("span",Ct,a(s.formatNumberTopic(e.baseTopic+"/get/power",3,3,.001))+" kW ",1)]),default:r(()=>[c(d,{subtype:"white","body-bg":"white",class:"py-1 mb-2"},{default:r(()=>[o[1]||(o[1]=t("div",{class:"row py-2"},[t("div",{class:"col font-weight-bold"},"Ladevorgang"),t("div",{class:"col text-right"},"Leistung")],-1)),t("div",Bt,[t("div",Nt,a(s.formatNumberTopic(e.baseTopic+"/get/power",3,3,.001)),1)])]),_:1,__:[1]}),c(d,{subtype:"white","body-bg":"white",class:"py-1 mb-2",title:"Zählerstände"},{default:r(()=>[o[4]||(o[4]=t("div",{class:"row justify-content-end"},[t("div",{class:"col-4 text-right"},"Geladen"),t("div",{class:"col-4 text-right"},"Entladen")],-1)),t("div",qt,[o[2]||(o[2]=t("div",{class:"col text-right"},"Heute",-1)),t("div",$t,a(s.formatNumberTopic(e.baseTopic+"/get/daily_imported",3,3,.001)+" kWh"),1),t("div",St,a(s.formatNumberTopic(e.baseTopic+"/get/daily_exported",3,3,.001)+" kWh"),1)]),t("div",At,[o[3]||(o[3]=t("div",{class:"col text-right"},"Gesamt",-1)),t("div",Pt,a(s.formatNumberTopic(e.baseTopic+"/get/imported",3,3,.001)+" kWh"),1),t("div",It,a(s.formatNumberTopic(e.baseTopic+"/get/exported",3,3,.001)+" kWh"),1)])]),_:1,__:[4]})]),_:1})}const Lt=w(kt,[["render",Ot],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/status/ChargePointSumCard.vue"]]);C.add(A,Z,H,R,F,K,Q,U);const jt={name:"ChargePointCard",components:{StatusCard:N,FontAwesomeIcon:B},mixins:[k],props:{installedChargePointKey:{type:String,required:!0},installedChargePoint:{type:Object,required:!0}},data(){return{mqttTopicsToSubscribe:[`openWB/chargepoint/${this.installedChargePoint.id}/get/+`,`openWB/chargepoint/${this.installedChargePoint.id}/get/connected_vehicle/info`,`openWB/chargepoint/${this.installedChargePoint.id}/set/+`,`openWB/internal_chargepoint/${this.installedChargePoint.id}/data/phases_to_use`]}},computed:{chargePointIndex:{get(){return this.installedChargePoint.id}},baseTopic:{get(){return"openWB/chargepoint/"+this.chargePointIndex}},chargingStatus:{get(){let s=this.$store.state.mqtt[this.baseTopic+"/get/plug_state"],o=this.$store.state.mqtt[this.baseTopic+"/get/charge_state"];return s==1&&o==1?{icon:["fas","plug-circle-bolt"],text:"Fahrzeug angesteckt, Ladevorgang aktiv"}:s==1?{icon:["fas","plug-circle-check"],text:"Fahrzeug angesteckt, kein Ladevorgang aktiv"}:{icon:["fas","plug-circle-minus"],text:"Kein Fahrzeug angesteckt"}}}}},Dt={class:"row py-2"},Et={class:"col text-right"},zt={style:{"white-space":"pre-wrap"}},Vt={class:"row"},Mt={class:"col text-right text-monospace"},Gt={class:"col text-right text-monospace"},Zt={class:"row"},Ht={key:0,class:"col text-right text-monospace"},Rt={key:1,class:"col text-right text-monospace"},Ft={class:"col text-right text-monospace"},Kt={class:"row"},Qt={class:"col-4 text-right text-monospace"},Ut={class:"col-4 text-right text-monospace"},Jt={class:"row"},Xt={class:"col-4 text-right text-monospace"},Yt={class:"col-4 text-right text-monospace"},te={class:"row"},ee={class:"col text-right text-monospace"},se={class:"col text-right text-monospace"},oe={class:"col text-right text-monospace"},ae={class:"row"},re={class:"col text-right text-monospace"},ie={class:"col text-right text-monospace"},ne={class:"col text-right text-monospace"},ce={class:"row"},le={class:"col text-right text-monospace"},de={class:"col text-right text-monospace"},pe={class:"col text-right text-monospace"},ue={class:"row"},me={class:"col text-right text-monospace"},ge={class:"col text-right text-monospace"},he={class:"col text-right text-monospace"},_e={class:"row"},be={class:"col text-center text-monospace"};function fe(s,o,l,_,y,e){const u=n("font-awesome-icon"),d=n("openwb-base-alert"),p=n("openwb-base-card"),q=n("status-card");return i(),m(q,{subtype:"primary","component-id":e.chargePointIndex,state:s.$store.state.mqtt[e.baseTopic+"/get/fault_state"],"state-message":s.$store.state.mqtt[e.baseTopic+"/get/fault_str"]},{"header-left":r(()=>[c(u,{icon:["fas","charging-station"]}),g(" "+a(l.installedChargePoint.name),1)]),"header-right":r(()=>[g(a(s.formatNumberTopic(e.baseTopic+"/get/power",3,3,.001))+" kW",1)]),default:r(()=>[c(p,{subtype:"white","body-bg":"white",class:"py-1 mb-2"},{default:r(()=>[t("div",Dt,[o[0]||(o[0]=t("div",{class:"col col-auto font-weight-bold"},"Status",-1)),t("div",Et,[c(u,{icon:e.chargingStatus.icon,title:e.chargingStatus.text},null,8,["icon","title"]),g(" "+a(e.chargingStatus.text),1)])]),c(d,{subtype:"info"},{default:r(()=>[o[1]||(o[1]=g(" Statusmeldung: ",-1)),t("span",zt,a(s.$store.state.mqtt[e.baseTopic+"/get/state_str"]),1)]),_:1,__:[1]}),t("div",null," max. Ladeleistung: "+a((s.max_power=s.formatNumberTopic(e.baseTopic+"/get/max_evse_current",0))=="-"?s.max_power:Math.floor(s.max_power*3*230/1e3))+" kW ",1)]),_:1}),c(p,{subtype:"white","body-bg":"white",class:"py-1 mb-2",title:"Ladevorgang"},{default:r(()=>[o[2]||(o[2]=t("div",{class:"row"},[t("div",{class:"col text-right"},"Ladestrom Vorgabe"),t("div",{class:"col text-right"},"Leistung")],-1)),t("div",Vt,[t("div",Mt,a(s.formatNumberTopic(e.baseTopic+"/set/current",2))+" A",1),t("div",Gt,a(s.formatNumberTopic(e.baseTopic+"/get/power",3,3,.001))+" kW ",1)]),o[3]||(o[3]=t("div",{class:"row"},[t("div",{class:"col text-right"},"Phasen Vorgabe"),t("div",{class:"col text-right"},"Phasen Aktuell")],-1)),t("div",Zt,[s.$store.state.mqtt["openWB/general/extern"]===!0?(i(),h("div",Ht,a(s.formatNumberTopic("openWB/internal_chargepoint/"+e.chargePointIndex+"/data/phases_to_use")),1)):(i(),h("div",Rt,a(s.formatNumberTopic(e.baseTopic+"/set/phases_to_use")),1)),t("div",Ft,a(s.formatNumberTopic(e.baseTopic+"/get/phases_in_use")),1)])]),_:1,__:[2,3]}),c(p,{subtype:"white","body-bg":"white",class:"py-1 mb-2",title:"Zählerstände"},{default:r(()=>[o[6]||(o[6]=t("div",{class:"row justify-content-end"},[t("div",{class:"col-4 text-right"},"Geladen"),t("div",{class:"col-4 text-right"},"Entladen")],-1)),t("div",Kt,[o[4]||(o[4]=t("div",{class:"col text-right"},"Heute",-1)),t("div",Qt,a(s.formatNumberTopic(e.baseTopic+"/get/daily_imported",3,3,.001))+" kWh ",1),t("div",Ut,a(s.formatNumberTopic(e.baseTopic+"/get/daily_exported",3,3,.001))+" kWh ",1)]),t("div",Jt,[o[5]||(o[5]=t("div",{class:"col text-right"},"Gesamt",-1)),t("div",Xt,a(s.formatNumberTopic(e.baseTopic+"/get/imported",3,3,.001))+" kWh ",1),t("div",Yt,a(s.formatNumberTopic(e.baseTopic+"/get/exported",3,3,.001))+" kWh ",1)])]),_:1,__:[6]}),c(p,{subtype:"white","body-bg":"white",class:"py-1 mb-2",title:"Werte pro Phase"},{default:r(()=>[t("div",te,[o[7]||(o[7]=t("div",{class:"col-md-4 pr-1 text-center text-md-right"},"Spannung [V]",-1)),t("div",ee,a(s.formatPhaseArrayNumberTopic(e.baseTopic+"/get/voltages",1)[0]),1),t("div",se,a(s.formatPhaseArrayNumberTopic(e.baseTopic+"/get/voltages",1)[1]),1),t("div",oe,a(s.formatPhaseArrayNumberTopic(e.baseTopic+"/get/voltages",1)[2]),1)]),t("div",ae,[o[8]||(o[8]=t("div",{class:"col-md-4 pr-1 text-center text-md-right"},"Strom [A]",-1)),t("div",re,a(s.formatPhaseArrayNumberTopic(e.baseTopic+"/get/currents",2)[0]),1),t("div",ie,a(s.formatPhaseArrayNumberTopic(e.baseTopic+"/get/currents",2)[1]),1),t("div",ne,a(s.formatPhaseArrayNumberTopic(e.baseTopic+"/get/currents",2)[2]),1)]),t("div",ce,[o[9]||(o[9]=t("div",{class:"col-md-4 pr-1 text-center text-md-right"},"Wirkleistung [kW]",-1)),t("div",le,a(s.formatPhaseArrayNumberTopic(e.baseTopic+"/get/powers",3,3,.001)[0]),1),t("div",de,a(s.formatPhaseArrayNumberTopic(e.baseTopic+"/get/powers",3,3,.001)[1]),1),t("div",pe,a(s.formatPhaseArrayNumberTopic(e.baseTopic+"/get/powers",3,3,.001)[2]),1)]),t("div",ue,[o[10]||(o[10]=t("div",{class:"col-md-4 pr-1 text-center text-md-right"},"Leistungsfaktor",-1)),t("div",me,a(s.formatPhaseArrayNumberTopic(e.baseTopic+"/get/power_factors",2)[0]),1),t("div",ge,a(s.formatPhaseArrayNumberTopic(e.baseTopic+"/get/power_factors",2)[1]),1),t("div",he,a(s.formatPhaseArrayNumberTopic(e.baseTopic+"/get/power_factors",2)[2]),1)]),t("div",_e,[o[11]||(o[11]=t("div",{class:"col-md-4 pr-1 text-center text-md-right"},"Netzfrequenz",-1)),t("div",be,a(s.formatNumberTopic(e.baseTopic+"/get/frequency",3))+" Hz ",1)])]),_:1})]),_:1},8,["component-id","state","state-message"])}const ve=w(jt,[["render",fe],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/status/ChargePointCard.vue"]]);C.add(J);const ye={name:"CounterCard",components:{StatusCard:N,FontAwesomeIcon:B},mixins:[k],props:{counter:{type:Object,required:!0}},data(){return{mqttTopicsToSubscribe:[`openWB/counter/${this.counter.id}/get/+`]}},computed:{baseTopic:{get(){return"openWB/counter/"+this.counter.id}}}},Te={class:"row"},we={class:"col text-right text-monospace pl-0"},xe={class:"col text-right text-monospace pl-0"},We={class:"row"},ke={class:"col text-right text-monospace pl-0"},Ce={class:"col text-right text-monospace pl-0"},Be={class:"row"},Ne={class:"col"},qe={class:"row"},$e={class:"col text-right text-monospace pl-0"},Se={class:"col text-right text-monospace pl-0"},Ae={class:"col text-right text-monospace pl-0"},Pe={class:"row"},Ie={class:"col"},Oe={class:"row"},Le={class:"col text-right text-monospace pl-0"},je={class:"col text-right text-monospace pl-0"},De={class:"col text-right text-monospace pl-0"},Ee={class:"row"},ze={class:"col"},Ve={class:"row"},Me={class:"col text-right text-monospace pl-0"},Ge={class:"col text-right text-monospace pl-0"},Ze={class:"col text-right text-monospace pl-0"},He={class:"row"},Re={class:"col"},Fe={class:"row"},Ke={class:"col text-right text-monospace pl-0"},Qe={class:"col text-right text-monospace pl-0"},Ue={class:"col text-right text-monospace pl-0"};function Je(s,o,l,_,y,e){const u=n("font-awesome-icon"),d=n("openwb-base-card"),p=n("status-card");return i(),m(p,{subtype:"danger","component-id":l.counter.id,state:s.$store.state.mqtt[e.baseTopic+"/get/fault_state"],"state-message":s.$store.state.mqtt[e.baseTopic+"/get/fault_str"]},{"header-left":r(()=>[c(u,{icon:["fas","gauge-high"]}),g(" "+a(l.counter.name),1)]),"header-right":r(()=>[g(a(s.formatNumberTopic(e.baseTopic+"/get/power",3,3,.001))+" kW",1)]),default:r(()=>[c(d,{title:"Aktuelle Werte",subtype:"white","body-bg":"white",class:"py-1 mb-2"},{default:r(()=>[o[0]||(o[0]=t("div",{class:"row"},[t("div",{class:"col-6 text-right"},"Leistung"),t("div",{class:"col-6 text-right"},"Netzfrequenz")],-1)),t("div",Te,[t("div",we,a(s.formatNumberTopic(e.baseTopic+"/get/power",3,3,.001)+" kW"),1),t("div",xe,a(s.formatNumberTopic(e.baseTopic+"/get/frequency",3)+" Hz"),1)])]),_:1,__:[0]}),c(d,{title:"Zählerstände",subtype:"white","body-bg":"white",class:"py-1 mb-2"},{default:r(()=>[o[1]||(o[1]=t("div",{class:"row"},[t("div",{class:"col-6 text-right"},"Export"),t("div",{class:"col-6 text-right"},"Import")],-1)),t("div",We,[t("div",ke,a(s.formatNumberTopic(e.baseTopic+"/get/exported",3,3,.001)+" kWh"),1),t("div",Ce,a(s.formatNumberTopic(e.baseTopic+"/get/imported",3,3,.001)+" kWh"),1)])]),_:1,__:[1]}),c(d,{title:"Werte pro Phase",subtype:"white","body-bg":"white",class:"py-1 mb-2"},{default:r(()=>[t("div",Be,[o[2]||(o[2]=t("div",{class:"col-md-4 pr-0 text-center text-md-right"},"Spannung [V]",-1)),t("div",Ne,[t("div",qe,[t("div",$e,a(s.formatPhaseArrayNumberTopic(e.baseTopic+"/get/voltages",1)[0]),1),t("div",Se,a(s.formatPhaseArrayNumberTopic(e.baseTopic+"/get/voltages",1)[1]),1),t("div",Ae,a(s.formatPhaseArrayNumberTopic(e.baseTopic+"/get/voltages",1)[2]),1)])])]),t("div",Pe,[o[3]||(o[3]=t("div",{class:"col-md-4 pr-0 text-center text-md-right"},"Strom [A]",-1)),t("div",Ie,[t("div",Oe,[t("div",Le,a(s.formatPhaseArrayNumberTopic(e.baseTopic+"/get/currents",2)[0]),1),t("div",je,a(s.formatPhaseArrayNumberTopic(e.baseTopic+"/get/currents",2)[1]),1),t("div",De,a(s.formatPhaseArrayNumberTopic(e.baseTopic+"/get/currents",2)[2]),1)])])]),t("div",Ee,[o[4]||(o[4]=t("div",{class:"col-md-4 pr-0 text-center text-md-right"},"Wirkleistung [kW]",-1)),t("div",ze,[t("div",Ve,[t("div",Me,a(s.formatPhaseArrayNumberTopic(e.baseTopic+"/get/powers",3,3,.001)[0]),1),t("div",Ge,a(s.formatPhaseArrayNumberTopic(e.baseTopic+"/get/powers",3,3,.001)[1]),1),t("div",Ze,a(s.formatPhaseArrayNumberTopic(e.baseTopic+"/get/powers",3,3,.001)[2]),1)])])]),t("div",He,[o[5]||(o[5]=t("div",{class:"col-md-4 pr-0 text-center text-md-right"},"Leistungsfaktor",-1)),t("div",Re,[t("div",Fe,[t("div",Ke,a(s.formatPhaseArrayNumberTopic(e.baseTopic+"/get/power_factors",2)[0]),1),t("div",Qe,a(s.formatPhaseArrayNumberTopic(e.baseTopic+"/get/power_factors",2)[1]),1),t("div",Ue,a(s.formatPhaseArrayNumberTopic(e.baseTopic+"/get/power_factors",2)[2]),1)])])])]),_:1})]),_:1},8,["component-id","state","state-message"])}const Xe=w(ye,[["render",Je],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/status/CounterCard.vue"]]);C.add(P);const Ye={name:"InverterSumCard",components:{StatusCard:N,FontAwesomeIcon:B},mixins:[k],data(){return{mqttTopicsToSubscribe:["openWB/pv/get/+"]}},computed:{baseTopic:{get(){return"openWB/pv"}}}},ts={class:"row"},es={class:"col text-right text-monospace"},ss={class:"col text-right text-monospace"},os={class:"row"},as={class:"col text-right text-monospace"},rs={class:"col text-right text-monospace"},is={class:"col text-right text-monospace"};function ns(s,o,l,_,y,e){const u=n("font-awesome-icon"),d=n("openwb-base-card"),p=n("status-card");return i(),m(p,{subtype:"success",state:s.$store.state.mqtt[e.baseTopic+"/get/fault_state"],"state-message":s.$store.state.mqtt[e.baseTopic+"/get/fault_str"]},{"header-left":r(()=>[c(u,{icon:["fas","solar-panel"]}),o[0]||(o[0]=g(" Alle Wechselrichter ",-1))]),"header-right":r(()=>[g(a(s.formatNumberTopic(e.baseTopic+"/get/power",3,3,.001))+" kW",1)]),default:r(()=>[c(d,{title:"Aktuelle Werte",subtype:"white","body-bg":"white",class:"py-1 mb-2"},{default:r(()=>[o[1]||(o[1]=t("div",{class:"row"},[t("div",{class:"col text-right"},"Leistung"),t("div",{class:"col text-right"},"Zählerstand")],-1)),t("div",ts,[t("div",es,a(s.formatNumberTopic(e.baseTopic+"/get/power",3,3,.001))+" kW ",1),t("div",ss,a(s.formatNumberTopic(e.baseTopic+"/get/exported",3,3,.001))+" kWh ",1)])]),_:1,__:[1]}),c(d,{title:"Erträge",subtype:"white","body-bg":"white",class:"py-1 mb-2"},{default:r(()=>[o[2]||(o[2]=t("div",{class:"row"},[t("div",{class:"col text-right"},"Heute"),t("div",{class:"col text-right"},"Monat"),t("div",{class:"col text-right"},"Jahr")],-1)),t("div",os,[t("div",as,a(s.formatNumberTopic(e.baseTopic+"/get/daily_exported",3,3,.001))+" kWh ",1),t("div",rs,a(s.formatNumberTopic(e.baseTopic+"/get/monthly_exported",1,1,.001))+" kWh ",1),t("div",is,a(s.formatNumberTopic(e.baseTopic+"/get/yearly_exported",0,0,.001))+" kWh ",1)])]),_:1,__:[2]})]),_:1},8,["state","state-message"])}const cs=w(Ye,[["render",ns],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/status/InverterSumCard.vue"]]);C.add(P);const ls={name:"InverterCard",components:{StatusCard:N,FontAwesomeIcon:B},mixins:[k],props:{inverter:{type:Object,required:!0}},data(){return{mqttTopicsToSubscribe:[`openWB/pv/${this.inverter.id}/get/+`]}},computed:{baseTopic:{get(){return"openWB/pv/"+this.inverter.id}}}},ds={class:"row"},ps={class:"col text-right text-monospace"},us={class:"col text-right text-monospace"},ms={class:"row"},gs={class:"col text-right text-monospace"},hs={class:"col text-right text-monospace"},_s={class:"col text-right text-monospace"},bs={class:"row"},fs={class:"col"},vs={class:"row"},ys={class:"col text-right text-monospace pl-0"},Ts={class:"col text-right text-monospace pl-0"},ws={class:"col text-right text-monospace pl-0"};function xs(s,o,l,_,y,e){const u=n("font-awesome-icon"),d=n("openwb-base-card"),p=n("status-card");return i(),m(p,{subtype:"success","component-id":l.inverter.id,state:s.$store.state.mqtt[e.baseTopic+"/get/fault_state"],"state-message":s.$store.state.mqtt[e.baseTopic+"/get/fault_str"]},{"header-left":r(()=>[c(u,{icon:["fas","solar-panel"]}),g(" "+a(l.inverter.name),1)]),"header-right":r(()=>[g(a(s.formatNumberTopic(e.baseTopic+"/get/power",3,3,.001))+" kW",1)]),default:r(()=>[c(d,{title:"Aktuelle Werte",subtype:"white","body-bg":"white",class:"py-1 mb-2"},{default:r(()=>[o[0]||(o[0]=t("div",{class:"row"},[t("div",{class:"col text-right"},"Leistung"),t("div",{class:"col text-right"},"Zählerstand")],-1)),t("div",ds,[t("div",ps,a(s.formatNumberTopic(e.baseTopic+"/get/power",3,3,.001))+" kW ",1),t("div",us,a(s.formatNumberTopic(e.baseTopic+"/get/exported",3,3,.001))+" kWh ",1)])]),_:1,__:[0]}),c(d,{title:"Erträge",subtype:"white","body-bg":"white",class:"py-1 mb-2"},{default:r(()=>[o[1]||(o[1]=t("div",{class:"row"},[t("div",{class:"col text-right"},"Heute"),t("div",{class:"col text-right"},"Monat"),t("div",{class:"col text-right"},"Jahr")],-1)),t("div",ms,[t("div",gs,a(s.formatNumberTopic(e.baseTopic+"/get/daily_exported",3,3,.001))+" kWh ",1),t("div",hs,a(s.formatNumberTopic(e.baseTopic+"/get/monthly_exported",1,1,.001))+" kWh ",1),t("div",_s,a(s.formatNumberTopic(e.baseTopic+"/get/yearly_exported",0,0,.001))+" kWh ",1)])]),_:1,__:[1]}),c(d,{title:"Werte pro Phase",subtype:"white","body-bg":"white",class:"py-1 mb-2"},{default:r(()=>[t("div",bs,[o[2]||(o[2]=t("div",{class:"col-md-4 pr-0 text-center text-md-right"},"Strom [A]",-1)),t("div",fs,[t("div",vs,[t("div",ys,a(s.formatPhaseArrayNumberTopic(e.baseTopic+"/get/currents",2)[0]),1),t("div",Ts,a(s.formatPhaseArrayNumberTopic(e.baseTopic+"/get/currents",2)[1]),1),t("div",ws,a(s.formatPhaseArrayNumberTopic(e.baseTopic+"/get/currents",2)[2]),1)])])])]),_:1})]),_:1},8,["component-id","state","state-message"])}const Ws=w(ls,[["render",xs],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/status/InverterCard.vue"]]);C.add(I);const ks={name:"BatterySumCard",components:{StatusCard:N,FontAwesomeIcon:B},mixins:[k],data(){return{mqttTopicsToSubscribe:["openWB/bat/get/+"]}},computed:{baseTopic:{get(){return"openWB/bat"}}}},Cs={class:"row"},Bs={class:"col text-right text-monospace pl-0"},Ns={class:"col text-right text-monospace pl-0"},qs={class:"row"},$s={class:"col text-right text-monospace"},Ss={class:"col text-right text-monospace"},As={class:"row"},Ps={class:"col text-right text-monospace"},Is={class:"col text-right text-monospace"};function Os(s,o,l,_,y,e){const u=n("font-awesome-icon"),d=n("openwb-base-card"),p=n("status-card");return i(),m(p,{subtype:"warning",state:s.$store.state.mqtt[e.baseTopic+"/get/fault_state"],"state-message":s.$store.state.mqtt[e.baseTopic+"/get/fault_str"]},{"header-left":r(()=>[c(u,{icon:["fas","car-battery"]}),o[0]||(o[0]=g(" Alle Speicher ",-1))]),"header-right":r(()=>[g(a(s.formatNumberTopic(e.baseTopic+"/get/power",1,1,.001))+" kW / "+a(s.$store.state.mqtt[e.baseTopic+"/get/soc"])+" % ",1)]),default:r(()=>[c(d,{title:"Aktuelle Werte",subtype:"white","body-bg":"white",class:"py-1 mb-2"},{default:r(()=>[o[1]||(o[1]=t("div",{class:"row"},[t("div",{class:"col-6 text-right"},"Leistung"),t("div",{class:"col-6 text-right"},"Ladestand")],-1)),t("div",Cs,[t("div",Bs,a(s.formatNumberTopic(e.baseTopic+"/get/power",3,3,.001))+" kW ",1),t("div",Ns,a(s.$store.state.mqtt[e.baseTopic+"/get/soc"])+" %",1)])]),_:1,__:[1]}),c(d,{title:"Zählerstände",subtype:"white","body-bg":"white",class:"py-1 mb-2"},{default:r(()=>[o[4]||(o[4]=t("div",{class:"row"},[t("div",{class:"col"}),t("div",{class:"col text-right"},"Geladen"),t("div",{class:"col text-right"},"Entladen")],-1)),t("div",qs,[o[2]||(o[2]=t("div",{class:"col text-right"},"Heute",-1)),t("div",$s,a(s.formatNumberTopic(e.baseTopic+"/get/daily_imported",3,3,.001))+" kWh ",1),t("div",Ss,a(s.formatNumberTopic(e.baseTopic+"/get/daily_exported",3,3,.001))+" kWh ",1)]),t("div",As,[o[3]||(o[3]=t("div",{class:"col text-right"},"Gesamt",-1)),t("div",Ps,a(s.formatNumberTopic(e.baseTopic+"/get/imported",3,3,.001))+" kWh ",1),t("div",Is,a(s.formatNumberTopic(e.baseTopic+"/get/exported",3,3,.001))+" kWh ",1)])]),_:1,__:[4]})]),_:1},8,["state","state-message"])}const Ls=w(ks,[["render",Os],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/status/BatterySumCard.vue"]]);C.add(I);const js={name:"BatteryCard",components:{StatusCard:N,FontAwesomeIcon:B},mixins:[k],props:{battery:{type:Object,required:!0}},data(){return{mqttTopicsToSubscribe:[`openWB/bat/${this.battery.id}/get/+`]}},computed:{baseTopic:{get(){return"openWB/bat/"+this.battery.id}}}},Ds={class:"row"},Es={class:"col text-right text-monospace pl-0"},zs={class:"col text-right text-monospace pl-0"},Vs={class:"row"},Ms={class:"col text-right text-monospace"},Gs={class:"col text-right text-monospace"},Zs={class:"row"},Hs={class:"col text-right text-monospace"},Rs={class:"col text-right text-monospace"},Fs={class:"row"},Ks={class:"col"},Qs={class:"row"},Us={class:"col text-right text-monospace pl-0"},Js={class:"col text-right text-monospace pl-0"},Xs={class:"col text-right text-monospace pl-0"};function Ys(s,o,l,_,y,e){const u=n("font-awesome-icon"),d=n("openwb-base-card"),p=n("status-card");return i(),m(p,{subtype:"warning","component-id":l.battery.id,state:s.$store.state.mqtt[e.baseTopic+"/get/fault_state"],"state-message":s.$store.state.mqtt[e.baseTopic+"/get/fault_str"]},{"header-left":r(()=>[c(u,{icon:["fas","car-battery"]}),g(" "+a(l.battery.name),1)]),"header-right":r(()=>[g(a(s.formatNumberTopic(e.baseTopic+"/get/power",1,1,.001))+" kW / "+a(s.$store.state.mqtt[e.baseTopic+"/get/soc"])+" % ",1)]),default:r(()=>[c(d,{title:"Aktuelle Werte",subtype:"white","body-bg":"white",class:"py-1 mb-2"},{default:r(()=>[o[0]||(o[0]=t("div",{class:"row"},[t("div",{class:"col-6 text-right"},"Leistung"),t("div",{class:"col-6 text-right"},"Ladestand")],-1)),t("div",Ds,[t("div",Es,a(s.formatNumberTopic(e.baseTopic+"/get/power",3,3,.001))+" kW ",1),t("div",zs,a(s.$store.state.mqtt[e.baseTopic+"/get/soc"])+" %",1)])]),_:1,__:[0]}),c(d,{title:"Zählerstände",subtype:"white","body-bg":"white",class:"py-1 mb-2"},{default:r(()=>[o[3]||(o[3]=t("div",{class:"row"},[t("div",{class:"col"}),t("div",{class:"col text-right"},"Geladen"),t("div",{class:"col text-right"},"Entladen")],-1)),t("div",Vs,[o[1]||(o[1]=t("div",{class:"col text-right"},"Heute",-1)),t("div",Ms,a(s.formatNumberTopic(e.baseTopic+"/get/daily_imported",3,3,.001))+" kWh ",1),t("div",Gs,a(s.formatNumberTopic(e.baseTopic+"/get/daily_exported",3,3,.001))+" kWh ",1)]),t("div",Zs,[o[2]||(o[2]=t("div",{class:"col text-right"},"Gesamt",-1)),t("div",Hs,a(s.formatNumberTopic(e.baseTopic+"/get/imported",3,3,.001))+" kWh ",1),t("div",Rs,a(s.formatNumberTopic(e.baseTopic+"/get/exported",3,3,.001))+" kWh ",1)])]),_:1,__:[3]}),c(d,{title:"Werte pro Phase",subtype:"white","body-bg":"white",class:"py-1 mb-2"},{default:r(()=>[t("div",Fs,[o[4]||(o[4]=t("div",{class:"col-md-4 pr-0 text-center text-md-right"},"Strom [A]",-1)),t("div",Ks,[t("div",Qs,[t("div",Us,a(s.formatPhaseArrayNumberTopic(e.baseTopic+"/get/currents",2)[0]),1),t("div",Js,a(s.formatPhaseArrayNumberTopic(e.baseTopic+"/get/currents",2)[1]),1),t("div",Xs,a(s.formatPhaseArrayNumberTopic(e.baseTopic+"/get/currents",2)[2]),1)])])])]),_:1})]),_:1},8,["component-id","state","state-message"])}const to=w(js,[["render",Ys],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/status/BatteryCard.vue"]]);C.add(X,Y,tt,et,st);const eo={name:"IoDeviceCard",components:{StatusCard:N,FontAwesomeIcon:B},mixins:[k],props:{ioDevice:{type:Object,required:!0}},data(){return{mqttTopicsToSubscribe:[`openWB/io/states/${this.ioDevice.id}/get/+`,"openWB/io/action/+/config","openWB/io/action/+/timestamp"],state:{true:{icon:["fas","square"],title:"Geschlossen",actionTitle:"Aktiv"},false:{icon:["far","square"],title:"Offen",actionTitle:"Inaktiv"}}}},computed:{baseTopic(){return`openWB/io/states/${this.ioDevice.id}`},hasDigitalInputs(){return Object.keys(this.$store.state.mqtt[`${this.baseTopic}/get/digital_input`]||{}).length>0},hasDigitalOutputs(){return Object.keys(this.$store.state.mqtt[`${this.baseTopic}/get/digital_output`]||{}).length>0},hasAnalogInputs(){return Object.keys(this.$store.state.mqtt[`${this.baseTopic}/get/analog_input`]||{}).length>0},hasAnalogOutputs(){return Object.keys(this.$store.state.mqtt[`${this.baseTopic}/get/analog_output`]||{}).length>0},digitalInputStates(){return this.$store.state.mqtt[`${this.baseTopic}/get/digital_input`]},digitalOutputStates(){return this.$store.state.mqtt[`${this.baseTopic}/get/digital_output`]},analogInputStates(){return this.$store.state.mqtt[`${this.baseTopic}/get/analog_input`]},analogOutputStates(){return this.$store.state.mqtt[`${this.baseTopic}/get/analog_output`]},ioActionConfigs(){return Object.fromEntries(Object.entries(this.getWildcardTopics("openWB/io/action/+/config")).filter(([,s])=>s.configuration.io_device===this.ioDevice.id))},ioActionState(){return s=>{const o=this.$store.state.mqtt[`openWB/io/action/${s}/timestamp`];return o&&new Date(o*1e3).toLocaleString()}}},methods:{getIcon(s){return this.state[s].icon},getTitle(s){return this.state[s].title},getActionTitle(s){return this.state[s].actionTitle}}},so={class:"col-auto"},oo={class:"col text-right"},ao={class:"row"},ro={class:"row"},io={class:"row"},no={class:"row"};function co(s,o,l,_,y,e){const u=n("font-awesome-icon"),d=n("openwb-base-alert"),p=n("openwb-base-card"),q=n("status-card");return i(),m(q,{subtype:"secondary",state:s.$store.state.mqtt[`${e.baseTopic}/get/fault_state`],"state-message":s.$store.state.mqtt[`${e.baseTopic}/get/fault_str`],"component-id":l.ioDevice.id},{"header-left":r(()=>[c(u,{icon:["fas","tower-broadcast"]}),g(" "+a(l.ioDevice.name),1)]),default:r(()=>[c(p,{title:"Zugehörige Aktionen",subtype:"white","body-bg":"white",class:"py-1 mb-2"},{default:r(()=>[Object.keys(e.ioActionConfigs).length===0?(i(),m(d,{key:0,subtype:"info",class:"mb-2"},{default:r(()=>o[0]||(o[0]=[g(" Es wurden noch keine Aktionen erstellt, welche dieses IO-Gerät als Signalquelle verwenden. ",-1)])),_:1,__:[0]})):(i(!0),h(W,{key:1},x(e.ioActionConfigs,(b,f)=>(i(),h("div",{key:f,class:"row"},[t("div",so,[c(u,{title:e.getActionTitle(![void 0,null].includes(e.ioActionState(b.id))),icon:e.getIcon(![void 0,null].includes(e.ioActionState(b.id))),class:"fa-fw"},null,8,["title","icon"]),g(" "+a(b.name),1)]),t("div",oo,a(e.ioActionState(b.id)),1)]))),128))]),_:1}),e.hasDigitalInputs?(i(),m(p,{key:0,title:"Digitale Eingänge",subtype:"white","body-bg":"white",class:"py-1 mb-2"},{default:r(()=>[t("div",ao,[(i(!0),h(W,null,x(e.digitalInputStates,(b,f)=>(i(),h("div",{key:f,class:"col io-state"},[g(a(f)+": ",1),c(u,{title:e.getTitle(b),icon:e.getIcon(b),class:"fa-fw"},null,8,["title","icon"])]))),128))])]),_:1})):T("",!0),e.hasDigitalOutputs?(i(),m(p,{key:1,title:"Digitale Ausgänge",subtype:"white","body-bg":"white",class:"py-1 mb-2"},{default:r(()=>[t("div",ro,[(i(!0),h(W,null,x(e.digitalOutputStates,(b,f)=>(i(),h("div",{key:f,class:"col io-state"},[g(a(f)+": ",1),c(u,{title:e.getActionTitle(b),icon:e.getIcon(b),class:"fa-fw"},null,8,["title","icon"])]))),128))])]),_:1})):T("",!0),e.hasAnalogInputs?(i(),m(p,{key:2,title:"Analoge Eingänge",subtype:"white","body-bg":"white",class:"py-1 mb-2"},{default:r(()=>[t("div",io,[(i(!0),h(W,null,x(e.analogInputStates,(b,f)=>(i(),h("div",{key:f,class:"col io-state"},a(f)+": "+a(b),1))),128))])]),_:1})):T("",!0),e.hasAnalogOutputs?(i(),m(p,{key:3,title:"Analoge Ausgänge",subtype:"white","body-bg":"white",class:"py-1 mb-2"},{default:r(()=>[t("div",no,[(i(!0),h(W,null,x(e.analogOutputStates,(b,f)=>(i(),h("div",{key:f,class:"col io-state"},a(f)+": "+a(b),1))),128))])]),_:1})):T("",!0)]),_:1},8,["state","state-message","component-id"])}const lo=w(eo,[["render",co],["__scopeId","data-v-356761d0"],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/status/IoDeviceCard.vue"]]);C.add(ot);const po={name:"VehicleCard",components:{StatusCard:N,FontAwesomeIcon:B},mixins:[k],props:{vehicleKey:{type:String,required:!0},vehicleName:{type:String,default:""}},data(){return{mqttTopicsToSubscribe:["openWB/vehicle/+/get/+"]}},computed:{vehicleIndex:{get(){return parseInt(this.vehicleKey.match(/(?:\/)(\d+)(?=\/)/)[1])}},soc:{get(){return this.formatNumberTopic(this.baseTopic+"/get/soc")}},socTimestamp:{get(){return this.$store.state.mqtt[this.baseTopic+"/get/soc_timestamp"]!==void 0?new Date(this.$store.state.mqtt[this.baseTopic+"/get/soc_timestamp"]*1e3).toLocaleString():"-"}},socRange:{get(){return this.$store.state.mqtt[this.baseTopic+"/get/range"]!==void 0?Math.round(this.$store.state.mqtt[this.baseTopic+"/get/range"]):0}},baseTopic:{get(){return"openWB/vehicle/"+this.vehicleIndex}}}},uo={class:"row"},mo={class:"col text-right text-monospace"},go={class:"col text-right text-monospace"},ho={class:"col text-right text-monospace"};function _o(s,o,l,_,y,e){const u=n("font-awesome-icon"),d=n("openwb-base-card"),p=n("status-card");return i(),m(p,{subtype:"info","component-id":e.vehicleIndex,state:s.$store.state.mqtt[e.baseTopic+"/get/fault_state"],"state-message":s.$store.state.mqtt[e.baseTopic+"/get/fault_str"]},O({"header-left":r(()=>[c(u,{icon:["fas","car"]}),g(" "+a(l.vehicleName),1)]),default:r(()=>[c(d,{title:"Fahrzeugdaten",subtype:"white","body-bg":"white",class:"py-1 mb-2"},{default:r(()=>[o[0]||(o[0]=t("div",{class:"row"},[t("div",{class:"col pr-0 text-right"},"Ladestand"),t("div",{class:"col pr-0 text-right"},"Reichweite"),t("div",{class:"col pr-0 text-right"},"Letzter Zeitstempel")],-1)),t("div",uo,[t("div",mo,a(e.soc)+" %",1),t("div",go,a(e.socRange)+" km",1),t("div",ho,a(e.socTimestamp),1)])]),_:1,__:[0]})]),_:2},[e.soc!="-"?{name:"header-right",fn:r(()=>[g(a(e.soc)+" % ",1)]),key:"0"}:void 0]),1032,["component-id","state","state-message"])}const bo=w(po,[["render",_o],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/status/VehicleCard.vue"]]);C.add(at);it.register(nt,ct,lt,dt,pt,ut,mt,gt,ht);const fo={name:"ElectricityTariffCard",components:{StatusCard:N,FontAwesomeIcon:B,ChartjsLine:_t},mixins:[k],data(){return{mqttTopicsToSubscribe:["openWB/optional/et/provider","openWB/optional/et/get/fault_state","openWB/optional/et/get/fault_str","openWB/optional/et/get/prices"],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 s=this.$store.state.mqtt["openWB/optional/et/provider"];return s!==void 0?s.type!==null:!1},chartDataRead(){return this.chartDataObject.datasets[0].data!=null},chartDataObject(){if(this.$store.state.mqtt["openWB/optional/et/get/prices"]){var s=this.$store.state.mqtt["openWB/optional/et/get/prices"],o=[];for(const[y,e]of Object.entries(s))o.push({timestamp:y*1e3,price:e*1e5});const _=o.slice(-1)[0];o.push({timestamp:_.timestamp+(60*60-1)*1e3,price:_.price})}const l=this.chartDatasets;return l.datasets[0].data=o,l},currentPrice(){return this.chartDataObject.datasets[0].data===void 0||this.chartDataObject.datasets[0].data.length===0?this.formatNumber(0,2):this.formatNumber(this.chartDataObject.datasets[0].data[0].price||0,2)},baseTopic:{get(){return"openWB/optional/et"}}}},vo={class:"openwb-chart"};function yo(s,o,l,_,y,e){const u=n("font-awesome-icon"),d=n("chartjs-line"),p=n("openwb-base-card"),q=n("status-card");return e.electricityTariffConfigured?(i(),m(q,{key:0,subtype:"secondary",state:s.$store.state.mqtt[e.baseTopic+"/get/fault_state"],"state-message":s.$store.state.mqtt[e.baseTopic+"/get/fault_str"]},{"header-left":r(()=>[c(u,{icon:["fas","ranking-star"]}),o[0]||(o[0]=g(" Variabler Stromtarif ",-1))]),"header-right":r(()=>[g(a(e.currentPrice)+" ct/kWh",1)]),default:r(()=>[c(p,{title:"Anbieter: "+s.$store.state.mqtt[e.baseTopic+"/provider"].name,subtype:"white","body-bg":"white",class:"py-1 mb-2"},{default:r(()=>[t("div",vo,[e.chartDataRead?(i(),m(d,{key:0,ref:"myChart",data:e.chartDataObject,options:y.chartOptions},null,8,["data","options"])):T("",!0)])]),_:1},8,["title"])]),_:1},8,["state","state-message"])):T("",!0)}const To=w(fo,[["render",yo],["__scopeId","data-v-f4769d2f"],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/status/ElectricityTariffCard.vue"]]);const wo={name:"OpenwbStatusView",components:{ChargePointSumCard:Lt,ChargePointCard:ve,CounterCard:Xe,InverterSumCard:cs,InverterCard:Ws,BatterySumCard:Ls,BatteryCard:to,IoDeviceCard:lo,VehicleCard:bo,ElectricityTariffCard:To},mixins:[k],data(){return{mqttTopicsToSubscribe:["openWB/general/extern","openWB/system/device/+/component/+/config","openWB/system/io/+/config","openWB/vehicle/+/name","openWB/chargepoint/+/config"]}},computed:{installedChargePoints:{get(){let s=this.getWildcardTopics("openWB/chargepoint/+/config"),o={};for(const[l,_]of Object.entries(s))(_.type==="internal_openwb"||this.$store.state.mqtt["openWB/general/extern"]===!1)&&(o[l]=_);return o}},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")}},ioDeviceConfigs:{get(){return this.getWildcardTopics("openWB/system/io/+/config")}},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(s,o){return Object.keys(s).filter(l=>s[l].type.includes(o)).reduce((l,_)=>({...l,[_]:s[_]}),{})}}},xo={class:"status"};function Wo(s,o,l,_,y,e){const u=n("charge-point-sum-card"),d=n("charge-point-card"),p=n("counter-card"),q=n("inverter-sum-card"),b=n("inverter-card"),f=n("battery-sum-card"),L=n("battery-card"),j=n("vehicle-card"),D=n("io-device-card"),E=n("electricity-tariff-card");return i(),h("div",xo,[e.numChargePointsInstalled>1&&s.$store.state.mqtt["openWB/general/extern"]===!1?(i(),m(u,{key:0})):T("",!0),(i(!0),h(W,null,x(e.installedChargePoints,(v,$)=>(i(),m(d,{key:$,"installed-charge-point":v,"installed-charge-point-key":$},null,8,["installed-charge-point","installed-charge-point-key"]))),128)),(i(!0),h(W,null,x(e.counterConfigs,v=>(i(),m(p,{key:v.id,counter:v},null,8,["counter"]))),128)),e.numInvertersInstalled>1&&s.$store.state.mqtt["openWB/general/extern"]===!1?(i(),m(q,{key:1})):T("",!0),(i(!0),h(W,null,x(e.inverterConfigs,v=>(i(),m(b,{key:v.id,inverter:v},null,8,["inverter"]))),128)),e.numBatteriesInstalled>1&&s.$store.state.mqtt["openWB/general/extern"]===!1?(i(),m(f,{key:2})):T("",!0),(i(!0),h(W,null,x(e.batteryConfigs,v=>(i(),m(L,{key:v.id,battery:v},null,8,["battery"]))),128)),(i(!0),h(W,null,x(e.vehicleNames,(v,$)=>(i(),m(j,{key:$,"vehicle-key":$,"vehicle-name":v},null,8,["vehicle-key","vehicle-name"]))),128)),(i(!0),h(W,null,x(e.ioDeviceConfigs,v=>(i(),m(D,{key:v.id,"io-device":v},null,8,["io-device"]))),128)),s.$store.state.mqtt["openWB/general/extern"]===!1?(i(),m(E,{key:3})):T("",!0)])}const Io=w(wo,[["render",Wo],["__scopeId","data-v-051028a3"],["__file","/opt/openWB-dev/openwb-ui-settings/src/views/Status.vue"]]);export{Io as default};
+import{C as k}from"./index-5b5e1b75.js";import{l as C,O as z,P as V,c as M,f as G,F as B,Q as A,R as Z,S as H,T as R,U as F,V as K,W as Q,X as U,Y as J,Z as P,_ as I,$ as X,n as Y,o as tt,p as et,q as st,a0 as ot,a1 as at}from"./vendor-fortawesome-855c7d62.js";import{_ as w,u as n,l as i,x as m,D as O,E as r,A as t,m as h,G as c,B as g,F as a,z as T,p as S,q as rt,M as x,N as W}from"./vendor-cc4615be.js";import{C as it,p as nt,a as ct,L as lt,b as dt,P as pt,c as ut,T as mt,i as gt,d as ht,e as _t}from"./vendor-chartjs-2bc02c38.js";import"./vendor-bootstrap-09a7ccd9.js";import"./vendor-jquery-13cad4c1.js";import"./vendor-axios-3dcaeec5.js";import"./vendor-sortablejs-7c09d6dd.js";import"./vendor-luxon-cc86f6dc.js";C.add(z,V,M,G);const bt={name:"StatusCard",components:{FontAwesomeIcon:B},props:{subtype:{type:String,required:!0},state:{type:Number,required:!1,default:0},stateMessage:{type:String,required:!1,default:void 0},componentId:{type:Number,required:!1,default:void 0}},computed:{stateClass(){switch(this.state){case 0:return"success";case 1:return"warning";case 2:return"danger";default:return"dark"}},stateIcon(){switch(this.state){case 0:return["fas","check-circle"];case 1:return["fas","exclamation-triangle"];case 2:return["fas","times-circle"];default:return["fas","question-circle"]}},stateLabel(){switch(this.state){case 0:return"OK";case 1:return"Warnung";case 2:return"Fehler";default:return"Unbekannt"}}}},ft={class:"container"},vt={class:"row justify-content-end"},yt={key:0,class:"col px-0"},Tt={style:{"white-space":"pre-wrap"}},wt={key:1,class:"col col-auto pr-0"},xt={class:"text-right"};function Wt(s,o,l,_,y,e){const u=n("font-awesome-icon"),d=n("openwb-base-avatar"),p=n("openwb-base-alert"),q=n("openwb-base-card");return i(),m(q,{subtype:l.subtype,collapsible:!0,collapsed:!0},O({header:r(()=>[S(s.$slots,"header-left")]),actions:r(()=>[S(s.$slots,"header-right"),c(d,{class:rt(["ml-2",`bg-${e.stateClass}`]),title:e.stateLabel},{default:r(()=>[c(u,{icon:e.stateIcon},null,8,["icon"])]),_:1},8,["class","title"])]),default:r(()=>[S(s.$slots,"default")]),_:2},[l.componentId!==void 0||l.stateMessage?{name:"footer",fn:r(()=>[t("div",ft,[t("div",vt,[l.stateMessage?(i(),h("div",yt,[c(p,{subtype:e.stateClass},{default:r(()=>[c(u,{icon:e.stateIcon},null,8,["icon"]),o[0]||(o[0]=g(" Modulmeldung: ",-1)),t("span",Tt,a(l.stateMessage),1)]),_:1,__:[0]},8,["subtype"])])):T("",!0),l.componentId!==void 0?(i(),h("div",wt,[t("div",xt,"ID: "+a(l.componentId),1)])):T("",!0)])])]),key:"0"}:void 0]),1032,["subtype"])}const N=w(bt,[["render",Wt],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/status/StatusCard.vue"]]);C.add(A);const kt={name:"ChargePointSumCard",components:{StatusCard:N,FontAwesomeIcon:B},mixins:[k],data(){return{mqttTopicsToSubscribe:["openWB/chargepoint/get/power","openWB/chargepoint/get/imported","openWB/chargepoint/get/exported","openWB/chargepoint/get/daily_imported","openWB/chargepoint/get/daily_exported"]}},computed:{baseTopic:{get(){return"openWB/chargepoint"}}}},Ct={class:"text-right"},Bt={class:"row"},Nt={class:"col text-right text-monospace"},qt={class:"row"},$t={class:"col-4 text-right text-monospace"},St={class:"col-4 text-right text-monospace"},At={class:"row"},Pt={class:"col-4 text-right text-monospace"},It={class:"col-4 text-right text-monospace"};function Ot(s,o,l,_,y,e){const u=n("font-awesome-icon"),d=n("openwb-base-card"),p=n("status-card");return i(),m(p,{subtype:"primary"},{"header-left":r(()=>[c(u,{icon:["fas","charging-station"]}),o[0]||(o[0]=g(" Alle Ladepunkte ",-1))]),"header-right":r(()=>[t("span",Ct,a(s.formatNumberTopic(e.baseTopic+"/get/power",3,3,.001))+" kW ",1)]),default:r(()=>[c(d,{subtype:"white","body-bg":"white",class:"py-1 mb-2"},{default:r(()=>[o[1]||(o[1]=t("div",{class:"row py-2"},[t("div",{class:"col font-weight-bold"},"Ladevorgang"),t("div",{class:"col text-right"},"Leistung")],-1)),t("div",Bt,[t("div",Nt,a(s.formatNumberTopic(e.baseTopic+"/get/power",3,3,.001)),1)])]),_:1,__:[1]}),c(d,{subtype:"white","body-bg":"white",class:"py-1 mb-2",title:"Zählerstände"},{default:r(()=>[o[4]||(o[4]=t("div",{class:"row justify-content-end"},[t("div",{class:"col-4 text-right"},"Geladen"),t("div",{class:"col-4 text-right"},"Entladen")],-1)),t("div",qt,[o[2]||(o[2]=t("div",{class:"col text-right"},"Heute",-1)),t("div",$t,a(s.formatNumberTopic(e.baseTopic+"/get/daily_imported",3,3,.001)+" kWh"),1),t("div",St,a(s.formatNumberTopic(e.baseTopic+"/get/daily_exported",3,3,.001)+" kWh"),1)]),t("div",At,[o[3]||(o[3]=t("div",{class:"col text-right"},"Gesamt",-1)),t("div",Pt,a(s.formatNumberTopic(e.baseTopic+"/get/imported",3,3,.001)+" kWh"),1),t("div",It,a(s.formatNumberTopic(e.baseTopic+"/get/exported",3,3,.001)+" kWh"),1)])]),_:1,__:[4]})]),_:1})}const Lt=w(kt,[["render",Ot],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/status/ChargePointSumCard.vue"]]);C.add(A,Z,H,R,F,K,Q,U);const jt={name:"ChargePointCard",components:{StatusCard:N,FontAwesomeIcon:B},mixins:[k],props:{installedChargePointKey:{type:String,required:!0},installedChargePoint:{type:Object,required:!0}},data(){return{mqttTopicsToSubscribe:[`openWB/chargepoint/${this.installedChargePoint.id}/get/+`,`openWB/chargepoint/${this.installedChargePoint.id}/get/connected_vehicle/info`,`openWB/chargepoint/${this.installedChargePoint.id}/set/+`,`openWB/internal_chargepoint/${this.installedChargePoint.id}/data/phases_to_use`]}},computed:{chargePointIndex:{get(){return this.installedChargePoint.id}},baseTopic:{get(){return"openWB/chargepoint/"+this.chargePointIndex}},chargingStatus:{get(){let s=this.$store.state.mqtt[this.baseTopic+"/get/plug_state"],o=this.$store.state.mqtt[this.baseTopic+"/get/charge_state"];return s==1&&o==1?{icon:["fas","plug-circle-bolt"],text:"Fahrzeug angesteckt, Ladevorgang aktiv"}:s==1?{icon:["fas","plug-circle-check"],text:"Fahrzeug angesteckt, kein Ladevorgang aktiv"}:{icon:["fas","plug-circle-minus"],text:"Kein Fahrzeug angesteckt"}}}}},Dt={class:"row py-2"},Et={class:"col text-right"},zt={style:{"white-space":"pre-wrap"}},Vt={class:"row"},Mt={class:"col text-right text-monospace"},Gt={class:"col text-right text-monospace"},Zt={class:"row"},Ht={key:0,class:"col text-right text-monospace"},Rt={key:1,class:"col text-right text-monospace"},Ft={class:"col text-right text-monospace"},Kt={class:"row"},Qt={class:"col-4 text-right text-monospace"},Ut={class:"col-4 text-right text-monospace"},Jt={class:"row"},Xt={class:"col-4 text-right text-monospace"},Yt={class:"col-4 text-right text-monospace"},te={class:"row"},ee={class:"col text-right text-monospace"},se={class:"col text-right text-monospace"},oe={class:"col text-right text-monospace"},ae={class:"row"},re={class:"col text-right text-monospace"},ie={class:"col text-right text-monospace"},ne={class:"col text-right text-monospace"},ce={class:"row"},le={class:"col text-right text-monospace"},de={class:"col text-right text-monospace"},pe={class:"col text-right text-monospace"},ue={class:"row"},me={class:"col text-right text-monospace"},ge={class:"col text-right text-monospace"},he={class:"col text-right text-monospace"},_e={class:"row"},be={class:"col text-center text-monospace"};function fe(s,o,l,_,y,e){const u=n("font-awesome-icon"),d=n("openwb-base-alert"),p=n("openwb-base-card"),q=n("status-card");return i(),m(q,{subtype:"primary","component-id":e.chargePointIndex,state:s.$store.state.mqtt[e.baseTopic+"/get/fault_state"],"state-message":s.$store.state.mqtt[e.baseTopic+"/get/fault_str"]},{"header-left":r(()=>[c(u,{icon:["fas","charging-station"]}),g(" "+a(l.installedChargePoint.name),1)]),"header-right":r(()=>[g(a(s.formatNumberTopic(e.baseTopic+"/get/power",3,3,.001))+" kW",1)]),default:r(()=>[c(p,{subtype:"white","body-bg":"white",class:"py-1 mb-2"},{default:r(()=>[t("div",Dt,[o[0]||(o[0]=t("div",{class:"col col-auto font-weight-bold"},"Status",-1)),t("div",Et,[c(u,{icon:e.chargingStatus.icon,title:e.chargingStatus.text},null,8,["icon","title"]),g(" "+a(e.chargingStatus.text),1)])]),c(d,{subtype:"info"},{default:r(()=>[o[1]||(o[1]=g(" Statusmeldung: ",-1)),t("span",zt,a(s.$store.state.mqtt[e.baseTopic+"/get/state_str"]),1)]),_:1,__:[1]}),t("div",null," max. Ladeleistung: "+a((s.max_power=s.formatNumberTopic(e.baseTopic+"/get/max_evse_current",0))=="-"?s.max_power:Math.floor(s.max_power*3*230/1e3))+" kW ",1)]),_:1}),c(p,{subtype:"white","body-bg":"white",class:"py-1 mb-2",title:"Ladevorgang"},{default:r(()=>[o[2]||(o[2]=t("div",{class:"row"},[t("div",{class:"col text-right"},"Ladestrom Vorgabe"),t("div",{class:"col text-right"},"Leistung")],-1)),t("div",Vt,[t("div",Mt,a(s.formatNumberTopic(e.baseTopic+"/set/current",2))+" A",1),t("div",Gt,a(s.formatNumberTopic(e.baseTopic+"/get/power",3,3,.001))+" kW ",1)]),o[3]||(o[3]=t("div",{class:"row"},[t("div",{class:"col text-right"},"Phasen Vorgabe"),t("div",{class:"col text-right"},"Phasen Aktuell")],-1)),t("div",Zt,[s.$store.state.mqtt["openWB/general/extern"]===!0?(i(),h("div",Ht,a(s.formatNumberTopic("openWB/internal_chargepoint/"+e.chargePointIndex+"/data/phases_to_use")),1)):(i(),h("div",Rt,a(s.formatNumberTopic(e.baseTopic+"/set/phases_to_use")),1)),t("div",Ft,a(s.formatNumberTopic(e.baseTopic+"/get/phases_in_use")),1)])]),_:1,__:[2,3]}),c(p,{subtype:"white","body-bg":"white",class:"py-1 mb-2",title:"Zählerstände"},{default:r(()=>[o[6]||(o[6]=t("div",{class:"row justify-content-end"},[t("div",{class:"col-4 text-right"},"Geladen"),t("div",{class:"col-4 text-right"},"Entladen")],-1)),t("div",Kt,[o[4]||(o[4]=t("div",{class:"col text-right"},"Heute",-1)),t("div",Qt,a(s.formatNumberTopic(e.baseTopic+"/get/daily_imported",3,3,.001))+" kWh ",1),t("div",Ut,a(s.formatNumberTopic(e.baseTopic+"/get/daily_exported",3,3,.001))+" kWh ",1)]),t("div",Jt,[o[5]||(o[5]=t("div",{class:"col text-right"},"Gesamt",-1)),t("div",Xt,a(s.formatNumberTopic(e.baseTopic+"/get/imported",3,3,.001))+" kWh ",1),t("div",Yt,a(s.formatNumberTopic(e.baseTopic+"/get/exported",3,3,.001))+" kWh ",1)])]),_:1,__:[6]}),c(p,{subtype:"white","body-bg":"white",class:"py-1 mb-2",title:"Werte pro Phase"},{default:r(()=>[t("div",te,[o[7]||(o[7]=t("div",{class:"col-md-4 pr-1 text-center text-md-right"},"Spannung [V]",-1)),t("div",ee,a(s.formatPhaseArrayNumberTopic(e.baseTopic+"/get/voltages",1)[0]),1),t("div",se,a(s.formatPhaseArrayNumberTopic(e.baseTopic+"/get/voltages",1)[1]),1),t("div",oe,a(s.formatPhaseArrayNumberTopic(e.baseTopic+"/get/voltages",1)[2]),1)]),t("div",ae,[o[8]||(o[8]=t("div",{class:"col-md-4 pr-1 text-center text-md-right"},"Strom [A]",-1)),t("div",re,a(s.formatPhaseArrayNumberTopic(e.baseTopic+"/get/currents",2)[0]),1),t("div",ie,a(s.formatPhaseArrayNumberTopic(e.baseTopic+"/get/currents",2)[1]),1),t("div",ne,a(s.formatPhaseArrayNumberTopic(e.baseTopic+"/get/currents",2)[2]),1)]),t("div",ce,[o[9]||(o[9]=t("div",{class:"col-md-4 pr-1 text-center text-md-right"},"Wirkleistung [kW]",-1)),t("div",le,a(s.formatPhaseArrayNumberTopic(e.baseTopic+"/get/powers",3,3,.001)[0]),1),t("div",de,a(s.formatPhaseArrayNumberTopic(e.baseTopic+"/get/powers",3,3,.001)[1]),1),t("div",pe,a(s.formatPhaseArrayNumberTopic(e.baseTopic+"/get/powers",3,3,.001)[2]),1)]),t("div",ue,[o[10]||(o[10]=t("div",{class:"col-md-4 pr-1 text-center text-md-right"},"Leistungsfaktor",-1)),t("div",me,a(s.formatPhaseArrayNumberTopic(e.baseTopic+"/get/power_factors",2)[0]),1),t("div",ge,a(s.formatPhaseArrayNumberTopic(e.baseTopic+"/get/power_factors",2)[1]),1),t("div",he,a(s.formatPhaseArrayNumberTopic(e.baseTopic+"/get/power_factors",2)[2]),1)]),t("div",_e,[o[11]||(o[11]=t("div",{class:"col-md-4 pr-1 text-center text-md-right"},"Netzfrequenz",-1)),t("div",be,a(s.formatNumberTopic(e.baseTopic+"/get/frequency",3))+" Hz ",1)])]),_:1})]),_:1},8,["component-id","state","state-message"])}const ve=w(jt,[["render",fe],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/status/ChargePointCard.vue"]]);C.add(J);const ye={name:"CounterCard",components:{StatusCard:N,FontAwesomeIcon:B},mixins:[k],props:{counter:{type:Object,required:!0}},data(){return{mqttTopicsToSubscribe:[`openWB/counter/${this.counter.id}/get/+`]}},computed:{baseTopic:{get(){return"openWB/counter/"+this.counter.id}}}},Te={class:"row"},we={class:"col text-right text-monospace pl-0"},xe={class:"col text-right text-monospace pl-0"},We={class:"row"},ke={class:"col text-right text-monospace pl-0"},Ce={class:"col text-right text-monospace pl-0"},Be={class:"row"},Ne={class:"col"},qe={class:"row"},$e={class:"col text-right text-monospace pl-0"},Se={class:"col text-right text-monospace pl-0"},Ae={class:"col text-right text-monospace pl-0"},Pe={class:"row"},Ie={class:"col"},Oe={class:"row"},Le={class:"col text-right text-monospace pl-0"},je={class:"col text-right text-monospace pl-0"},De={class:"col text-right text-monospace pl-0"},Ee={class:"row"},ze={class:"col"},Ve={class:"row"},Me={class:"col text-right text-monospace pl-0"},Ge={class:"col text-right text-monospace pl-0"},Ze={class:"col text-right text-monospace pl-0"},He={class:"row"},Re={class:"col"},Fe={class:"row"},Ke={class:"col text-right text-monospace pl-0"},Qe={class:"col text-right text-monospace pl-0"},Ue={class:"col text-right text-monospace pl-0"};function Je(s,o,l,_,y,e){const u=n("font-awesome-icon"),d=n("openwb-base-card"),p=n("status-card");return i(),m(p,{subtype:"danger","component-id":l.counter.id,state:s.$store.state.mqtt[e.baseTopic+"/get/fault_state"],"state-message":s.$store.state.mqtt[e.baseTopic+"/get/fault_str"]},{"header-left":r(()=>[c(u,{icon:["fas","gauge-high"]}),g(" "+a(l.counter.name),1)]),"header-right":r(()=>[g(a(s.formatNumberTopic(e.baseTopic+"/get/power",3,3,.001))+" kW",1)]),default:r(()=>[c(d,{title:"Aktuelle Werte",subtype:"white","body-bg":"white",class:"py-1 mb-2"},{default:r(()=>[o[0]||(o[0]=t("div",{class:"row"},[t("div",{class:"col-6 text-right"},"Leistung"),t("div",{class:"col-6 text-right"},"Netzfrequenz")],-1)),t("div",Te,[t("div",we,a(s.formatNumberTopic(e.baseTopic+"/get/power",3,3,.001)+" kW"),1),t("div",xe,a(s.formatNumberTopic(e.baseTopic+"/get/frequency",3)+" Hz"),1)])]),_:1,__:[0]}),c(d,{title:"Zählerstände",subtype:"white","body-bg":"white",class:"py-1 mb-2"},{default:r(()=>[o[1]||(o[1]=t("div",{class:"row"},[t("div",{class:"col-6 text-right"},"Export"),t("div",{class:"col-6 text-right"},"Import")],-1)),t("div",We,[t("div",ke,a(s.formatNumberTopic(e.baseTopic+"/get/exported",3,3,.001)+" kWh"),1),t("div",Ce,a(s.formatNumberTopic(e.baseTopic+"/get/imported",3,3,.001)+" kWh"),1)])]),_:1,__:[1]}),c(d,{title:"Werte pro Phase",subtype:"white","body-bg":"white",class:"py-1 mb-2"},{default:r(()=>[t("div",Be,[o[2]||(o[2]=t("div",{class:"col-md-4 pr-0 text-center text-md-right"},"Spannung [V]",-1)),t("div",Ne,[t("div",qe,[t("div",$e,a(s.formatPhaseArrayNumberTopic(e.baseTopic+"/get/voltages",1)[0]),1),t("div",Se,a(s.formatPhaseArrayNumberTopic(e.baseTopic+"/get/voltages",1)[1]),1),t("div",Ae,a(s.formatPhaseArrayNumberTopic(e.baseTopic+"/get/voltages",1)[2]),1)])])]),t("div",Pe,[o[3]||(o[3]=t("div",{class:"col-md-4 pr-0 text-center text-md-right"},"Strom [A]",-1)),t("div",Ie,[t("div",Oe,[t("div",Le,a(s.formatPhaseArrayNumberTopic(e.baseTopic+"/get/currents",2)[0]),1),t("div",je,a(s.formatPhaseArrayNumberTopic(e.baseTopic+"/get/currents",2)[1]),1),t("div",De,a(s.formatPhaseArrayNumberTopic(e.baseTopic+"/get/currents",2)[2]),1)])])]),t("div",Ee,[o[4]||(o[4]=t("div",{class:"col-md-4 pr-0 text-center text-md-right"},"Wirkleistung [kW]",-1)),t("div",ze,[t("div",Ve,[t("div",Me,a(s.formatPhaseArrayNumberTopic(e.baseTopic+"/get/powers",3,3,.001)[0]),1),t("div",Ge,a(s.formatPhaseArrayNumberTopic(e.baseTopic+"/get/powers",3,3,.001)[1]),1),t("div",Ze,a(s.formatPhaseArrayNumberTopic(e.baseTopic+"/get/powers",3,3,.001)[2]),1)])])]),t("div",He,[o[5]||(o[5]=t("div",{class:"col-md-4 pr-0 text-center text-md-right"},"Leistungsfaktor",-1)),t("div",Re,[t("div",Fe,[t("div",Ke,a(s.formatPhaseArrayNumberTopic(e.baseTopic+"/get/power_factors",2)[0]),1),t("div",Qe,a(s.formatPhaseArrayNumberTopic(e.baseTopic+"/get/power_factors",2)[1]),1),t("div",Ue,a(s.formatPhaseArrayNumberTopic(e.baseTopic+"/get/power_factors",2)[2]),1)])])])]),_:1})]),_:1},8,["component-id","state","state-message"])}const Xe=w(ye,[["render",Je],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/status/CounterCard.vue"]]);C.add(P);const Ye={name:"InverterSumCard",components:{StatusCard:N,FontAwesomeIcon:B},mixins:[k],data(){return{mqttTopicsToSubscribe:["openWB/pv/get/+"]}},computed:{baseTopic:{get(){return"openWB/pv"}}}},ts={class:"row"},es={class:"col text-right text-monospace"},ss={class:"col text-right text-monospace"},os={class:"row"},as={class:"col text-right text-monospace"},rs={class:"col text-right text-monospace"},is={class:"col text-right text-monospace"};function ns(s,o,l,_,y,e){const u=n("font-awesome-icon"),d=n("openwb-base-card"),p=n("status-card");return i(),m(p,{subtype:"success",state:s.$store.state.mqtt[e.baseTopic+"/get/fault_state"],"state-message":s.$store.state.mqtt[e.baseTopic+"/get/fault_str"]},{"header-left":r(()=>[c(u,{icon:["fas","solar-panel"]}),o[0]||(o[0]=g(" Alle Wechselrichter ",-1))]),"header-right":r(()=>[g(a(s.formatNumberTopic(e.baseTopic+"/get/power",3,3,.001))+" kW",1)]),default:r(()=>[c(d,{title:"Aktuelle Werte",subtype:"white","body-bg":"white",class:"py-1 mb-2"},{default:r(()=>[o[1]||(o[1]=t("div",{class:"row"},[t("div",{class:"col text-right"},"Leistung"),t("div",{class:"col text-right"},"Zählerstand")],-1)),t("div",ts,[t("div",es,a(s.formatNumberTopic(e.baseTopic+"/get/power",3,3,.001))+" kW ",1),t("div",ss,a(s.formatNumberTopic(e.baseTopic+"/get/exported",3,3,.001))+" kWh ",1)])]),_:1,__:[1]}),c(d,{title:"Erträge",subtype:"white","body-bg":"white",class:"py-1 mb-2"},{default:r(()=>[o[2]||(o[2]=t("div",{class:"row"},[t("div",{class:"col text-right"},"Heute"),t("div",{class:"col text-right"},"Monat"),t("div",{class:"col text-right"},"Jahr")],-1)),t("div",os,[t("div",as,a(s.formatNumberTopic(e.baseTopic+"/get/daily_exported",3,3,.001))+" kWh ",1),t("div",rs,a(s.formatNumberTopic(e.baseTopic+"/get/monthly_exported",1,1,.001))+" kWh ",1),t("div",is,a(s.formatNumberTopic(e.baseTopic+"/get/yearly_exported",0,0,.001))+" kWh ",1)])]),_:1,__:[2]})]),_:1},8,["state","state-message"])}const cs=w(Ye,[["render",ns],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/status/InverterSumCard.vue"]]);C.add(P);const ls={name:"InverterCard",components:{StatusCard:N,FontAwesomeIcon:B},mixins:[k],props:{inverter:{type:Object,required:!0}},data(){return{mqttTopicsToSubscribe:[`openWB/pv/${this.inverter.id}/get/+`]}},computed:{baseTopic:{get(){return"openWB/pv/"+this.inverter.id}}}},ds={class:"row"},ps={class:"col text-right text-monospace"},us={class:"col text-right text-monospace"},ms={class:"row"},gs={class:"col text-right text-monospace"},hs={class:"col text-right text-monospace"},_s={class:"col text-right text-monospace"},bs={class:"row"},fs={class:"col"},vs={class:"row"},ys={class:"col text-right text-monospace pl-0"},Ts={class:"col text-right text-monospace pl-0"},ws={class:"col text-right text-monospace pl-0"};function xs(s,o,l,_,y,e){const u=n("font-awesome-icon"),d=n("openwb-base-card"),p=n("status-card");return i(),m(p,{subtype:"success","component-id":l.inverter.id,state:s.$store.state.mqtt[e.baseTopic+"/get/fault_state"],"state-message":s.$store.state.mqtt[e.baseTopic+"/get/fault_str"]},{"header-left":r(()=>[c(u,{icon:["fas","solar-panel"]}),g(" "+a(l.inverter.name),1)]),"header-right":r(()=>[g(a(s.formatNumberTopic(e.baseTopic+"/get/power",3,3,.001))+" kW",1)]),default:r(()=>[c(d,{title:"Aktuelle Werte",subtype:"white","body-bg":"white",class:"py-1 mb-2"},{default:r(()=>[o[0]||(o[0]=t("div",{class:"row"},[t("div",{class:"col text-right"},"Leistung"),t("div",{class:"col text-right"},"Zählerstand")],-1)),t("div",ds,[t("div",ps,a(s.formatNumberTopic(e.baseTopic+"/get/power",3,3,.001))+" kW ",1),t("div",us,a(s.formatNumberTopic(e.baseTopic+"/get/exported",3,3,.001))+" kWh ",1)])]),_:1,__:[0]}),c(d,{title:"Erträge",subtype:"white","body-bg":"white",class:"py-1 mb-2"},{default:r(()=>[o[1]||(o[1]=t("div",{class:"row"},[t("div",{class:"col text-right"},"Heute"),t("div",{class:"col text-right"},"Monat"),t("div",{class:"col text-right"},"Jahr")],-1)),t("div",ms,[t("div",gs,a(s.formatNumberTopic(e.baseTopic+"/get/daily_exported",3,3,.001))+" kWh ",1),t("div",hs,a(s.formatNumberTopic(e.baseTopic+"/get/monthly_exported",1,1,.001))+" kWh ",1),t("div",_s,a(s.formatNumberTopic(e.baseTopic+"/get/yearly_exported",0,0,.001))+" kWh ",1)])]),_:1,__:[1]}),c(d,{title:"Werte pro Phase",subtype:"white","body-bg":"white",class:"py-1 mb-2"},{default:r(()=>[t("div",bs,[o[2]||(o[2]=t("div",{class:"col-md-4 pr-0 text-center text-md-right"},"Strom [A]",-1)),t("div",fs,[t("div",vs,[t("div",ys,a(s.formatPhaseArrayNumberTopic(e.baseTopic+"/get/currents",2)[0]),1),t("div",Ts,a(s.formatPhaseArrayNumberTopic(e.baseTopic+"/get/currents",2)[1]),1),t("div",ws,a(s.formatPhaseArrayNumberTopic(e.baseTopic+"/get/currents",2)[2]),1)])])])]),_:1})]),_:1},8,["component-id","state","state-message"])}const Ws=w(ls,[["render",xs],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/status/InverterCard.vue"]]);C.add(I);const ks={name:"BatterySumCard",components:{StatusCard:N,FontAwesomeIcon:B},mixins:[k],data(){return{mqttTopicsToSubscribe:["openWB/bat/get/+"]}},computed:{baseTopic:{get(){return"openWB/bat"}}}},Cs={class:"row"},Bs={class:"col text-right text-monospace pl-0"},Ns={class:"col text-right text-monospace pl-0"},qs={class:"row"},$s={class:"col text-right text-monospace"},Ss={class:"col text-right text-monospace"},As={class:"row"},Ps={class:"col text-right text-monospace"},Is={class:"col text-right text-monospace"};function Os(s,o,l,_,y,e){const u=n("font-awesome-icon"),d=n("openwb-base-card"),p=n("status-card");return i(),m(p,{subtype:"warning",state:s.$store.state.mqtt[e.baseTopic+"/get/fault_state"],"state-message":s.$store.state.mqtt[e.baseTopic+"/get/fault_str"]},{"header-left":r(()=>[c(u,{icon:["fas","car-battery"]}),o[0]||(o[0]=g(" Alle Speicher ",-1))]),"header-right":r(()=>[g(a(s.formatNumberTopic(e.baseTopic+"/get/power",1,1,.001))+" kW / "+a(s.$store.state.mqtt[e.baseTopic+"/get/soc"])+" % ",1)]),default:r(()=>[c(d,{title:"Aktuelle Werte",subtype:"white","body-bg":"white",class:"py-1 mb-2"},{default:r(()=>[o[1]||(o[1]=t("div",{class:"row"},[t("div",{class:"col-6 text-right"},"Leistung"),t("div",{class:"col-6 text-right"},"Ladestand")],-1)),t("div",Cs,[t("div",Bs,a(s.formatNumberTopic(e.baseTopic+"/get/power",3,3,.001))+" kW ",1),t("div",Ns,a(s.$store.state.mqtt[e.baseTopic+"/get/soc"])+" %",1)])]),_:1,__:[1]}),c(d,{title:"Zählerstände",subtype:"white","body-bg":"white",class:"py-1 mb-2"},{default:r(()=>[o[4]||(o[4]=t("div",{class:"row"},[t("div",{class:"col"}),t("div",{class:"col text-right"},"Geladen"),t("div",{class:"col text-right"},"Entladen")],-1)),t("div",qs,[o[2]||(o[2]=t("div",{class:"col text-right"},"Heute",-1)),t("div",$s,a(s.formatNumberTopic(e.baseTopic+"/get/daily_imported",3,3,.001))+" kWh ",1),t("div",Ss,a(s.formatNumberTopic(e.baseTopic+"/get/daily_exported",3,3,.001))+" kWh ",1)]),t("div",As,[o[3]||(o[3]=t("div",{class:"col text-right"},"Gesamt",-1)),t("div",Ps,a(s.formatNumberTopic(e.baseTopic+"/get/imported",3,3,.001))+" kWh ",1),t("div",Is,a(s.formatNumberTopic(e.baseTopic+"/get/exported",3,3,.001))+" kWh ",1)])]),_:1,__:[4]})]),_:1},8,["state","state-message"])}const Ls=w(ks,[["render",Os],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/status/BatterySumCard.vue"]]);C.add(I);const js={name:"BatteryCard",components:{StatusCard:N,FontAwesomeIcon:B},mixins:[k],props:{battery:{type:Object,required:!0}},data(){return{mqttTopicsToSubscribe:[`openWB/bat/${this.battery.id}/get/+`]}},computed:{baseTopic:{get(){return"openWB/bat/"+this.battery.id}}}},Ds={class:"row"},Es={class:"col text-right text-monospace pl-0"},zs={class:"col text-right text-monospace pl-0"},Vs={class:"row"},Ms={class:"col text-right text-monospace"},Gs={class:"col text-right text-monospace"},Zs={class:"row"},Hs={class:"col text-right text-monospace"},Rs={class:"col text-right text-monospace"},Fs={class:"row"},Ks={class:"col"},Qs={class:"row"},Us={class:"col text-right text-monospace pl-0"},Js={class:"col text-right text-monospace pl-0"},Xs={class:"col text-right text-monospace pl-0"};function Ys(s,o,l,_,y,e){const u=n("font-awesome-icon"),d=n("openwb-base-card"),p=n("status-card");return i(),m(p,{subtype:"warning","component-id":l.battery.id,state:s.$store.state.mqtt[e.baseTopic+"/get/fault_state"],"state-message":s.$store.state.mqtt[e.baseTopic+"/get/fault_str"]},{"header-left":r(()=>[c(u,{icon:["fas","car-battery"]}),g(" "+a(l.battery.name),1)]),"header-right":r(()=>[g(a(s.formatNumberTopic(e.baseTopic+"/get/power",1,1,.001))+" kW / "+a(s.$store.state.mqtt[e.baseTopic+"/get/soc"])+" % ",1)]),default:r(()=>[c(d,{title:"Aktuelle Werte",subtype:"white","body-bg":"white",class:"py-1 mb-2"},{default:r(()=>[o[0]||(o[0]=t("div",{class:"row"},[t("div",{class:"col-6 text-right"},"Leistung"),t("div",{class:"col-6 text-right"},"Ladestand")],-1)),t("div",Ds,[t("div",Es,a(s.formatNumberTopic(e.baseTopic+"/get/power",3,3,.001))+" kW ",1),t("div",zs,a(s.$store.state.mqtt[e.baseTopic+"/get/soc"])+" %",1)])]),_:1,__:[0]}),c(d,{title:"Zählerstände",subtype:"white","body-bg":"white",class:"py-1 mb-2"},{default:r(()=>[o[3]||(o[3]=t("div",{class:"row"},[t("div",{class:"col"}),t("div",{class:"col text-right"},"Geladen"),t("div",{class:"col text-right"},"Entladen")],-1)),t("div",Vs,[o[1]||(o[1]=t("div",{class:"col text-right"},"Heute",-1)),t("div",Ms,a(s.formatNumberTopic(e.baseTopic+"/get/daily_imported",3,3,.001))+" kWh ",1),t("div",Gs,a(s.formatNumberTopic(e.baseTopic+"/get/daily_exported",3,3,.001))+" kWh ",1)]),t("div",Zs,[o[2]||(o[2]=t("div",{class:"col text-right"},"Gesamt",-1)),t("div",Hs,a(s.formatNumberTopic(e.baseTopic+"/get/imported",3,3,.001))+" kWh ",1),t("div",Rs,a(s.formatNumberTopic(e.baseTopic+"/get/exported",3,3,.001))+" kWh ",1)])]),_:1,__:[3]}),c(d,{title:"Werte pro Phase",subtype:"white","body-bg":"white",class:"py-1 mb-2"},{default:r(()=>[t("div",Fs,[o[4]||(o[4]=t("div",{class:"col-md-4 pr-0 text-center text-md-right"},"Strom [A]",-1)),t("div",Ks,[t("div",Qs,[t("div",Us,a(s.formatPhaseArrayNumberTopic(e.baseTopic+"/get/currents",2)[0]),1),t("div",Js,a(s.formatPhaseArrayNumberTopic(e.baseTopic+"/get/currents",2)[1]),1),t("div",Xs,a(s.formatPhaseArrayNumberTopic(e.baseTopic+"/get/currents",2)[2]),1)])])])]),_:1})]),_:1},8,["component-id","state","state-message"])}const to=w(js,[["render",Ys],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/status/BatteryCard.vue"]]);C.add(X,Y,tt,et,st);const eo={name:"IoDeviceCard",components:{StatusCard:N,FontAwesomeIcon:B},mixins:[k],props:{ioDevice:{type:Object,required:!0}},data(){return{mqttTopicsToSubscribe:[`openWB/io/states/${this.ioDevice.id}/get/+`,"openWB/io/action/+/config","openWB/io/action/+/timestamp"],state:{true:{icon:["fas","square"],title:"Geschlossen",actionTitle:"Aktiv"},false:{icon:["far","square"],title:"Offen",actionTitle:"Inaktiv"}}}},computed:{baseTopic(){return`openWB/io/states/${this.ioDevice.id}`},hasDigitalInputs(){return Object.keys(this.$store.state.mqtt[`${this.baseTopic}/get/digital_input`]||{}).length>0},hasDigitalOutputs(){return Object.keys(this.$store.state.mqtt[`${this.baseTopic}/get/digital_output`]||{}).length>0},hasAnalogInputs(){return Object.keys(this.$store.state.mqtt[`${this.baseTopic}/get/analog_input`]||{}).length>0},hasAnalogOutputs(){return Object.keys(this.$store.state.mqtt[`${this.baseTopic}/get/analog_output`]||{}).length>0},digitalInputStates(){return this.$store.state.mqtt[`${this.baseTopic}/get/digital_input`]},digitalOutputStates(){return this.$store.state.mqtt[`${this.baseTopic}/get/digital_output`]},analogInputStates(){return this.$store.state.mqtt[`${this.baseTopic}/get/analog_input`]},analogOutputStates(){return this.$store.state.mqtt[`${this.baseTopic}/get/analog_output`]},ioActionConfigs(){return Object.fromEntries(Object.entries(this.getWildcardTopics("openWB/io/action/+/config")).filter(([,s])=>s.configuration.io_device===this.ioDevice.id))},ioActionState(){return s=>{const o=this.$store.state.mqtt[`openWB/io/action/${s}/timestamp`];return o&&new Date(o*1e3).toLocaleString()}}},methods:{getIcon(s){return this.state[s].icon},getTitle(s){return this.state[s].title},getActionTitle(s){return this.state[s].actionTitle}}},so={class:"col-auto"},oo={class:"col text-right"},ao={class:"row"},ro={class:"row"},io={class:"row"},no={class:"row"};function co(s,o,l,_,y,e){const u=n("font-awesome-icon"),d=n("openwb-base-alert"),p=n("openwb-base-card"),q=n("status-card");return i(),m(q,{subtype:"secondary",state:s.$store.state.mqtt[`${e.baseTopic}/get/fault_state`],"state-message":s.$store.state.mqtt[`${e.baseTopic}/get/fault_str`],"component-id":l.ioDevice.id},{"header-left":r(()=>[c(u,{icon:["fas","tower-broadcast"]}),g(" "+a(l.ioDevice.name),1)]),default:r(()=>[c(p,{title:"Zugehörige Aktionen",subtype:"white","body-bg":"white",class:"py-1 mb-2"},{default:r(()=>[Object.keys(e.ioActionConfigs).length===0?(i(),m(d,{key:0,subtype:"info",class:"mb-2"},{default:r(()=>o[0]||(o[0]=[g(" Es wurden noch keine Aktionen erstellt, welche dieses IO-Gerät als Signalquelle verwenden. ",-1)])),_:1,__:[0]})):(i(!0),h(W,{key:1},x(e.ioActionConfigs,(b,f)=>(i(),h("div",{key:f,class:"row"},[t("div",so,[c(u,{title:e.getActionTitle(![void 0,null].includes(e.ioActionState(b.id))),icon:e.getIcon(![void 0,null].includes(e.ioActionState(b.id))),class:"fa-fw"},null,8,["title","icon"]),g(" "+a(b.name),1)]),t("div",oo,a(e.ioActionState(b.id)),1)]))),128))]),_:1}),e.hasDigitalInputs?(i(),m(p,{key:0,title:"Digitale Eingänge",subtype:"white","body-bg":"white",class:"py-1 mb-2"},{default:r(()=>[t("div",ao,[(i(!0),h(W,null,x(e.digitalInputStates,(b,f)=>(i(),h("div",{key:f,class:"col io-state"},[g(a(f)+": ",1),c(u,{title:e.getTitle(b),icon:e.getIcon(b),class:"fa-fw"},null,8,["title","icon"])]))),128))])]),_:1})):T("",!0),e.hasDigitalOutputs?(i(),m(p,{key:1,title:"Digitale Ausgänge",subtype:"white","body-bg":"white",class:"py-1 mb-2"},{default:r(()=>[t("div",ro,[(i(!0),h(W,null,x(e.digitalOutputStates,(b,f)=>(i(),h("div",{key:f,class:"col io-state"},[g(a(f)+": ",1),c(u,{title:e.getActionTitle(b),icon:e.getIcon(b),class:"fa-fw"},null,8,["title","icon"])]))),128))])]),_:1})):T("",!0),e.hasAnalogInputs?(i(),m(p,{key:2,title:"Analoge Eingänge",subtype:"white","body-bg":"white",class:"py-1 mb-2"},{default:r(()=>[t("div",io,[(i(!0),h(W,null,x(e.analogInputStates,(b,f)=>(i(),h("div",{key:f,class:"col io-state"},a(f)+": "+a(b),1))),128))])]),_:1})):T("",!0),e.hasAnalogOutputs?(i(),m(p,{key:3,title:"Analoge Ausgänge",subtype:"white","body-bg":"white",class:"py-1 mb-2"},{default:r(()=>[t("div",no,[(i(!0),h(W,null,x(e.analogOutputStates,(b,f)=>(i(),h("div",{key:f,class:"col io-state"},a(f)+": "+a(b),1))),128))])]),_:1})):T("",!0)]),_:1},8,["state","state-message","component-id"])}const lo=w(eo,[["render",co],["__scopeId","data-v-356761d0"],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/status/IoDeviceCard.vue"]]);C.add(ot);const po={name:"VehicleCard",components:{StatusCard:N,FontAwesomeIcon:B},mixins:[k],props:{vehicleKey:{type:String,required:!0},vehicleName:{type:String,default:""}},data(){return{mqttTopicsToSubscribe:["openWB/vehicle/+/get/+"]}},computed:{vehicleIndex:{get(){return parseInt(this.vehicleKey.match(/(?:\/)(\d+)(?=\/)/)[1])}},soc:{get(){return this.formatNumberTopic(this.baseTopic+"/get/soc")}},socTimestamp:{get(){return this.$store.state.mqtt[this.baseTopic+"/get/soc_timestamp"]!==void 0?new Date(this.$store.state.mqtt[this.baseTopic+"/get/soc_timestamp"]*1e3).toLocaleString():"-"}},socRange:{get(){return this.$store.state.mqtt[this.baseTopic+"/get/range"]!==void 0?Math.round(this.$store.state.mqtt[this.baseTopic+"/get/range"]):0}},baseTopic:{get(){return"openWB/vehicle/"+this.vehicleIndex}}}},uo={class:"row"},mo={class:"col text-right text-monospace"},go={class:"col text-right text-monospace"},ho={class:"col text-right text-monospace"};function _o(s,o,l,_,y,e){const u=n("font-awesome-icon"),d=n("openwb-base-card"),p=n("status-card");return i(),m(p,{subtype:"info","component-id":e.vehicleIndex,state:s.$store.state.mqtt[e.baseTopic+"/get/fault_state"],"state-message":s.$store.state.mqtt[e.baseTopic+"/get/fault_str"]},O({"header-left":r(()=>[c(u,{icon:["fas","car"]}),g(" "+a(l.vehicleName),1)]),default:r(()=>[c(d,{title:"Fahrzeugdaten",subtype:"white","body-bg":"white",class:"py-1 mb-2"},{default:r(()=>[o[0]||(o[0]=t("div",{class:"row"},[t("div",{class:"col pr-0 text-right"},"Ladestand"),t("div",{class:"col pr-0 text-right"},"Reichweite"),t("div",{class:"col pr-0 text-right"},"Letzter Zeitstempel")],-1)),t("div",uo,[t("div",mo,a(e.soc)+" %",1),t("div",go,a(e.socRange)+" km",1),t("div",ho,a(e.socTimestamp),1)])]),_:1,__:[0]})]),_:2},[e.soc!="-"?{name:"header-right",fn:r(()=>[g(a(e.soc)+" % ",1)]),key:"0"}:void 0]),1032,["component-id","state","state-message"])}const bo=w(po,[["render",_o],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/status/VehicleCard.vue"]]);C.add(at);it.register(nt,ct,lt,dt,pt,ut,mt,gt,ht);const fo={name:"ElectricityTariffCard",components:{StatusCard:N,FontAwesomeIcon:B,ChartjsLine:_t},mixins:[k],data(){return{mqttTopicsToSubscribe:["openWB/optional/et/provider","openWB/optional/et/get/fault_state","openWB/optional/et/get/fault_str","openWB/optional/et/get/prices"],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 s=this.$store.state.mqtt["openWB/optional/et/provider"];return s!==void 0?s.type!==null:!1},chartDataRead(){return this.chartDataObject.datasets[0].data!=null},chartDataObject(){if(this.$store.state.mqtt["openWB/optional/et/get/prices"]){var s=this.$store.state.mqtt["openWB/optional/et/get/prices"],o=[];for(const[y,e]of Object.entries(s))o.push({timestamp:y*1e3,price:e*1e5});const _=o.slice(-1)[0];o.push({timestamp:_.timestamp+(60*60-1)*1e3,price:_.price})}const l=this.chartDatasets;return l.datasets[0].data=o,l},currentPrice(){return this.chartDataObject.datasets[0].data===void 0||this.chartDataObject.datasets[0].data.length===0?this.formatNumber(0,2):this.formatNumber(this.chartDataObject.datasets[0].data[0].price||0,2)},baseTopic:{get(){return"openWB/optional/et"}}}},vo={class:"openwb-chart"};function yo(s,o,l,_,y,e){const u=n("font-awesome-icon"),d=n("chartjs-line"),p=n("openwb-base-card"),q=n("status-card");return e.electricityTariffConfigured?(i(),m(q,{key:0,subtype:"secondary",state:s.$store.state.mqtt[e.baseTopic+"/get/fault_state"],"state-message":s.$store.state.mqtt[e.baseTopic+"/get/fault_str"]},{"header-left":r(()=>[c(u,{icon:["fas","ranking-star"]}),o[0]||(o[0]=g(" Variabler Stromtarif ",-1))]),"header-right":r(()=>[g(a(e.currentPrice)+" ct/kWh",1)]),default:r(()=>[c(p,{title:"Anbieter: "+s.$store.state.mqtt[e.baseTopic+"/provider"].name,subtype:"white","body-bg":"white",class:"py-1 mb-2"},{default:r(()=>[t("div",vo,[e.chartDataRead?(i(),m(d,{key:0,ref:"myChart",data:e.chartDataObject,options:y.chartOptions},null,8,["data","options"])):T("",!0)])]),_:1},8,["title"])]),_:1},8,["state","state-message"])):T("",!0)}const To=w(fo,[["render",yo],["__scopeId","data-v-f4769d2f"],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/status/ElectricityTariffCard.vue"]]);const wo={name:"OpenwbStatusView",components:{ChargePointSumCard:Lt,ChargePointCard:ve,CounterCard:Xe,InverterSumCard:cs,InverterCard:Ws,BatterySumCard:Ls,BatteryCard:to,IoDeviceCard:lo,VehicleCard:bo,ElectricityTariffCard:To},mixins:[k],data(){return{mqttTopicsToSubscribe:["openWB/general/extern","openWB/system/device/+/component/+/config","openWB/system/io/+/config","openWB/vehicle/+/name","openWB/chargepoint/+/config"]}},computed:{installedChargePoints:{get(){let s=this.getWildcardTopics("openWB/chargepoint/+/config"),o={};for(const[l,_]of Object.entries(s))(_.type==="internal_openwb"||this.$store.state.mqtt["openWB/general/extern"]===!1)&&(o[l]=_);return o}},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")}},ioDeviceConfigs:{get(){return this.getWildcardTopics("openWB/system/io/+/config")}},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(s,o){return Object.keys(s).filter(l=>s[l].type.includes(o)).reduce((l,_)=>({...l,[_]:s[_]}),{})}}},xo={class:"status"};function Wo(s,o,l,_,y,e){const u=n("charge-point-sum-card"),d=n("charge-point-card"),p=n("counter-card"),q=n("inverter-sum-card"),b=n("inverter-card"),f=n("battery-sum-card"),L=n("battery-card"),j=n("vehicle-card"),D=n("io-device-card"),E=n("electricity-tariff-card");return i(),h("div",xo,[e.numChargePointsInstalled>1&&s.$store.state.mqtt["openWB/general/extern"]===!1?(i(),m(u,{key:0})):T("",!0),(i(!0),h(W,null,x(e.installedChargePoints,(v,$)=>(i(),m(d,{key:$,"installed-charge-point":v,"installed-charge-point-key":$},null,8,["installed-charge-point","installed-charge-point-key"]))),128)),(i(!0),h(W,null,x(e.counterConfigs,v=>(i(),m(p,{key:v.id,counter:v},null,8,["counter"]))),128)),e.numInvertersInstalled>1&&s.$store.state.mqtt["openWB/general/extern"]===!1?(i(),m(q,{key:1})):T("",!0),(i(!0),h(W,null,x(e.inverterConfigs,v=>(i(),m(b,{key:v.id,inverter:v},null,8,["inverter"]))),128)),e.numBatteriesInstalled>1&&s.$store.state.mqtt["openWB/general/extern"]===!1?(i(),m(f,{key:2})):T("",!0),(i(!0),h(W,null,x(e.batteryConfigs,v=>(i(),m(L,{key:v.id,battery:v},null,8,["battery"]))),128)),(i(!0),h(W,null,x(e.vehicleNames,(v,$)=>(i(),m(j,{key:$,"vehicle-key":$,"vehicle-name":v},null,8,["vehicle-key","vehicle-name"]))),128)),(i(!0),h(W,null,x(e.ioDeviceConfigs,v=>(i(),m(D,{key:v.id,"io-device":v},null,8,["io-device"]))),128)),s.$store.state.mqtt["openWB/general/extern"]===!1?(i(),m(E,{key:3})):T("",!0)])}const Io=w(wo,[["render",Wo],["__scopeId","data-v-051028a3"],["__file","/opt/openWB-dev/openwb-ui-settings/src/views/Status.vue"]]);export{Io as default};
diff --git a/web/settings/assets/Support-39c6691b.js b/web/settings/assets/Support-f0af7bfc.js
similarity index 99%
rename from web/settings/assets/Support-39c6691b.js
rename to web/settings/assets/Support-f0af7bfc.js
index d497dec4c8..cae8d834b1 100644
--- a/web/settings/assets/Support-39c6691b.js
+++ b/web/settings/assets/Support-f0af7bfc.js
@@ -1,3 +1,3 @@
-import{l as S,g as D,F as V}from"./vendor-fortawesome-855c7d62.js";import{C as W}from"./index-d6a3d34f.js";import{_ as A,u,l as f,m as c,A as r,x as k,E as s,G as o,D as z,z as w,B as n,q as C}from"./vendor-cc4615be.js";import"./vendor-bootstrap-09a7ccd9.js";import"./vendor-jquery-13cad4c1.js";import"./vendor-axios-3dcaeec5.js";import"./vendor-sortablejs-7c09d6dd.js";S.add(D);const F={name:"OpenwbSupportView",components:{FontAwesomeIcon:V},mixins:[W],emits:["sendCommand"],data(){return{mqttTopicsToSubscribe:["openWB/general/extern","openWB/system/dataprotection_acknowledged","openWB/system/serial_number","openWB/system/device/+/config","openWB/system/device/+/component/+/config","openWB/vehicle/+/name","openWB/vehicle/+/info"],email:void 0,components:void 0,vehicles:void 0,message:void 0,enableSendDebugButton:!0}},computed:{debugData(){return{email:this.email,serialNumber:this.$store.state.mqtt["openWB/system/serial_number"],installedComponents:this.installedComponents,vehicles:this.vehicleInfo,message:this.message}},installedComponents(){var b,p;if(this.components!==void 0)return this.components;let i="";const e=this.getWildcardTopics("openWB/system/device/+/component/+/config");for(const t of Object.values(e)){const a=t.id,d=((b=t.info)==null?void 0:b.manufacturer)||"N/A",m=((p=t.info)==null?void 0:p.model)||"N/A";i+=`(${a}) Hersteller: ${d}, Modell: ${m}
+import{l as S,g as D,F as V}from"./vendor-fortawesome-855c7d62.js";import{C as W}from"./index-5b5e1b75.js";import{_ as A,u,l as f,m as c,A as r,x as k,E as s,G as o,D as z,z as w,B as n,q as C}from"./vendor-cc4615be.js";import"./vendor-bootstrap-09a7ccd9.js";import"./vendor-jquery-13cad4c1.js";import"./vendor-axios-3dcaeec5.js";import"./vendor-sortablejs-7c09d6dd.js";S.add(D);const F={name:"OpenwbSupportView",components:{FontAwesomeIcon:V},mixins:[W],emits:["sendCommand"],data(){return{mqttTopicsToSubscribe:["openWB/general/extern","openWB/system/dataprotection_acknowledged","openWB/system/serial_number","openWB/system/device/+/config","openWB/system/device/+/component/+/config","openWB/vehicle/+/name","openWB/vehicle/+/info"],email:void 0,components:void 0,vehicles:void 0,message:void 0,enableSendDebugButton:!0}},computed:{debugData(){return{email:this.email,serialNumber:this.$store.state.mqtt["openWB/system/serial_number"],installedComponents:this.installedComponents,vehicles:this.vehicleInfo,message:this.message}},installedComponents(){var b,p;if(this.components!==void 0)return this.components;let i="";const e=this.getWildcardTopics("openWB/system/device/+/component/+/config");for(const t of Object.values(e)){const a=t.id,d=((b=t.info)==null?void 0:b.manufacturer)||"N/A",m=((p=t.info)==null?void 0:p.model)||"N/A";i+=`(${a}) Hersteller: ${d}, Modell: ${m}
`}return i.trim()},vehicleInfo(){if(this.vehicles!==void 0)return this.vehicles;let i="";const e=this.getWildcardTopics("openWB/vehicle/+/info");for(const[b,p]of Object.entries(e)){const t=parseInt(b.split("/")[2]);if(t!==0){const a=p.manufacturer||"N/A",d=p.model||"N/A";i+=`(${t}) Hersteller: ${a}, Modell: ${d}
`}}return i.trim()}},methods:{sendDebugMessage(){if(document.forms.supportForm.reportValidity())this.$emit("sendCommand",{command:"sendDebug",data:this.debugData}),this.enableSendDebugButton=!1;else{console.warn("form invalid");return}}}},x={class:"support"},q={name:"supportForm"},I={key:1},N={key:0},T={class:"row justify-content-center"};function M(i,e,b,p,t,a){const d=u("router-link"),m=u("openwb-base-alert"),v=u("FontAwesomeIcon"),h=u("openwb-base-text-input"),g=u("openwb-base-textarea"),y=u("openwb-base-click-button"),B=u("openwb-base-card"),_=u("font-awesome-icon");return f(),c("div",x,[r("form",q,[i.$store.state.mqtt["openWB/system/dataprotection_acknowledged"]!==!0?(f(),k(m,{key:0,subtype:"danger"},{default:s(()=>[e[6]||(e[6]=n(" Du musst der ",-1)),o(d,{to:"/System/LegalSettings"},{default:s(()=>e[5]||(e[5]=[n(" Datenschutzerklärung ",-1)])),_:1,__:[5]}),e[7]||(e[7]=n(" zustimmen, um einen Systembericht senden zu können. ",-1))]),_:1,__:[6,7]})):(f(),c("div",I,[o(m,{subtype:"success"},{default:s(()=>[e[9]||(e[9]=n(" Du hast der ",-1)),o(d,{to:"/System/LegalSettings"},{default:s(()=>e[8]||(e[8]=[n(" Datenschutzerklärung ",-1)])),_:1,__:[8]}),e[10]||(e[10]=n(" zugestimmt und kannst Systemberichte senden. ",-1))]),_:1,__:[9,10]}),o(B,{title:"Systembericht"},z({default:s(()=>[i.$store.state.mqtt["openWB/system/dataprotection_acknowledged"]===!0?(f(),c("div",N,[o(m,{subtype:"danger"},{default:s(()=>e[11]||(e[11]=[n(' Vergewissere Dich, dass mindestens die aktuelle "Release" Version installiert ist. ',-1)])),_:1,__:[11]}),o(m,{subtype:"info"},{default:s(()=>[r("ul",null,[r("li",null,[e[12]||(e[12]=n(" Lies bitte den Hilfetext, der durch Klick auf das ",-1)),o(v,{icon:["far","question-circle"]}),e[13]||(e[13]=n(" angezeigt wird. Nimm das Wiki zur Hilfe. ",-1))]),e[14]||(e[14]=r("li",null," Stelle 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)),e[15]||(e[15]=r("li",null," Stelle sicher, dass der richtige Lademodus gewählt ist und im Falle von nicht ladenden Fahrzeugen, dass der Ladepunkt auch entsperrt wurde. ",-1)),e[16]||(e[16]=r("li",null," Das Auslesen der Systemkonfiguration erfolgt direkt nach den Klick auf Absenden und kann einige Zeit in Anspruch nehmen. Du erhältst 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 Dir. Bitte kontrolliere daher immer auch den Spam Ordner auf eingehende Nachrichten. Erhältst Du trotzdem keine Ticketnummer, ist das Versenden des Systemberichtes vermutlich fehlgeschlagen. ",-1))])]),_:1}),o(h,{modelValue:t.email,"onUpdate:modelValue":e[0]||(e[0]=l=>t.email=l),title:"E-Mail",required:"",subtype:"email"},{help:s(()=>e[17]||(e[17]=[n(" Deine E-Mail-Adresse, an die der Support Dir antwortet. ",-1)])),_:1},8,["modelValue"]),o(h,{title:"openWB Seriennummer",required:"","model-value":i.$store.state.mqtt["openWB/system/serial_number"],"onUpdate:modelValue":e[1]||(e[1]=l=>i.updateState("openWB/system/serial_number",l))},{help:s(()=>e[18]||(e[18]=[n(" Die Seriennummer der openWB findest Du außen am, bei älteren Installationen innen im Gehäuse. Du kannst uns aber auch eine Bestellnummer oder Rechnungsnummer übermitteln. Das Gehäuse muss nicht extra geöffnet werden!",-1),r("br",null,null,-1),n(" Bei einer gekauften openWB wird die Seriennummer automatisch ermittelt. ",-1)])),_:1},8,["model-value"]),o(g,{title:"Verwendete Komponenten",required:"",minlength:"3",maxlength:"500","model-value":a.installedComponents,"onUpdate:modelValue":e[2]||(e[2]=l=>t.components=l)},{help:s(()=>[e[20]||(e[20]=n(" Gib hier möglichst detailliert an, welche Anlagenkomponenten (EVU, PV, Speicher) angebunden sind.",-1)),e[21]||(e[21]=r("br",null,null,-1)),o(d,{to:"/HardwareInstallation"},{default:s(()=>e[19]||(e[19]=[n(" Die Angaben können auch direkt in der Konfiguration der Komponenten dauerhaft gespeichert werden. ",-1)])),_:1,__:[19]})]),_:1},8,["model-value"]),o(g,{title:"Fahrzeuge",required:"",minlength:"3",maxlength:"500","model-value":a.vehicleInfo,"onUpdate:modelValue":e[3]||(e[3]=l=>t.vehicles=l)},{help:s(()=>[e[23]||(e[23]=n(" Gib hier an, welche Fahrzeuge geladen (Hersteller, Modell, Baujahr).",-1)),e[24]||(e[24]=r("br",null,null,-1)),o(d,{to:"/VehicleConfiguration"},{default:s(()=>e[22]||(e[22]=[n(" Die Angaben können auch direkt in der Konfiguration der Fahrzeuge dauerhaft gespeichert werden. ",-1)])),_:1,__:[22]})]),_:1},8,["model-value"]),o(g,{modelValue:t.message,"onUpdate:modelValue":e[4]||(e[4]=l=>t.message=l),title:"Problembeschreibung",required:"",minlength:"20",maxlength:"500"},null,8,["modelValue"])])):w("",!0)]),_:2},[i.$store.state.mqtt["openWB/system/dataprotection_acknowledged"]===!0?{name:"footer",fn:s(()=>[r("div",T,[o(y,{class:C(["col-4",t.enableSendDebugButton?"btn-success":"btn-outline-success"]),disabled:!t.enableSendDebugButton,onButtonClicked:a.sendDebugMessage},{default:s(()=>e[25]||(e[25]=[n(" Absenden ",-1)])),_:1,__:[25]},8,["class","disabled","onButtonClicked"])])]),key:"0"}:void 0]),1024),t.enableSendDebugButton?w("",!0):(f(),k(m,{key:0,subtype:"success"},{default:s(()=>[e[26]||(e[26]=n(" Die Daten für den Fehlerbericht werden im Hintergrund zusammengestellt. Du kannst diese Seite jetzt verlassen. ",-1)),o(_,{icon:["fas","check"]})]),_:1,__:[26]}))]))])])}const $=A(F,[["render",M],["__file","/opt/openWB-dev/openwb-ui-settings/src/views/Support.vue"]]);export{$ as default};
diff --git a/web/settings/assets/System-e8420760.js b/web/settings/assets/System-f8f1bbde.js
similarity index 99%
rename from web/settings/assets/System-e8420760.js
rename to web/settings/assets/System-f8f1bbde.js
index e33dd16239..3f2774eaa2 100644
--- a/web/settings/assets/System-e8420760.js
+++ b/web/settings/assets/System-f8f1bbde.js
@@ -1 +1 @@
-import{l as z,ar as E,u as U,af as x,a3 as L,as as F,F as j}from"./vendor-fortawesome-855c7d62.js";import{C as D}from"./index-d6a3d34f.js";import{_ as R,u as g,l as f,m as y,x as B,E as l,z as v,G as r,A as a,q as k,N as V,M as q,F as _,B as i}from"./vendor-cc4615be.js";import"./vendor-bootstrap-09a7ccd9.js";import"./vendor-jquery-13cad4c1.js";import"./vendor-axios-3dcaeec5.js";import"./vendor-sortablejs-7c09d6dd.js";z.add(E,U,x,L,F);const T={name:"OpenwbSystemView",components:{FontAwesomeIcon:j},mixins:[D],props:{installAssistantActive:{type:Boolean,required:!1,default:!1}},emits:["save","reset","sendCommand"],data(){return{mqttTopicsToSubscribe:["openWB/system/optionBackup","openWB/system/secondary_auto_update","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","openWB/system/serial_number","openWB/system/ip_address","openWB/system/mac_address","openWB/chargepoint/+/get/version","openWB/chargepoint/+/get/current_branch","openWB/chargepoint/+/config","openWB/general/extern"],warningAcknowledged:!1,selectedTag:"*HEAD*"}},computed:{externalChargepoints:{get(){let t=this.getWildcardTopics("openWB/chargepoint/+/config"),e={};for(const[m,c]of Object.entries(t))c.type==="external_openwb"&&(e[m]=c);return e}},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},branchGroups(){const t="Release",e="Beta",m="master",c=[t,e],b=(u,p)=>u.value==p.value?0:u.value==t?-1:p.value==t?1:u.value==e?-1:p.value==e?1:u.value==m?-1:p.value==m||u.value>p.value?1:u.value
"+e+"","danger")}}}},v={class:"electricity-tariff-tibber"};function w(i,e,t,r,u,c){var d;const b=s("openwb-base-alert"),a=s("openwb-base-text-input"),p=s("openwb-base-button-input"),f=s("openwb-base-select-input");return h(),_("div",v,[n(b,{subtype:"info"},{default:y(()=>e[3]||(e[3]=[l(" Ihren persönlichen Tibber-Token erhalten Sie über die ",-1),T("a",{href:"https://developer.tibber.com/explorer",target:"_blank",rel:"noopener noreferrer"}," Tibber-Developer-Seite ",-1),l(" . 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)])),_:1,__:[3]}),n(a,{ref:"tokenInput",title:"Token",required:"","model-value":i.electricityTariff.configuration.token,"onUpdate:modelValue":e[0]||(e[0]=o=>i.updateConfiguration(o,"configuration.token"))},null,8,["model-value"]),n(p,{title:"Home-IDs abrufen","button-text":"Jetzt abrufen",subtype:"success",disabled:!((d=i.electricityTariff.configuration.token)!=null&&d.length),onButtonClicked:c.getTibberHomeList},null,8,["disabled","onButtonClicked"]),n(f,{title:"Verfügbare Home-IDs",options:u.tibberHomeList,"model-value":i.electricityTariff.configuration.home_id,"onUpdate:modelValue":e[1]||(e[1]=o=>i.updateConfiguration(o,"configuration.home_id"))},null,8,["options","model-value"]),n(a,{title:"Home-ID",required:"","model-value":i.electricityTariff.configuration.home_id,"onUpdate:modelValue":e[2]||(e[2]=o=>i.updateConfiguration(o,"configuration.home_id"))},null,8,["model-value"])])}const $=g(k,[["render",w],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/electricity_tariffs/tibber/electricity_tariff.vue"]]);export{$ as default}; +import{E as m}from"./GeneralChargeConfig-9090b268.js";import{_ as g,u as s,l as h,m as _,G as n,E as y,B as l,A as T}from"./vendor-cc4615be.js";import"./index-5b5e1b75.js";import"./vendor-fortawesome-855c7d62.js";import"./vendor-bootstrap-09a7ccd9.js";import"./vendor-jquery-13cad4c1.js";import"./vendor-axios-3dcaeec5.js";import"./vendor-sortablejs-7c09d6dd.js";import"./dynamic-import-helper-be004503.js";const k={name:"ElectricityTariffTibber",mixins:[m],data(){return{tibberAPI:"https://api.tibber.com/v1-beta/gql",tibberHomeList:[]}},methods:{async getTibberHomeList(){if(this.electricityTariff.configuration.token===null)return;const i='{ "query": "{viewer {homes{id address{address1 address2 address3 postalCode city country}}}}" }';try{const e=await this.axios.post(this.tibberAPI,i,{headers:{Authorization:"Bearer "+this.electricityTariff.configuration.token,"Content-Type":"application/json"}});this.tibberHomeList=e.data.data.viewer.homes.map(t=>{let r=t.address.address1;return t.address.address2&&(r=r+", "+t.address.address2),t.address.address3&&(r=r+", "+t.address.address3),r=r+`, ${t.address.postalCode} ${t.address.city}, ${t.address.country}`,{value:t.id,text:r}}),this.electricityTariff.configuration.home_id||this.updateConfiguration(this.tibberHomeList[0].value,"configuration.home_id"),this.$root.postClientMessage("Home IDs erfolgreich abgerufen.","success")}catch(e){console.error(e),this.$root.postClientMessage("Beim Abfragen der Tibber API ist ein Fehler aufgetreten!
"+e+"","danger")}}}},v={class:"electricity-tariff-tibber"};function w(i,e,t,r,u,c){var d;const b=s("openwb-base-alert"),a=s("openwb-base-text-input"),p=s("openwb-base-button-input"),f=s("openwb-base-select-input");return h(),_("div",v,[n(b,{subtype:"info"},{default:y(()=>e[3]||(e[3]=[l(" Ihren persönlichen Tibber-Token erhalten Sie über die ",-1),T("a",{href:"https://developer.tibber.com/explorer",target:"_blank",rel:"noopener noreferrer"}," Tibber-Developer-Seite ",-1),l(" . 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)])),_:1,__:[3]}),n(a,{ref:"tokenInput",title:"Token",required:"","model-value":i.electricityTariff.configuration.token,"onUpdate:modelValue":e[0]||(e[0]=o=>i.updateConfiguration(o,"configuration.token"))},null,8,["model-value"]),n(p,{title:"Home-IDs abrufen","button-text":"Jetzt abrufen",subtype:"success",disabled:!((d=i.electricityTariff.configuration.token)!=null&&d.length),onButtonClicked:c.getTibberHomeList},null,8,["disabled","onButtonClicked"]),n(f,{title:"Verfügbare Home-IDs",options:u.tibberHomeList,"model-value":i.electricityTariff.configuration.home_id,"onUpdate:modelValue":e[1]||(e[1]=o=>i.updateConfiguration(o,"configuration.home_id"))},null,8,["options","model-value"]),n(a,{title:"Home-ID",required:"","model-value":i.electricityTariff.configuration.home_id,"onUpdate:modelValue":e[2]||(e[2]=o=>i.updateConfiguration(o,"configuration.home_id"))},null,8,["model-value"])])}const $=g(k,[["render",w],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/electricity_tariffs/tibber/electricity_tariff.vue"]]);export{$ as default}; diff --git a/web/settings/assets/electricity_tariff-50217282.js b/web/settings/assets/electricity_tariff-6e1968b0.js similarity index 91% rename from web/settings/assets/electricity_tariff-50217282.js rename to web/settings/assets/electricity_tariff-6e1968b0.js index 911cafa055..3c84f60049 100644 --- a/web/settings/assets/electricity_tariff-50217282.js +++ b/web/settings/assets/electricity_tariff-6e1968b0.js @@ -1 +1 @@ -import{E as l}from"./GeneralChargeConfig-e165f2f7.js";import{_ as s,u as r,l as c,m as p,G as o,E as u,B as f}from"./vendor-cc4615be.js";import"./index-d6a3d34f.js";import"./vendor-fortawesome-855c7d62.js";import"./vendor-bootstrap-09a7ccd9.js";import"./vendor-jquery-13cad4c1.js";import"./vendor-axios-3dcaeec5.js";import"./vendor-sortablejs-7c09d6dd.js";import"./dynamic-import-helper-be004503.js";const d={name:"ElectricityTariffVoltego",mixins:[l]},m={class:"electricity-tariff-voltego"};function _(t,e,g,b,v,y){const a=r("openwb-base-alert"),n=r("openwb-base-text-input");return c(),p("div",m,[o(a,{subtype:"info"},{default:u(()=>e[2]||(e[2]=[f(" 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)])),_:1,__:[2]}),o(n,{title:"Client-ID",subtype:"user",required:"","model-value":t.electricityTariff.configuration.client_id,"onUpdate:modelValue":e[0]||(e[0]=i=>t.updateConfiguration(i,"configuration.client_id"))},null,8,["model-value"]),o(n,{title:"Client-Secret",subtype:"password",required:"","model-value":t.electricityTariff.configuration.client_secret,"onUpdate:modelValue":e[1]||(e[1]=i=>t.updateConfiguration(i,"configuration.client_secret"))},null,8,["model-value"])])}const I=s(d,[["render",_],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/electricity_tariffs/voltego/electricity_tariff.vue"]]);export{I as default}; +import{E as l}from"./GeneralChargeConfig-9090b268.js";import{_ as s,u as r,l as c,m as p,G as o,E as u,B as f}from"./vendor-cc4615be.js";import"./index-5b5e1b75.js";import"./vendor-fortawesome-855c7d62.js";import"./vendor-bootstrap-09a7ccd9.js";import"./vendor-jquery-13cad4c1.js";import"./vendor-axios-3dcaeec5.js";import"./vendor-sortablejs-7c09d6dd.js";import"./dynamic-import-helper-be004503.js";const d={name:"ElectricityTariffVoltego",mixins:[l]},m={class:"electricity-tariff-voltego"};function _(t,e,g,b,v,y){const a=r("openwb-base-alert"),n=r("openwb-base-text-input");return c(),p("div",m,[o(a,{subtype:"info"},{default:u(()=>e[2]||(e[2]=[f(" 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)])),_:1,__:[2]}),o(n,{title:"Client-ID",subtype:"user",required:"","model-value":t.electricityTariff.configuration.client_id,"onUpdate:modelValue":e[0]||(e[0]=i=>t.updateConfiguration(i,"configuration.client_id"))},null,8,["model-value"]),o(n,{title:"Client-Secret",subtype:"password",required:"","model-value":t.electricityTariff.configuration.client_secret,"onUpdate:modelValue":e[1]||(e[1]=i=>t.updateConfiguration(i,"configuration.client_secret"))},null,8,["model-value"])])}const I=s(d,[["render",_],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/electricity_tariffs/voltego/electricity_tariff.vue"]]);export{I as default}; diff --git a/web/settings/assets/electricity_tariff-6ccd8219.js b/web/settings/assets/electricity_tariff-a7206626.js similarity index 89% rename from web/settings/assets/electricity_tariff-6ccd8219.js rename to web/settings/assets/electricity_tariff-a7206626.js index c0c6d1bfd0..64fae89bd6 100644 --- a/web/settings/assets/electricity_tariff-6ccd8219.js +++ b/web/settings/assets/electricity_tariff-a7206626.js @@ -1 +1 @@ -import{E as o}from"./GeneralChargeConfig-e165f2f7.js";import{_ as a,u as n,l as s,m as c,G as l,E as p,B as f}from"./vendor-cc4615be.js";import"./index-d6a3d34f.js";import"./vendor-fortawesome-855c7d62.js";import"./vendor-bootstrap-09a7ccd9.js";import"./vendor-jquery-13cad4c1.js";import"./vendor-axios-3dcaeec5.js";import"./vendor-sortablejs-7c09d6dd.js";import"./dynamic-import-helper-be004503.js";const d={name:"ElectricityTariffAwattar",mixins:[o]},u={class:"electricity-tariff-awattar"};function m(t,e,_,w,b,v){const i=n("openwb-base-select-input");return s(),c("div",u,[l(i,{title:"Land","not-selected":"Bitte auswählen",options:[{value:"de",text:"Deutschland"},{value:"at",text:"Österreich"}],"model-value":t.electricityTariff.configuration.country,"onUpdate:modelValue":e[0]||(e[0]=r=>t.updateConfiguration(r,"configuration.country"))},{help:p(()=>e[1]||(e[1]=[f(" Es werden die abgefragten Börsenpreise verwendet, die aWATTar bereitstellt. aWATTar-Gebühren oder Steuern werden nicht berücksichtigt. ",-1)])),_:1},8,["model-value"])])}const k=a(d,[["render",m],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/electricity_tariffs/awattar/electricity_tariff.vue"]]);export{k as default}; +import{E as o}from"./GeneralChargeConfig-9090b268.js";import{_ as a,u as n,l as s,m as c,G as l,E as p,B as f}from"./vendor-cc4615be.js";import"./index-5b5e1b75.js";import"./vendor-fortawesome-855c7d62.js";import"./vendor-bootstrap-09a7ccd9.js";import"./vendor-jquery-13cad4c1.js";import"./vendor-axios-3dcaeec5.js";import"./vendor-sortablejs-7c09d6dd.js";import"./dynamic-import-helper-be004503.js";const d={name:"ElectricityTariffAwattar",mixins:[o]},u={class:"electricity-tariff-awattar"};function m(t,e,_,w,b,v){const i=n("openwb-base-select-input");return s(),c("div",u,[l(i,{title:"Land","not-selected":"Bitte auswählen",options:[{value:"de",text:"Deutschland"},{value:"at",text:"Österreich"}],"model-value":t.electricityTariff.configuration.country,"onUpdate:modelValue":e[0]||(e[0]=r=>t.updateConfiguration(r,"configuration.country"))},{help:p(()=>e[1]||(e[1]=[f(" Es werden die abgefragten Börsenpreise verwendet, die aWATTar bereitstellt. aWATTar-Gebühren oder Steuern werden nicht berücksichtigt. ",-1)])),_:1},8,["model-value"])])}const k=a(d,[["render",m],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/electricity_tariffs/awattar/electricity_tariff.vue"]]);export{k as default}; diff --git a/web/settings/assets/electricity_tariff-80042143.js b/web/settings/assets/electricity_tariff-b686879b.js similarity index 91% rename from web/settings/assets/electricity_tariff-80042143.js rename to web/settings/assets/electricity_tariff-b686879b.js index d092341cdf..c8e4f727e9 100644 --- a/web/settings/assets/electricity_tariff-80042143.js +++ b/web/settings/assets/electricity_tariff-b686879b.js @@ -1 +1 @@ -import{E as s}from"./GeneralChargeConfig-e165f2f7.js";import{_ as l,u as r,l as c,m as p,G as n,E as u,B as f}from"./vendor-cc4615be.js";import"./index-d6a3d34f.js";import"./vendor-fortawesome-855c7d62.js";import"./vendor-bootstrap-09a7ccd9.js";import"./vendor-jquery-13cad4c1.js";import"./vendor-axios-3dcaeec5.js";import"./vendor-sortablejs-7c09d6dd.js";import"./dynamic-import-helper-be004503.js";const d={name:"ElectricityTariffRabot",mixins:[s]},m={class:"electricity-tariff-rabot"};function _(t,e,b,g,y,v){const a=r("openwb-base-alert"),o=r("openwb-base-text-input");return c(),p("div",m,[n(a,{subtype:"info"},{default:u(()=>e[2]||(e[2]=[f(" Ihre persönlichen Zugangsdaten (Client-ID und Client-Secret) erhalten Sie direkt von Rabot. Behandeln Sie diese Daten wie ein Passwort, da sich darüber auch persönliche Daten aus Ihrem Rabot-Account abfragen lassen! ",-1)])),_:1,__:[2]}),n(o,{title:"Client-ID",subtype:"user",required:"","model-value":t.electricityTariff.configuration.client_id,"onUpdate:modelValue":e[0]||(e[0]=i=>t.updateConfiguration(i,"configuration.client_id"))},null,8,["model-value"]),n(o,{title:"Client-Secret",subtype:"password",required:"","model-value":t.electricityTariff.configuration.client_secret,"onUpdate:modelValue":e[1]||(e[1]=i=>t.updateConfiguration(i,"configuration.client_secret"))},null,8,["model-value"])])}const S=l(d,[["render",_],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/electricity_tariffs/rabot/electricity_tariff.vue"]]);export{S as default}; +import{E as s}from"./GeneralChargeConfig-9090b268.js";import{_ as l,u as r,l as c,m as p,G as n,E as u,B as f}from"./vendor-cc4615be.js";import"./index-5b5e1b75.js";import"./vendor-fortawesome-855c7d62.js";import"./vendor-bootstrap-09a7ccd9.js";import"./vendor-jquery-13cad4c1.js";import"./vendor-axios-3dcaeec5.js";import"./vendor-sortablejs-7c09d6dd.js";import"./dynamic-import-helper-be004503.js";const d={name:"ElectricityTariffRabot",mixins:[s]},m={class:"electricity-tariff-rabot"};function _(t,e,b,g,y,v){const a=r("openwb-base-alert"),o=r("openwb-base-text-input");return c(),p("div",m,[n(a,{subtype:"info"},{default:u(()=>e[2]||(e[2]=[f(" Ihre persönlichen Zugangsdaten (Client-ID und Client-Secret) erhalten Sie direkt von Rabot. Behandeln Sie diese Daten wie ein Passwort, da sich darüber auch persönliche Daten aus Ihrem Rabot-Account abfragen lassen! ",-1)])),_:1,__:[2]}),n(o,{title:"Client-ID",subtype:"user",required:"","model-value":t.electricityTariff.configuration.client_id,"onUpdate:modelValue":e[0]||(e[0]=i=>t.updateConfiguration(i,"configuration.client_id"))},null,8,["model-value"]),n(o,{title:"Client-Secret",subtype:"password",required:"","model-value":t.electricityTariff.configuration.client_secret,"onUpdate:modelValue":e[1]||(e[1]=i=>t.updateConfiguration(i,"configuration.client_secret"))},null,8,["model-value"])])}const S=l(d,[["render",_],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/electricity_tariffs/rabot/electricity_tariff.vue"]]);export{S as default}; diff --git a/web/settings/assets/electricity_tariff-047df1c6.js b/web/settings/assets/electricity_tariff-bb2e8d54.js similarity index 90% rename from web/settings/assets/electricity_tariff-047df1c6.js rename to web/settings/assets/electricity_tariff-bb2e8d54.js index 1abcdee19b..4fc910af21 100644 --- a/web/settings/assets/electricity_tariff-047df1c6.js +++ b/web/settings/assets/electricity_tariff-bb2e8d54.js @@ -1 +1 @@ -import{E as n}from"./GeneralChargeConfig-e165f2f7.js";import{_ as a,u as l,l as u,m as s,G as r}from"./vendor-cc4615be.js";import"./index-d6a3d34f.js";import"./vendor-fortawesome-855c7d62.js";import"./vendor-bootstrap-09a7ccd9.js";import"./vendor-jquery-13cad4c1.js";import"./vendor-axios-3dcaeec5.js";import"./vendor-sortablejs-7c09d6dd.js";import"./dynamic-import-helper-be004503.js";const p={name:"ElectricityTariffOctopusEnergy",mixins:[n]},f={class:"electricity-tariff-octopusenergy"};function m(e,t,c,d,g,y){const i=l("openwb-base-text-input");return u(),s("div",f,[r(i,{title:"Benutzername",subtype:"user",required:"","model-value":e.electricityTariff.configuration.email,"onUpdate:modelValue":t[0]||(t[0]=o=>e.updateConfiguration(o,"configuration.email"))},null,8,["model-value"]),r(i,{title:"Passwort",subtype:"password",required:"","model-value":e.electricityTariff.configuration.password,"onUpdate:modelValue":t[1]||(t[1]=o=>e.updateConfiguration(o,"configuration.password"))},null,8,["model-value"]),r(i,{title:"Vertragsnummer (beginnt mit A-)",required:"","model-value":e.electricityTariff.configuration.accountId,"onUpdate:modelValue":t[2]||(t[2]=o=>e.updateConfiguration(o,"configuration.accountId"))},null,8,["model-value"])])}const $=a(p,[["render",m],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/electricity_tariffs/octopusenergy/electricity_tariff.vue"]]);export{$ as default}; +import{E as n}from"./GeneralChargeConfig-9090b268.js";import{_ as a,u as l,l as u,m as s,G as r}from"./vendor-cc4615be.js";import"./index-5b5e1b75.js";import"./vendor-fortawesome-855c7d62.js";import"./vendor-bootstrap-09a7ccd9.js";import"./vendor-jquery-13cad4c1.js";import"./vendor-axios-3dcaeec5.js";import"./vendor-sortablejs-7c09d6dd.js";import"./dynamic-import-helper-be004503.js";const p={name:"ElectricityTariffOctopusEnergy",mixins:[n]},f={class:"electricity-tariff-octopusenergy"};function m(e,t,c,d,g,y){const i=l("openwb-base-text-input");return u(),s("div",f,[r(i,{title:"Benutzername",subtype:"user",required:"","model-value":e.electricityTariff.configuration.email,"onUpdate:modelValue":t[0]||(t[0]=o=>e.updateConfiguration(o,"configuration.email"))},null,8,["model-value"]),r(i,{title:"Passwort",subtype:"password",required:"","model-value":e.electricityTariff.configuration.password,"onUpdate:modelValue":t[1]||(t[1]=o=>e.updateConfiguration(o,"configuration.password"))},null,8,["model-value"]),r(i,{title:"Vertragsnummer (beginnt mit A-)",required:"","model-value":e.electricityTariff.configuration.accountId,"onUpdate:modelValue":t[2]||(t[2]=o=>e.updateConfiguration(o,"configuration.accountId"))},null,8,["model-value"])])}const $=a(p,[["render",m],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/electricity_tariffs/octopusenergy/electricity_tariff.vue"]]);export{$ as default}; diff --git a/web/settings/assets/electricity_tariff-0d1c6497.js b/web/settings/assets/electricity_tariff-f8256f22.js similarity index 98% rename from web/settings/assets/electricity_tariff-0d1c6497.js rename to web/settings/assets/electricity_tariff-f8256f22.js index ce7732d32c..79bff7d747 100644 --- a/web/settings/assets/electricity_tariff-0d1c6497.js +++ b/web/settings/assets/electricity_tariff-f8256f22.js @@ -1 +1 @@ -import{E as I}from"./GeneralChargeConfig-e165f2f7.js";import{_ as S,l as o,m as c,A as u,p as k,u as s,x as w,D as N,E as a,B as f,F as V,G as r,y as C,z as B,N as x,M as $,I as q,S as z}from"./vendor-cc4615be.js";import{l as T,d as F,aa as O,F as U}from"./vendor-fortawesome-855c7d62.js";import"./index-d6a3d34f.js";import"./vendor-bootstrap-09a7ccd9.js";import"./vendor-jquery-13cad4c1.js";import"./vendor-axios-3dcaeec5.js";import"./vendor-sortablejs-7c09d6dd.js";import"./dynamic-import-helper-be004503.js";const H={name:"TimeRow"},W={class:"w-100"},A={class:"form-row align-items-center"},D={class:"col-10"},Q={class:"form-row"},Z={class:"col-6"},M={class:"col-6"},P={class:"col-2 text-right"};function K(t,e,p,b,g,n){return o(),c("div",W,[u("div",A,[u("div",D,[u("div",Q,[u("div",Z,[k(t.$slots,"start")]),u("div",M,[k(t.$slots,"end")])])]),u("div",P,[k(t.$slots,"action")])])])}const R=S(H,[["render",K],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/electricity_tariffs/fixed_hours/TimeRow.vue"]]);T.add(F);T.add(O);const L={name:"TimeTable",components:{FontAwesomeIcon:U,TimeRow:R},inheritAttrs:!1,props:{title:{type:String,required:!0,default:"#TITLE#"},modelValue:{type:Array,default:()=>[]}},emits:["update:modelValue"],data(){return{endOptions:this.modelValue.map(()=>this.generateTimeOptions("01:00","24:00"))}},computed:{value:{get(){return this.modelValue},set(t){this.$emit("update:modelValue",t)}}},methods:{generateTimeOptions(t,e){const p=[],b=parseInt(t.split(":")[0],10),g=parseInt(e.split(":")[0],10);for(let n=b;n<=g;n++){const d=`${n.toString().padStart(2,"0")}:00`;p.push({value:d,text:d})}return p},addTime(){this.value.push(["",""])},removeTime(t){this.value.splice(t,1)},updateEndOptions(t){const e=this.value[t][0];if(e){const b=(parseInt(e.split(":")[0],10)+1).toString().padStart(2,"0")+":00";this.endOptions[t]=this.generateTimeOptions(b,"24:00")}else this.endOptions[t]=this.generateTimeOptions("01:00","24:00")}}},j={key:0,class:"w-100 alert alert-danger"},G=["onUpdate:modelValue","onChange"],J=["value"],X=["onUpdate:modelValue"],Y=["value"];function ee(t,e,p,b,g,n){const m=s("font-awesome-icon"),d=s("openwb-base-avatar"),h=s("time-row"),y=s("openwb-base-setting-element");return o(),w(y,null,N({title:a(()=>[k(t.$slots,"title",{},()=>[f(V(p.title),1)])]),default:a(()=>[r(h,null,{start:a(()=>e[0]||(e[0]=[f(" Beginn ",-1)])),end:a(()=>e[1]||(e[1]=[f(" Ende ",-1)])),action:a(()=>[r(d,{class:"bg-success clickable",title:"Zeitbereich hinzufügen",onClick:C(n.addTime,["stop"])},{default:a(()=>[r(m,{icon:["fas","plus"]})]),_:1},8,["onClick"])]),_:1}),n.value.length===0?(o(),c("div",j," Keine Zeitbereiche definiert! ")):B("",!0),(o(!0),c(x,null,$(n.value,(_,v)=>(o(),w(h,{key:v},{start:a(()=>[q(u("select",{"onUpdate:modelValue":i=>_[0]=i,class:"form-control",required:"",onChange:i=>n.updateEndOptions(v)},[e[2]||(e[2]=u("option",{value:"",disabled:""}," -- Bitte auswählen -- ",-1)),(o(!0),c(x,null,$(n.generateTimeOptions("00:00","23:00"),i=>(o(),c("option",{key:i.value,value:i.value},V(i.text),9,J))),128))],40,G),[[z,_[0]]])]),end:a(()=>[q(u("select",{"onUpdate:modelValue":i=>_[1]=i,class:"form-control",required:""},[e[3]||(e[3]=u("option",{value:"",disabled:""}," -- Bitte auswählen -- ",-1)),(o(!0),c(x,null,$(g.endOptions[v],i=>(o(),c("option",{key:i.value,value:i.value},V(i.text),9,Y))),128))],8,X),[[z,_[1]]])]),action:a(()=>[n.value.length>1?(o(),w(d,{key:0,class:"bg-danger clickable",title:"Zeitbereich entfernen",onClick:C(i=>n.removeTime(v),["stop"])},{default:a(()=>[r(m,{icon:["fas","trash"]})]),_:2},1032,["onClick"])):B("",!0)]),_:2},1024))),128))]),_:2},[t.$slots.help?{name:"help",fn:a(()=>[k(t.$slots,"help")]),key:"0"}:void 0]),1024)}const te=S(L,[["render",ee],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/electricity_tariffs/fixed_hours/TimeTable.vue"]]);T.add(F);T.add(O);const ne={name:"FixedTariff",components:{FontAwesomeIcon:U,TimeTable:te},props:{modelValue:{type:Object,required:!0}},emits:["update:modelValue","delete"],computed:{tariff:{get(){return this.modelValue},set(t){this.$emit("update:modelValue",t)}},dates:{get(){return this.tariff.active_times.dates.map(([t,e])=>`${t};${e}`)},set(t){this.tariff.active_times.dates=t.map(e=>e.split(";"))}}}};function ae(t,e,p,b,g,n){const m=s("font-awesome-icon"),d=s("openwb-base-avatar"),h=s("openwb-base-text-input"),y=s("openwb-base-number-input"),_=s("openwb-base-select-input"),v=s("time-table"),i=s("openwb-base-card");return o(),w(i,{subtype:"info",collapsible:!0},{header:a(()=>[f(V(n.tariff.name),1)]),actions:a(()=>[r(d,{class:"bg-danger clickable",onClick:e[0]||(e[0]=l=>t.$emit("delete"))},{default:a(()=>[r(m,{icon:["fas","trash"]})]),_:1})]),default:a(()=>[r(h,{modelValue:n.tariff.name,"onUpdate:modelValue":e[1]||(e[1]=l=>n.tariff.name=l),title:"Tarifname"},null,8,["modelValue"]),r(y,{title:"Preis",min:0,step:.1,precision:1,required:"",unit:"ct/kWh","model-value":n.tariff.price*100,"onUpdate:modelValue":e[2]||(e[2]=l=>n.tariff.price=parseFloat((l/100).toFixed(3)))},null,8,["model-value"]),r(_,{modelValue:n.dates,"onUpdate:modelValue":e[3]||(e[3]=l=>n.dates=l),title:"Quartale",required:"",multiple:"",options:[{value:"01-01;31-03",text:"1. Quartal"},{value:"01-04;30-06",text:"2. Quartal"},{value:"01-07;30-09",text:"3. Quartal"},{value:"01-10;31-12",text:"4. Quartal"}]},null,8,["modelValue"]),r(v,{modelValue:n.tariff.active_times.times,"onUpdate:modelValue":e[4]||(e[4]=l=>n.tariff.active_times.times=l),title:"Aktive Zeiten"},null,8,["modelValue"])]),_:1})}const ie=S(ne,[["render",ae],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/electricity_tariffs/fixed_hours/FixedTariff.vue"]]);T.add(F);T.add(O);const se={name:"ElectricityTariffFixedHours",components:{FontAwesomeIcon:U,FixedTariff:ie},mixins:[I],computed:{value:{get(){return this.electricityTariff},set(t){console.log("set",t),this.updateConfiguration(t)}}},methods:{addTariff(){this.value.configuration.tariffs.push({name:"Neuer Tarif",price:0,active_times:{dates:[],times:[["",""]]}})},removeTariff(t){this.value.configuration.tariffs.splice(t,1)}}},oe={class:"electricity-tariff-fixed-hours"};function re(t,e,p,b,g,n){const m=s("openwb-base-alert"),d=s("openwb-base-number-input"),h=s("font-awesome-icon"),y=s("openwb-base-avatar"),_=s("openwb-base-heading"),v=s("fixed-tariff");return o(),c("div",oe,[r(m,{subtype:"info"},{default:a(()=>e[1]||(e[1]=[f(" Konfiguriert feste Tarifzeiten, z.b. HT, NT und Standardpreis. ",-1)])),_:1,__:[1]}),r(d,{title:"Standardpreis",min:0,step:.1,precision:1,required:"",unit:"ct/kWh","model-value":n.value.configuration.default_price*100,"onUpdate:modelValue":e[0]||(e[0]=i=>n.value.configuration.default_price=parseFloat((i/100).toFixed(3)))},{help:a(()=>e[2]||(e[2]=[f(" Standardpreis sofern kein anderer Tarif aktiv ist. ",-1)])),_:1},8,["model-value"]),e[5]||(e[5]=u("hr",null,null,-1)),r(_,null,{actions:a(()=>[r(y,{class:"bg-success clickable",onClick:C(n.addTariff,["stop"])},{default:a(()=>[r(h,{icon:["fas","plus"]})]),_:1},8,["onClick"])]),default:a(()=>[e[3]||(e[3]=f(" Tarife ",-1))]),_:1,__:[3]}),n.value.configuration.tariffs.length===0?(o(),w(m,{key:0,subtype:"info"},{default:a(()=>e[4]||(e[4]=[f(" Es wurde noch kein Tarif konfiguriert. Klicken Sie auf das Plus-Symbol um einen neuen Tarif hinzuzufügen.",-1),u("br",null,null,-1),f(" Tarife ermöglichen es unterschiedliche Preise für unterschiedliche Zeiten zu definieren. ",-1)])),_:1,__:[4]})):B("",!0),(o(!0),c(x,null,$(n.value.configuration.tariffs,(i,l)=>(o(),w(v,{key:l,"model-value":i,"onUpdate:modelValue":E=>n.value.configuration.tariffs[l]=E,onDelete:E=>n.removeTariff(l)},null,8,["model-value","onUpdate:modelValue","onDelete"]))),128))])}const be=S(se,[["render",re],["__scopeId","data-v-aa5a711c"],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/electricity_tariffs/fixed_hours/electricity_tariff.vue"]]);export{be as default}; +import{E as I}from"./GeneralChargeConfig-9090b268.js";import{_ as S,l as o,m as c,A as u,p as k,u as s,x as w,D as N,E as a,B as f,F as V,G as r,y as C,z as B,N as x,M as $,I as q,S as z}from"./vendor-cc4615be.js";import{l as T,d as F,aa as O,F as U}from"./vendor-fortawesome-855c7d62.js";import"./index-5b5e1b75.js";import"./vendor-bootstrap-09a7ccd9.js";import"./vendor-jquery-13cad4c1.js";import"./vendor-axios-3dcaeec5.js";import"./vendor-sortablejs-7c09d6dd.js";import"./dynamic-import-helper-be004503.js";const H={name:"TimeRow"},W={class:"w-100"},A={class:"form-row align-items-center"},D={class:"col-10"},Q={class:"form-row"},Z={class:"col-6"},M={class:"col-6"},P={class:"col-2 text-right"};function K(t,e,p,b,g,n){return o(),c("div",W,[u("div",A,[u("div",D,[u("div",Q,[u("div",Z,[k(t.$slots,"start")]),u("div",M,[k(t.$slots,"end")])])]),u("div",P,[k(t.$slots,"action")])])])}const R=S(H,[["render",K],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/electricity_tariffs/fixed_hours/TimeRow.vue"]]);T.add(F);T.add(O);const L={name:"TimeTable",components:{FontAwesomeIcon:U,TimeRow:R},inheritAttrs:!1,props:{title:{type:String,required:!0,default:"#TITLE#"},modelValue:{type:Array,default:()=>[]}},emits:["update:modelValue"],data(){return{endOptions:this.modelValue.map(()=>this.generateTimeOptions("01:00","24:00"))}},computed:{value:{get(){return this.modelValue},set(t){this.$emit("update:modelValue",t)}}},methods:{generateTimeOptions(t,e){const p=[],b=parseInt(t.split(":")[0],10),g=parseInt(e.split(":")[0],10);for(let n=b;n<=g;n++){const d=`${n.toString().padStart(2,"0")}:00`;p.push({value:d,text:d})}return p},addTime(){this.value.push(["",""])},removeTime(t){this.value.splice(t,1)},updateEndOptions(t){const e=this.value[t][0];if(e){const b=(parseInt(e.split(":")[0],10)+1).toString().padStart(2,"0")+":00";this.endOptions[t]=this.generateTimeOptions(b,"24:00")}else this.endOptions[t]=this.generateTimeOptions("01:00","24:00")}}},j={key:0,class:"w-100 alert alert-danger"},G=["onUpdate:modelValue","onChange"],J=["value"],X=["onUpdate:modelValue"],Y=["value"];function ee(t,e,p,b,g,n){const m=s("font-awesome-icon"),d=s("openwb-base-avatar"),h=s("time-row"),y=s("openwb-base-setting-element");return o(),w(y,null,N({title:a(()=>[k(t.$slots,"title",{},()=>[f(V(p.title),1)])]),default:a(()=>[r(h,null,{start:a(()=>e[0]||(e[0]=[f(" Beginn ",-1)])),end:a(()=>e[1]||(e[1]=[f(" Ende ",-1)])),action:a(()=>[r(d,{class:"bg-success clickable",title:"Zeitbereich hinzufügen",onClick:C(n.addTime,["stop"])},{default:a(()=>[r(m,{icon:["fas","plus"]})]),_:1},8,["onClick"])]),_:1}),n.value.length===0?(o(),c("div",j," Keine Zeitbereiche definiert! ")):B("",!0),(o(!0),c(x,null,$(n.value,(_,v)=>(o(),w(h,{key:v},{start:a(()=>[q(u("select",{"onUpdate:modelValue":i=>_[0]=i,class:"form-control",required:"",onChange:i=>n.updateEndOptions(v)},[e[2]||(e[2]=u("option",{value:"",disabled:""}," -- Bitte auswählen -- ",-1)),(o(!0),c(x,null,$(n.generateTimeOptions("00:00","23:00"),i=>(o(),c("option",{key:i.value,value:i.value},V(i.text),9,J))),128))],40,G),[[z,_[0]]])]),end:a(()=>[q(u("select",{"onUpdate:modelValue":i=>_[1]=i,class:"form-control",required:""},[e[3]||(e[3]=u("option",{value:"",disabled:""}," -- Bitte auswählen -- ",-1)),(o(!0),c(x,null,$(g.endOptions[v],i=>(o(),c("option",{key:i.value,value:i.value},V(i.text),9,Y))),128))],8,X),[[z,_[1]]])]),action:a(()=>[n.value.length>1?(o(),w(d,{key:0,class:"bg-danger clickable",title:"Zeitbereich entfernen",onClick:C(i=>n.removeTime(v),["stop"])},{default:a(()=>[r(m,{icon:["fas","trash"]})]),_:2},1032,["onClick"])):B("",!0)]),_:2},1024))),128))]),_:2},[t.$slots.help?{name:"help",fn:a(()=>[k(t.$slots,"help")]),key:"0"}:void 0]),1024)}const te=S(L,[["render",ee],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/electricity_tariffs/fixed_hours/TimeTable.vue"]]);T.add(F);T.add(O);const ne={name:"FixedTariff",components:{FontAwesomeIcon:U,TimeTable:te},props:{modelValue:{type:Object,required:!0}},emits:["update:modelValue","delete"],computed:{tariff:{get(){return this.modelValue},set(t){this.$emit("update:modelValue",t)}},dates:{get(){return this.tariff.active_times.dates.map(([t,e])=>`${t};${e}`)},set(t){this.tariff.active_times.dates=t.map(e=>e.split(";"))}}}};function ae(t,e,p,b,g,n){const m=s("font-awesome-icon"),d=s("openwb-base-avatar"),h=s("openwb-base-text-input"),y=s("openwb-base-number-input"),_=s("openwb-base-select-input"),v=s("time-table"),i=s("openwb-base-card");return o(),w(i,{subtype:"info",collapsible:!0},{header:a(()=>[f(V(n.tariff.name),1)]),actions:a(()=>[r(d,{class:"bg-danger clickable",onClick:e[0]||(e[0]=l=>t.$emit("delete"))},{default:a(()=>[r(m,{icon:["fas","trash"]})]),_:1})]),default:a(()=>[r(h,{modelValue:n.tariff.name,"onUpdate:modelValue":e[1]||(e[1]=l=>n.tariff.name=l),title:"Tarifname"},null,8,["modelValue"]),r(y,{title:"Preis",min:0,step:.1,precision:1,required:"",unit:"ct/kWh","model-value":n.tariff.price*100,"onUpdate:modelValue":e[2]||(e[2]=l=>n.tariff.price=parseFloat((l/100).toFixed(3)))},null,8,["model-value"]),r(_,{modelValue:n.dates,"onUpdate:modelValue":e[3]||(e[3]=l=>n.dates=l),title:"Quartale",required:"",multiple:"",options:[{value:"01-01;31-03",text:"1. Quartal"},{value:"01-04;30-06",text:"2. Quartal"},{value:"01-07;30-09",text:"3. Quartal"},{value:"01-10;31-12",text:"4. Quartal"}]},null,8,["modelValue"]),r(v,{modelValue:n.tariff.active_times.times,"onUpdate:modelValue":e[4]||(e[4]=l=>n.tariff.active_times.times=l),title:"Aktive Zeiten"},null,8,["modelValue"])]),_:1})}const ie=S(ne,[["render",ae],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/electricity_tariffs/fixed_hours/FixedTariff.vue"]]);T.add(F);T.add(O);const se={name:"ElectricityTariffFixedHours",components:{FontAwesomeIcon:U,FixedTariff:ie},mixins:[I],computed:{value:{get(){return this.electricityTariff},set(t){console.log("set",t),this.updateConfiguration(t)}}},methods:{addTariff(){this.value.configuration.tariffs.push({name:"Neuer Tarif",price:0,active_times:{dates:[],times:[["",""]]}})},removeTariff(t){this.value.configuration.tariffs.splice(t,1)}}},oe={class:"electricity-tariff-fixed-hours"};function re(t,e,p,b,g,n){const m=s("openwb-base-alert"),d=s("openwb-base-number-input"),h=s("font-awesome-icon"),y=s("openwb-base-avatar"),_=s("openwb-base-heading"),v=s("fixed-tariff");return o(),c("div",oe,[r(m,{subtype:"info"},{default:a(()=>e[1]||(e[1]=[f(" Konfiguriert feste Tarifzeiten, z.b. HT, NT und Standardpreis. ",-1)])),_:1,__:[1]}),r(d,{title:"Standardpreis",min:0,step:.1,precision:1,required:"",unit:"ct/kWh","model-value":n.value.configuration.default_price*100,"onUpdate:modelValue":e[0]||(e[0]=i=>n.value.configuration.default_price=parseFloat((i/100).toFixed(3)))},{help:a(()=>e[2]||(e[2]=[f(" Standardpreis sofern kein anderer Tarif aktiv ist. ",-1)])),_:1},8,["model-value"]),e[5]||(e[5]=u("hr",null,null,-1)),r(_,null,{actions:a(()=>[r(y,{class:"bg-success clickable",onClick:C(n.addTariff,["stop"])},{default:a(()=>[r(h,{icon:["fas","plus"]})]),_:1},8,["onClick"])]),default:a(()=>[e[3]||(e[3]=f(" Tarife ",-1))]),_:1,__:[3]}),n.value.configuration.tariffs.length===0?(o(),w(m,{key:0,subtype:"info"},{default:a(()=>e[4]||(e[4]=[f(" Es wurde noch kein Tarif konfiguriert. Klicken Sie auf das Plus-Symbol um einen neuen Tarif hinzuzufügen.",-1),u("br",null,null,-1),f(" Tarife ermöglichen es unterschiedliche Preise für unterschiedliche Zeiten zu definieren. ",-1)])),_:1,__:[4]})):B("",!0),(o(!0),c(x,null,$(n.value.configuration.tariffs,(i,l)=>(o(),w(v,{key:l,"model-value":i,"onUpdate:modelValue":E=>n.value.configuration.tariffs[l]=E,onDelete:E=>n.removeTariff(l)},null,8,["model-value","onUpdate:modelValue","onDelete"]))),128))])}const be=S(se,[["render",re],["__scopeId","data-v-aa5a711c"],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/electricity_tariffs/fixed_hours/electricity_tariff.vue"]]);export{be as default}; diff --git a/web/settings/assets/electricity_tariff-2f97c070.js b/web/settings/assets/electricity_tariff-fbcf702e.js similarity index 94% rename from web/settings/assets/electricity_tariff-2f97c070.js rename to web/settings/assets/electricity_tariff-fbcf702e.js index 6350f3611e..9c37f6bc30 100644 --- a/web/settings/assets/electricity_tariff-2f97c070.js +++ b/web/settings/assets/electricity_tariff-fbcf702e.js @@ -1 +1 @@ -import{E as c}from"./GeneralChargeConfig-e165f2f7.js";import{_ as p,u as r,l as d,m as f,G as i,E as o,B as s,A as m}from"./vendor-cc4615be.js";import"./index-d6a3d34f.js";import"./vendor-fortawesome-855c7d62.js";import"./vendor-bootstrap-09a7ccd9.js";import"./vendor-jquery-13cad4c1.js";import"./vendor-axios-3dcaeec5.js";import"./vendor-sortablejs-7c09d6dd.js";import"./dynamic-import-helper-be004503.js";const g={name:"ElectricityTariffEnergyCharts",mixins:[c]},h={class:"electricity-tariff-energy-charts"};function b(t,e,_,y,w,v){const a=r("openwb-base-alert"),l=r("openwb-base-select-input"),u=r("openwb-base-number-input");return d(),f("div",h,[i(a,{subtype:"info"},{default:o(()=>e[2]||(e[2]=[s(" Börsenstrompreise von Energy Charts (energy-charts.info)",-1),m("br",null,null,-1),s(" Die Rohdaten werden von Wissenschaftlern des Fraunhofer-Instituts für Solare Energiesysteme ISE aus zahlreichen Quellen stündlich oder täglich abgerufen und für die Darstellung aufbereitet. ",-1)])),_:1,__:[2]}),i(l,{title:"Land","not-selected":"Bitte auswählen",options:[{value:"DE-LU",text:"Deutschland"},{value:"AT",text:"Österreich"},{value:"CH",text:"Schweiz"}],"model-value":t.electricityTariff.configuration.country,"onUpdate:modelValue":e[0]||(e[0]=n=>t.updateConfiguration(n,"configuration.country"))},null,8,["model-value"]),i(u,{title:"Aufschlag zum Börsenstrompreis",min:0,step:.001,precision:3,required:"",unit:"ct/kWh","model-value":t.electricityTariff.configuration.surcharge,"onUpdate:modelValue":e[1]||(e[1]=n=>t.updateConfiguration(parseFloat(n.toFixed(3)),"configuration.surcharge"))},{help:o(()=>e[3]||(e[3]=[s(" Die Auswahl (Energy-Charts) kann für alle Stromanbieter ausgewählt werden, die die Börsenstrompreise in einem variablen/dynamischen Tarif an die Kunden weitergeben. Das Modul soll es ermöglichen, dass zu tagesaktuellen Strompreisen unter Berücksichtigung eines Aufschlags zu günstigen Zeiten automatisch geladen werden kann und somit die Preisschwankungen an der Börse optimal ausgenutzt werden. ",-1)])),_:1},8,["model-value"])])}const S=p(g,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/electricity_tariffs/energycharts/electricity_tariff.vue"]]);export{S as default}; +import{E as c}from"./GeneralChargeConfig-9090b268.js";import{_ as p,u as r,l as d,m as f,G as i,E as o,B as s,A as m}from"./vendor-cc4615be.js";import"./index-5b5e1b75.js";import"./vendor-fortawesome-855c7d62.js";import"./vendor-bootstrap-09a7ccd9.js";import"./vendor-jquery-13cad4c1.js";import"./vendor-axios-3dcaeec5.js";import"./vendor-sortablejs-7c09d6dd.js";import"./dynamic-import-helper-be004503.js";const g={name:"ElectricityTariffEnergyCharts",mixins:[c]},h={class:"electricity-tariff-energy-charts"};function b(t,e,_,y,w,v){const a=r("openwb-base-alert"),l=r("openwb-base-select-input"),u=r("openwb-base-number-input");return d(),f("div",h,[i(a,{subtype:"info"},{default:o(()=>e[2]||(e[2]=[s(" Börsenstrompreise von Energy Charts (energy-charts.info)",-1),m("br",null,null,-1),s(" Die Rohdaten werden von Wissenschaftlern des Fraunhofer-Instituts für Solare Energiesysteme ISE aus zahlreichen Quellen stündlich oder täglich abgerufen und für die Darstellung aufbereitet. ",-1)])),_:1,__:[2]}),i(l,{title:"Land","not-selected":"Bitte auswählen",options:[{value:"DE-LU",text:"Deutschland"},{value:"AT",text:"Österreich"},{value:"CH",text:"Schweiz"}],"model-value":t.electricityTariff.configuration.country,"onUpdate:modelValue":e[0]||(e[0]=n=>t.updateConfiguration(n,"configuration.country"))},null,8,["model-value"]),i(u,{title:"Aufschlag zum Börsenstrompreis",min:0,step:.001,precision:3,required:"",unit:"ct/kWh","model-value":t.electricityTariff.configuration.surcharge,"onUpdate:modelValue":e[1]||(e[1]=n=>t.updateConfiguration(parseFloat(n.toFixed(3)),"configuration.surcharge"))},{help:o(()=>e[3]||(e[3]=[s(" Die Auswahl (Energy-Charts) kann für alle Stromanbieter ausgewählt werden, die die Börsenstrompreise in einem variablen/dynamischen Tarif an die Kunden weitergeben. Das Modul soll es ermöglichen, dass zu tagesaktuellen Strompreisen unter Berücksichtigung eines Aufschlags zu günstigen Zeiten automatisch geladen werden kann und somit die Preisschwankungen an der Börse optimal ausgenutzt werden. ",-1)])),_:1},8,["model-value"])])}const S=p(g,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/electricity_tariffs/energycharts/electricity_tariff.vue"]]);export{S as default}; diff --git a/web/settings/assets/external_inverter-607129d1.js b/web/settings/assets/external_inverter-6433fd21.js similarity index 94% rename from web/settings/assets/external_inverter-607129d1.js rename to web/settings/assets/external_inverter-6433fd21.js index 935fdbe51c..16a82f3978 100644 --- a/web/settings/assets/external_inverter-607129d1.js +++ b/web/settings/assets/external_inverter-6433fd21.js @@ -1 +1 @@ -import{C as m}from"./HardwareInstallation-4e683481.js";import{_ as p,u as i,l as g,m as f,G as o,E as r,B as s}from"./vendor-cc4615be.js";import"./vendor-fortawesome-855c7d62.js";import"./index-d6a3d34f.js";import"./vendor-bootstrap-09a7ccd9.js";import"./vendor-jquery-13cad4c1.js";import"./vendor-axios-3dcaeec5.js";import"./vendor-sortablejs-7c09d6dd.js";import"./dynamic-import-helper-be004503.js";const _={name:"DeviceSolaredgeExternalInverter",mixins:[m]},b={class:"device-solaredge-external-inverter"};function c(n,e,v,w,x,E){const l=i("openwb-base-heading"),u=i("openwb-base-alert"),a=i("openwb-base-number-input"),d=i("openwb-base-select-input");return g(),f("div",b,[o(l,null,{default:r(()=>e[3]||(e[3]=[s(" Einstellungen für SolarEdge externen Wechselrichter ",-1)])),_:1,__:[3]}),o(u,{subtype:"info"},{default:r(()=>e[4]||(e[4]=[s(' 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)])),_:1,__:[4]}),o(a,{title:"SolarEdge-Geräte-ID",required:"","model-value":n.component.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[0]||(e[0]=t=>n.updateConfiguration(t,"configuration.modbus_id"))},null,8,["model-value"]),o(a,{title:"SolarEdge-Meter-ID","model-value":n.component.configuration.meter_id,min:"1",max:"255",required:"","onUpdate:modelValue":e[1]||(e[1]=t=>n.updateConfiguration(t,"configuration.meter_id"))},null,8,["model-value"]),o(d,{title:"Leistung invertieren","not-selected":"Bitte auswählen",options:[{value:1,text:"nein"},{value:-1,text:"ja"}],"model-value":n.component.configuration.factor,"onUpdate:modelValue":e[2]||(e[2]=t=>n.updateConfiguration(t,"configuration.factor"))},{help:r(()=>e[5]||(e[5]=[s(" Einige externe SolarEdge Wechselrichter liefern die Leistung mit falschem Vorzeichen. In diesem Fall ist die Leistung zu invertieren. ",-1)])),_:1},8,["model-value"])])}const L=p(_,[["render",c],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/solaredge/solaredge/external_inverter.vue"]]);export{L as default}; +import{C as m}from"./HardwareInstallation-5d83a25e.js";import{_ as p,u as i,l as g,m as f,G as o,E as r,B as s}from"./vendor-cc4615be.js";import"./vendor-fortawesome-855c7d62.js";import"./index-5b5e1b75.js";import"./vendor-bootstrap-09a7ccd9.js";import"./vendor-jquery-13cad4c1.js";import"./vendor-axios-3dcaeec5.js";import"./vendor-sortablejs-7c09d6dd.js";import"./dynamic-import-helper-be004503.js";const _={name:"DeviceSolaredgeExternalInverter",mixins:[m]},b={class:"device-solaredge-external-inverter"};function c(n,e,v,w,x,E){const l=i("openwb-base-heading"),u=i("openwb-base-alert"),a=i("openwb-base-number-input"),d=i("openwb-base-select-input");return g(),f("div",b,[o(l,null,{default:r(()=>e[3]||(e[3]=[s(" Einstellungen für SolarEdge externen Wechselrichter ",-1)])),_:1,__:[3]}),o(u,{subtype:"info"},{default:r(()=>e[4]||(e[4]=[s(' 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)])),_:1,__:[4]}),o(a,{title:"SolarEdge-Geräte-ID",required:"","model-value":n.component.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[0]||(e[0]=t=>n.updateConfiguration(t,"configuration.modbus_id"))},null,8,["model-value"]),o(a,{title:"SolarEdge-Meter-ID","model-value":n.component.configuration.meter_id,min:"1",max:"255",required:"","onUpdate:modelValue":e[1]||(e[1]=t=>n.updateConfiguration(t,"configuration.meter_id"))},null,8,["model-value"]),o(d,{title:"Leistung invertieren","not-selected":"Bitte auswählen",options:[{value:1,text:"nein"},{value:-1,text:"ja"}],"model-value":n.component.configuration.factor,"onUpdate:modelValue":e[2]||(e[2]=t=>n.updateConfiguration(t,"configuration.factor"))},{help:r(()=>e[5]||(e[5]=[s(" Einige externe SolarEdge Wechselrichter liefern die Leistung mit falschem Vorzeichen. In diesem Fall ist die Leistung zu invertieren. ",-1)])),_:1},8,["model-value"])])}const L=p(_,[["render",c],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/solaredge/solaredge/external_inverter.vue"]]);export{L as default}; diff --git a/web/settings/assets/index-d6a3d34f.js b/web/settings/assets/index-5b5e1b75.js similarity index 96% rename from web/settings/assets/index-d6a3d34f.js rename to web/settings/assets/index-5b5e1b75.js index e93d9f690d..9b445a7b2b 100644 --- a/web/settings/assets/index-d6a3d34f.js +++ b/web/settings/assets/index-5b5e1b75.js @@ -1 +1 @@ -import{_ as y,l as i,m as u,p as g,q as S,u as b,x as h,y as x,z as p,A as a,B as f,D as A,E as c,F as v,G as _,I as B,J as I,K as O,L as ee,M as q,N as T,O as te,P as ne,Q as se,R as oe,T as F,S as ae,U as N,V as ie,W as le,X as re,Y as de,Z as ue,$ as ce,a0 as pe}from"./vendor-cc4615be.js";import{l as $,f as H,a as U,F as C,b as me,c as fe,d as G,e as _e,g as j,h as ge,i as be,j as he,k as ve,m as ye,n as we,o as ke,p as Se,q as Oe,r as Be,s as $e,t as Ce,u as Ie,v as Te,w as J,x as Ve,y as Ae,z as Me,A as Pe,B as K,C as qe,D as xe,E as De,G as Ee,H as Le,I as je,J as We,K as Re,L as Ne,M as ze,N as Fe}from"./vendor-fortawesome-855c7d62.js";import"./vendor-bootstrap-09a7ccd9.js";import{p as He,a as Ue}from"./vendor-axios-3dcaeec5.js";import"./vendor-sortablejs-7c09d6dd.js";import"./vendor-jquery-13cad4c1.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"]'))d(l);new MutationObserver(l=>{for(const s of l)if(s.type==="childList")for(const o of s.addedNodes)o.tagName==="LINK"&&o.rel==="modulepreload"&&d(o)}).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 d(l){if(l.ep)return;l.ep=!0;const s=n(l);fetch(l.href,s)}})();const Ge={name:"OpenwbAlert",props:{subtype:{validator:function(e){return["info","success","warning","danger","primary","secondary","light","dark"].indexOf(e)!==-1},default:"secondary"}}};function Je(e,t,n,d,l,s){return i(),u("div",{class:S(["card-text alert","alert-"+n.subtype])},[g(e.$slots,"default",{},void 0,!0)],2)}const Ke=y(Ge,[["render",Je],["__scopeId","data-v-055c15aa"],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbBaseAlert.vue"]]),Ze=Object.freeze(Object.defineProperty({__proto__:null,default:Ke},Symbol.toStringTag,{value:"Module"}));$.add(H,U);const Qe={name:"OpenwbBaseSettingElement",components:{FontAwesomeIcon:C},data(){return{showHelp:!1}},methods:{toggleHelp(){this.showHelp=!this.showHelp&&this.$slots.help!==void 0}}},Ye={key:0,class:"col-md-4 col-form-label"},Xe={class:"form-row"},et={key:0,class:"form-text alert alert-info my-1 small flex-fill"};function tt(e,t,n,d,l,s){const o=b("font-awesome-icon");return i(),u("div",{class:S(["form-row",e.$slots.title?"mb-1":"mx-0"])},[e.$slots.title?(i(),u("label",Ye,[g(e.$slots,"title",{},void 0,!0),e.$slots.help?(i(),h(o,{key:0,icon:l.showHelp?["fas","question-circle"]:["far","question-circle"],class:S(["clickable ml-1",l.showHelp?"text-info":""]),onClick:x(s.toggleHelp,["stop"])},null,8,["icon","class","onClick"])):p("",!0)])):p("",!0),a("div",{class:S(e.$slots.title?"col-md-8":"col px-0")},[a("div",{class:S({"form-row":e.$slots.title})},[g(e.$slots,"default",{},()=>[t[0]||(t[0]=f("*ELEMENT MISSING*",-1))],!0)],2),a("div",Xe,[l.showHelp?(i(),u("span",et,[g(e.$slots,"help",{},void 0,!0)])):p("",!0)])],2)],2)}const M=y(Qe,[["render",tt],["__scopeId","data-v-33864f66"],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbBaseSettingElement.vue"]]),nt=Object.freeze(Object.defineProperty({__proto__:null,default:M},Symbol.toStringTag,{value:"Module"}));$.add(me,fe,G,_e);const st={name:"OpenwbArrayInput",components:{FontAwesomeIcon:C,OpenwbBaseSettingElement:M},inheritAttrs:!1,props:{title:{type:String,required:!0,default:"#TITLE#"},modelValue:{type:Array,default:()=>[]},noElementsMessage:{type:String,default:()=>"Keine Elemente zugeordnet."},noInput:{type:Boolean,default:()=>!1}},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.includes(this.newTag)}}},methods:{addTag(){if(this.newTagValid){const e=[...this.value,this.newTag].sort();this.value=e,this.newTag=""}this.$refs.tagInput.focus()},removeTag(e){let t=[...this.value];t.splice(e,1),this.value=t}}},ot={key:0,class:"w-100"},at={class:"input-group"},it={class:"input-group-prepend"},lt={class:"input-group-text"},rt={class:"input-group-append"},dt={class:"tagList mt-1 w-100"},ut={key:0,class:"noTag"};function ct(e,t,n,d,l,s){const o=b("font-awesome-icon"),m=b("openwb-base-setting-element");return i(),h(m,null,A({title:c(()=>[g(e.$slots,"title",{},()=>[f(v(n.title),1)],!0)]),default:c(()=>[n.noInput?p("",!0):(i(),u("div",ot,[a("div",at,[a("div",it,[a("div",lt,[g(e.$slots,"input-prefix",{},()=>[_(o,{icon:["fas","tag"]})],!0)])]),B(a("input",O({ref:"tagInput","onUpdate:modelValue":t[0]||(t[0]=r=>l.newTag=r),type:"text",class:"form-control"},e.$attrs,{onKeyup:t[1]||(t[1]=ee((...r)=>s.addTag&&s.addTag(...r),["enter"]))}),null,16),[[I,l.newTag]]),a("div",rt,[a("div",{class:S(["input-group-text",s.newTagValid?"bg-success clickable":"not-clickable"]),onClick:t[2]||(t[2]=(...r)=>s.addTag&&s.addTag(...r))},[g(e.$slots,"input-add",{},()=>[_(o,{icon:["fas","plus"]})],!0)],2)])])])),a("div",dt,[s.value.length==0?(i(),u("span",ut,[_(o,{icon:["fas","info-circle"]}),f(" "+v(n.noElementsMessage),1)])):p("",!0),(i(!0),u(T,null,q(s.value,(r,w)=>(i(),u("span",{key:w,class:"tag"},[g(e.$slots,"element-prefix",{},()=>[_(o,{icon:["fas","tag"]})],!0),f(" "+v(r)+" ",1),n.noInput?p("",!0):(i(),h(o,{key:0,class:"clickable remove-element",icon:["fas","times-circle"],onClick:V=>s.removeTag(w)},null,8,["onClick"]))]))),128))])]),_:2},[e.$slots.help?{name:"help",fn:c(()=>[g(e.$slots,"help",{},void 0,!0)]),key:"0"}:void 0]),1024)}const pt=y(st,[["render",ct],["__scopeId","data-v-9de93d37"],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbBaseArrayInput.vue"]]),mt=Object.freeze(Object.defineProperty({__proto__:null,default:pt},Symbol.toStringTag,{value:"Module"}));const ft={name:"OpenwbAvatar"},_t={class:"avatar"};function gt(e,t,n,d,l,s){return i(),u("div",_t,[g(e.$slots,"default",{},()=>[t[0]||(t[0]=f("?",-1))],!0)])}const bt=y(ft,[["render",gt],["__scopeId","data-v-06082a1a"],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbBaseAvatar.vue"]]),ht=Object.freeze(Object.defineProperty({__proto__:null,default:bt},Symbol.toStringTag,{value:"Module"}));$.add(j);const vt={name:"OpenwbButtonGroupInput",components:{FontAwesomeIcon:C,OpenwbBaseSettingElement:M},inheritAttrs:!1,props:{title:{type:String,required:!1,default:""},modelValue:{type:[String,Number,Boolean],default:void 0},buttons:{type:Array,required:!0}},emits:["update:modelValue","button-click"],computed:{value:{get(){return this.modelValue},set(e){this.$emit("update:modelValue",e)}}}},yt={class:"btn-group btn-block btn-group-toggle"},wt=["value","onClick"];function kt(e,t,n,d,l,s){const o=b("font-awesome-icon"),m=b("openwb-base-setting-element");return i(),h(m,null,A({title:c(()=>[g(e.$slots,"title",{},()=>[f(v(n.title),1)])]),default:c(()=>[a("div",yt,[(i(!0),u(T,null,q(n.buttons,r=>(i(),u("label",{key:r.value,class:S(["btn",[s.value==r.buttonValue?"active":"",r.class?r.class:"btn-outline-info"]])},[B(a("input",O({"onUpdate:modelValue":t[0]||(t[0]=w=>s.value=w),type:"radio",value:r.buttonValue},{ref_for:!0},e.$attrs,{onClick:w=>e.$emit("button-click",r.buttonValue)}),null,16,wt),[[te,s.value]]),g(e.$slots,"label-"+r.buttonValue,{},()=>[f(v(r.text),1)]),_(o,{icon:["fas","check"],style:ne([s.value==r.buttonValue?"visibility: visible":"visibility: hidden"])},null,8,["style"])],2))),128))])]),_:2},[e.$slots.help?{name:"help",fn:c(()=>[g(e.$slots,"help")]),key:"0"}:void 0]),1024)}const St=y(vt,[["render",kt],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbBaseButtonGroupInput.vue"]]),Ot=Object.freeze(Object.defineProperty({__proto__:null,default:St},Symbol.toStringTag,{value:"Module"}));const Bt={name:"OpenwbClickButton",props:{title:{type:String,required:!1,default:""},tooltip:{type:String,required:!1,default:""}},emits:["buttonClicked"],methods:{click(e){this.$emit("buttonClicked",e)}}},$t=["title"];function Ct(e,t,n,d,l,s){return i(),u("button",{type:"button",class:"btn btn-block",title:n.tooltip,onClick:t[0]||(t[0]=x((...o)=>s.click&&s.click(...o),["prevent"]))},[g(e.$slots,"default",{},()=>[f(v(n.title),1)],!0)],8,$t)}const Z=y(Bt,[["render",Ct],["__scopeId","data-v-2e9c095b"],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbBaseClickButton.vue"]]),It=Object.freeze(Object.defineProperty({__proto__:null,default:Z},Symbol.toStringTag,{value:"Module"})),Tt={name:"OpenwbButtonInput",components:{OpenwbBaseSettingElement:M,OpenwbBaseClickButton:Z},inheritAttrs:!1,props:{title:{type:String,required:!1,default:""},buttonText:{type:String,required:!1,default:void 0},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"}},emits:["buttonClicked"],methods:{handleClick(e){this.$emit("buttonClicked",e)}}};function Vt(e,t,n,d,l,s){const o=b("openwb-base-click-button"),m=b("openwb-base-setting-element");return i(),h(m,null,A({title:c(()=>[g(e.$slots,"title",{},()=>[f(v(n.title),1)])]),default:c(()=>[_(o,O({class:(n.disabled?"btn-outline-":"btn-")+n.subtype,disabled:n.disabled},e.$attrs,{onButtonClicked:s.handleClick}),{default:c(()=>[f(v(n.buttonText),1)]),_:1},16,["class","disabled","onButtonClicked"])]),_:2},[e.$slots.help?{name:"help",fn:c(()=>[g(e.$slots,"help")]),key:"0"}:void 0]),1024)}const At=y(Tt,[["render",Vt],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbBaseButtonInput.vue"]]),Mt=Object.freeze(Object.defineProperty({__proto__:null,default:At},Symbol.toStringTag,{value:"Module"}));$.add(ge,be);const Pt={name:"OpenwbCard",components:{FontAwesomeIcon:C},inheritAttrs:!1,props:{title:{type:String,default:void 0},subtype:{validator:function(e){return["info","success","warning","danger","primary","secondary","light","dark","pink","white"].indexOf(e)!==-1},default:"secondary"},bodyBg:{validator:function(e){return["info","success","warning","danger","primary","secondary","light","dark","pink","white"].indexOf(e)!==-1},default:"light"},collapsible:{type:Boolean,default:!1},collapsed:{type:Boolean,default:!1}},emits:["collapsed","expanded"],data(){return{isCollapsed:this.collapsible&&this.collapsed}},methods:{toggleBody(){this.collapsible===!0&&(this.isCollapsed=!this.isCollapsed,this.$emit(this.isCollapsed?"collapsed":"expanded"))}}},qt={class:"form-group mb-0"},xt={class:"form-row vaRow mb-0 py-2"},Dt={class:"col"},Et={class:"card-actions ml-4"},Lt={key:0,class:"card-actions mr-2"},jt={key:2,class:"card-footer"};function Wt(e,t,n,d,l,s){const o=b("font-awesome-icon");return i(),u("div",{class:S(["card","border-"+n.subtype])},[n.title!==void 0||e.$slots.header?(i(),u("div",{key:0,class:S(["card-header py-1","bg-"+n.subtype]),onClick:t[0]||(t[0]=(...m)=>s.toggleBody&&s.toggleBody(...m))},[a("div",qt,[a("div",xt,[a("div",Dt,[g(e.$slots,"header",{collapsed:l.isCollapsed},()=>[f(v(n.title),1)],!0)])])]),a("div",Et,[e.$slots.actions?(i(),u("div",Lt,[g(e.$slots,"actions",{collapsed:l.isCollapsed},void 0,!0)])):p("",!0),n.collapsible?(i(),h(o,{key:1,icon:l.isCollapsed?["fas","chevron-right"]:["fas","chevron-down"]},null,8,["icon"])):p("",!0)])],2)):p("",!0),l.isCollapsed===!1?(i(),u("div",O({key:1,class:["card-body",[n.title==null&&!e.$slots.header?"border-radius-top-inherit":"",e.$slots.footer?"":"border-radius-bottom-inherit","bg-"+n.bodyBg]]},e.$attrs),[g(e.$slots,"default",{},void 0,!0)],16)):p("",!0),e.$slots.footer&&l.isCollapsed===!1?(i(),u("div",jt,[g(e.$slots,"footer",{},void 0,!0)])):p("",!0)],2)}const Rt=y(Pt,[["render",Wt],["__scopeId","data-v-9833c353"],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbBaseCard.vue"]]),Nt=Object.freeze(Object.defineProperty({__proto__:null,default:Rt},Symbol.toStringTag,{value:"Module"})),zt={name:"OpenwbCheckboxInput",components:{OpenwbBaseSettingElement:M},inheritAttrs:!1,props:{title:{type:String,required:!1,default:""},modelValue:{type:Boolean}},emits:["update:modelValue"],computed:{value:{get(){return this.modelValue},set(e){this.$emit("update:modelValue",e)}}}},Ft={class:"col-md-8"};function Ht(e,t,n,d,l,s){const o=b("openwb-base-setting-element");return i(),h(o,null,A({title:c(()=>[g(e.$slots,"title",{},()=>[f(v(n.title),1)])]),default:c(()=>[a("div",Ft,[B(a("input",O({"onUpdate:modelValue":t[0]||(t[0]=m=>s.value=m),class:"form-control",type:"checkbox"},e.$attrs),null,16),[[se,s.value]])])]),_:2},[e.$slots.help?{name:"help",fn:c(()=>[g(e.$slots,"help")]),key:"0"}:void 0]),1024)}const Ut=y(zt,[["render",Ht],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbBaseCheckboxInput.vue"]]),Gt=Object.freeze(Object.defineProperty({__proto__:null,default:Ut},Symbol.toStringTag,{value:"Module"}));$.add(he);const Jt={name:"OpenwbColorPicker",components:{FontAwesomeIcon:C},props:{defaultColor:{type:String,required:!1,default:void 0,validator:e=>/^#[0-9A-F]{6}$/i.test(e)},modelValue:{type:String,required:!1,default:"#000000",validator:e=>/^#[0-9A-F]{6}$/i.test(e)}},emits:["update:model-value"],methods:{changed(e){this.$emit("update:model-value",e)}}},Kt={class:"wrapper"},Zt=["value","title"];function Qt(e,t,n,d,l,s){const o=b("font-awesome-icon");return i(),u("div",Kt,[a("input",{type:"color",class:"custom-color-picker",value:n.modelValue,title:`Farbe: ${n.modelValue}`,onInput:t[0]||(t[0]=m=>s.changed(m.target.value))},null,40,Zt),n.defaultColor?(i(),h(o,{key:0,class:"ml-1 clickable",icon:["fas","rotate-left"],title:`Zurücksetzen auf Standardfarbe (${n.defaultColor})`,onClick:t[1]||(t[1]=m=>s.changed(n.defaultColor))},null,8,["title"])):p("",!0)])}const Yt=y(Jt,[["render",Qt],["__scopeId","data-v-1378b599"],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbBaseColorPicker.vue"]]),Xt=Object.freeze(Object.defineProperty({__proto__:null,default:Yt},Symbol.toStringTag,{value:"Module"}));const{text:en,copy:tn,copied:nn,isSupported:sn}=oe({copiedDuring:3e3,legacy:!0});$.add(ve,ye);const on={name:"OpenwbCopyToClipboard",components:{FontAwesomeIcon:C},props:{tooltip:{type:String,default:"Wert kopieren"}},data(){return{}},computed:{contentText(){return this.$refs.content?this.$refs.content.innerText.trim():""},isCopied(){return nn.value},copySupported(){return sn.value}},methods:{click(){this.copySupported&&tn(this.contentText).then(()=>{console.debug("Text copied to clipboard:",en.value)}).catch(e=>{console.error("Failed to copy text to clipboard:",e)})}}},an=["title"],ln={ref:"content"};function rn(e,t,n,d,l,s){const o=b("font-awesome-icon");return i(),u("span",{title:s.copySupported&&!s.isCopied?n.tooltip:"",class:S({"copy-me":s.copySupported&&!s.isCopied}),onClick:t[0]||(t[0]=x((...m)=>s.click&&s.click(...m),["stop"]))},[a("span",ln,[g(e.$slots,"default",{},void 0,!0)],512),s.copySupported?(i(),h(o,{key:0,icon:s.isCopied?["fas","clipboard-check"]:["fas","clipboard"]},null,8,["icon"])):p("",!0)],10,an)}const dn=y(on,[["render",rn],["__scopeId","data-v-81826ebe"],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbBaseCopyToClipboard.vue"]]),un=Object.freeze(Object.defineProperty({__proto__:null,default:dn},Symbol.toStringTag,{value:"Module"}));$.add(H,U,j);const cn={name:"OpenwbHeading",components:{FontAwesomeIcon:C},inheritAttrs:!1,data(){return{showHelp:!1}},methods:{toggleHelp(){this.showHelp=!this.showHelp&&this.$slots.help!==void 0}}},pn={class:"heading-text"},mn={key:0,class:"actions"},fn={class:""},_n={key:0,class:"form-row alert alert-info small flex-fill"};function gn(e,t,n,d,l,s){const o=b("font-awesome-icon");return i(),u(T,null,[a("div",O({class:"card-text card-text-heading"},e.$attrs),[a("div",pn,[g(e.$slots,"default",{},void 0,!0),e.$slots.help?(i(),h(o,{key:0,icon:l.showHelp?["fas","question-circle"]:["far","question-circle"],class:S(["clickable",l.showHelp?"text-info":""]),onClick:x(s.toggleHelp,["stop"])},null,8,["icon","class","onClick"])):p("",!0)]),e.$slots.actions?(i(),u("span",mn,[g(e.$slots,"actions",{},void 0,!0)])):p("",!0)],16),a("div",fn,[l.showHelp?(i(),u("span",_n,[g(e.$slots,"help",{},void 0,!0)])):p("",!0)])],64)}const bn=y(cn,[["render",gn],["__scopeId","data-v-cbe4e96e"],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbBaseHeading.vue"]]),hn=Object.freeze(Object.defineProperty({__proto__:null,default:bn},Symbol.toStringTag,{value:"Module"}));$.add(we,ke,Se,Oe);const E={null:{value:null,icon:["fas","question"],iconClass:"text-secondary",title:"Nicht relevant",nextValue:!0},true:{value:!0,icon:["fas","square"],iconClass:"",title:"Geschlossen",nextValue:!1},false:{value:!1,icon:["far","square"],iconClass:"",title:"Offen",nextValue:null}},vn={name:"OpenwbIoPattern",components:{FontAwesomeIcon:C},inheritAttrs:!1,props:{title:{type:String,required:!1,default:""},modelValue:{type:Array,required:!1,default:()=>[]}},emits:["update:modelValue"],computed:{value:{get(){return this.modelValue},set(e){this.$emit("update:modelValue",e)}}},methods:{getIcon(e){return E[e].icon},getIconClass(e){return E[e].iconClass},getTitle(e){return E[e].title},toggleInput(e,t){this.value[e]=E[t].nextValue}}};function yn(e,t,n,d,l,s){const o=b("font-awesome-icon"),m=b("openwb-base-setting-element");return i(),h(m,null,A({title:c(()=>[g(e.$slots,"title",{},()=>[f(v(n.title),1)])]),default:c(()=>[(i(!0),u(T,null,q(s.value,(r,w)=>(i(),u("span",{key:w},[_(o,{title:s.getTitle(r),icon:s.getIcon(r),class:S([s.getIconClass(r),"fa-fw clickable"]),size:"2x",transform:r=="undefined"?"shrink-6":null,mask:r=="undefined"?["fas","square"]:null,onClick:x(V=>s.toggleInput(w,r),["stop","prevent"]),onMousedown:t[0]||(t[0]=x(()=>{},["stop","prevent"])),onMouseup:t[1]||(t[1]=x(()=>{},["stop","prevent"]))},null,8,["title","icon","class","transform","mask","onClick"])]))),128))]),_:2},[e.$slots.help?{name:"help",fn:c(()=>[g(e.$slots,"help")]),key:"0"}:void 0]),1024)}const wn=y(vn,[["render",yn],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbBaseIoPattern.vue"]]),kn=Object.freeze(Object.defineProperty({__proto__:null,default:wn},Symbol.toStringTag,{value:"Module"})),Sn={name:"OpenwbModalDialog",props:{title:{type:String,required:!1,default:""},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}},emits:["modal-result"],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)}}},On={class:"modal-dialog modal-dialog-centered modal-dialog-scrollable",role:"document"},Bn={class:"modal-content"},$n={class:"modal-title"},Cn={class:"modal-body"},In=["data-event"];function Tn(e,t,n,d,l,s){return n.show?(i(),h(F,{key:0,to:"body"},[t[4]||(t[4]=a("div",{class:"modal-backdrop fade show"},null,-1)),a("div",{class:"modal fade d-block show",role:"dialog",onClick:t[2]||(t[2]=(...o)=>s.handleClick&&s.handleClick(...o))},[a("div",On,[a("div",Bn,[a("div",{class:S(["modal-header","bg-"+n.subtype])},[a("h4",$n,v(n.title),1),n.preventClose?p("",!0):(i(),u("button",{key:0,type:"button",class:"close",onClick:t[0]||(t[0]=(...o)=>s.handleClick&&s.handleClick(...o))}," × "))],2),a("div",Cn,[g(e.$slots,"default",{},()=>[t[3]||(t[3]=f("# Body #",-1))])]),s.myButtons.length>0?(i(),u("div",{key:0,class:S(["modal-footer d-flex","justify-content-"+n.footerAlignment])},[(i(!0),u(T,null,q(s.myButtons,o=>(i(),u("button",{key:o.text,type:"button",class:S(["btn",o.subtype?"btn-"+o.subtype:"btn-secondary"]),"data-dismiss":"modal","data-event":o.event?o.event:"close",onClick:t[1]||(t[1]=(...m)=>s.handleClick&&s.handleClick(...m))},v(o.text),11,In))),128))],2)):p("",!0)])])])])):p("",!0)}const Vn=y(Sn,[["render",Tn],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbBaseModalDialog.vue"]]),An=Object.freeze(Object.defineProperty({__proto__:null,default:Vn},Symbol.toStringTag,{value:"Module"}));$.add(Be);const Mn={name:"OpenwbNumberInput",components:{FontAwesomeIcon:C,OpenwbBaseSettingElement:M},inheritAttrs:!1,props:{title:{type:String,required:!1,default:""},modelValue:{type:Number,required:!1,default:void 0},unit:{type:String,required:!1,default:void 0},precision:{type:Number,default:void 0},emptyValue:{type:[Number,null],required:!1,default:null}},emits:["update:modelValue"],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)}}}},Pn={class:"input-group"},qn={class:"input-group-prepend"},xn={class:"input-group-text"},Dn={key:0,class:"input-group-append"},En={class:"input-group-text"},Ln={key:1,class:"input-group-append"},jn={class:"input-group-text p-0"};function Wn(e,t,n,d,l,s){const o=b("font-awesome-icon"),m=b("openwb-base-setting-element");return i(),h(m,null,A({title:c(()=>[g(e.$slots,"title",{},()=>[f(v(n.title),1)],!0)]),default:c(()=>[a("div",Pn,[a("div",qn,[a("div",xn,[_(o,{icon:["fas","calculator"]})])]),B(a("input",O({"onUpdate:modelValue":t[0]||(t[0]=r=>s.value=r),type:"number",class:"form-control"},e.$attrs),null,16),[[I,s.value,void 0,{number:!0}]]),n.unit?(i(),u("div",Dn,[a("div",En,v(n.unit),1)])):p("",!0),e.$slots.append?(i(),u("div",Ln,[a("div",jn,[g(e.$slots,"append",{},void 0,!0)])])):p("",!0)])]),_:2},[e.$slots.help?{name:"help",fn:c(()=>[g(e.$slots,"help",{},void 0,!0)]),key:"0"}:void 0]),1024)}const Rn=y(Mn,[["render",Wn],["__scopeId","data-v-c2fb7eef"],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbBaseNumberInput.vue"]]),Nn=Object.freeze(Object.defineProperty({__proto__:null,default:Rn},Symbol.toStringTag,{value:"Module"}));$.add($e,Ce);const zn={name:"OpenwbRangeInput",components:{FontAwesomeIcon:C,OpenwbBaseSettingElement:M},inheritAttrs:!1,props:{title:{type:String,required:!1,default:""},modelValue:{type:Number,required:!1,default:void 0},unit:{type:String,required:!1,default:void 0},min:{type:Number,required:!0,default:0},max:{type:Number,required:!0,default:100},step:{type:Number,required:!1,default:1},labels:{type:Array,required:!1,default:void 0}},emits:["update:modelValue"],computed:{label(){var e;return this.labels&&this.sliderValue!=null?this.sliderValue
"+o+"","danger")}}}},B={class:"vehicle-soc-tesla"};function U(e,n,o,z,l,p){const u=r("openwb-base-number-input"),m=r("openwb-base-heading"),g=r("openwb-base-button-input"),d=r("openwb-base-text-input");return b(),k("div",B,[i(u,{title:"Fahrzeug-ID",required:"",min:0,"model-value":e.vehicle.configuration.tesla_ev_num,"onUpdate:modelValue":n[0]||(n[0]=t=>e.updateConfiguration(t,"configuration.tesla_ev_num"))},{help:a(()=>n[6]||(n[6]=[s(' Die ID des Fahrzeugs bei Tesla. Normalerweise "0" bei nur einem Fahrzeug im Konto. ',-1)])),_:1},8,["model-value"]),i(m,null,{default:a(()=>n[7]||(n[7]=[s("Token abrufen oder eingeben",-1)])),_:1,__:[7]}),i(g,{title:"1. Anmelden","button-text":"Bei Tesla Anmelden",subtype:"success",onButtonClicked:p.tesla_login_window},{help:a(()=>n[8]||(n[8]=[s(" Es wird ein neues Browserfenster geöffnet, in dem Sie sich bei Tesla mit Ihren Zugangsdaten anmelden können. ",-1)])),_:1},8,["onButtonClicked"]),i(d,{modelValue:l.page_not_found_url,"onUpdate:modelValue":n[1]||(n[1]=t=>l.page_not_found_url=t),title:"2. URL kopieren und einfügen",subtype:"url","empty-value":null},{help:a(()=>n[9]||(n[9]=[s(' Hier die komplette URL (Text in der Adresszeile) aus dem geöffneten Browserfenster einfügen, wenn dort "Page Not Found" angezeigt wird. ',-1)])),_:1},8,["modelValue"]),i(g,{title:"3. Token abrufen","button-text":"Jetzt abrufen",subtype:"success",disabled:l.page_not_found_url===null,onButtonClicked:p.tesla_login},{help:a(()=>n[10]||(n[10]=[s(" 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)])),_:1},8,["disabled","onButtonClicked"]),n[13]||(n[13]=v("hr",null,null,-1)),i(d,{title:"Access Token",pattern:"^(ey).*",required:"","model-value":e.vehicle.configuration.token?e.vehicle.configuration.token.access_token:"","onUpdate:modelValue":n[2]||(n[2]=t=>e.updateConfiguration(t,"configuration.token.access_token"))},null,8,["model-value"]),i(d,{title:"Refresh Token",pattern:"^(ey).*",required:"","model-value":e.vehicle.configuration.token?e.vehicle.configuration.token.refresh_token:"","onUpdate:modelValue":n[3]||(n[3]=t=>e.updateConfiguration(t,"configuration.token.refresh_token"))},null,8,["model-value"]),i(u,{title:"Erstellt um",required:"","model-value":e.vehicle.configuration.token?e.vehicle.configuration.token.created_at:0,"onUpdate:modelValue":n[4]||(n[4]=t=>e.updateConfiguration(t,"configuration.token.created_at"))},{help:a(()=>n[11]||(n[11]=[s(" Unix Timestamp des Zeitpunktes, an dem das Token erzeugt wurde. ",-1)])),_:1},8,["model-value"]),i(u,{title:"Ungültig in",unit:"s",required:"","model-value":e.vehicle.configuration.token?e.vehicle.configuration.token.expires_in:0,"onUpdate:modelValue":n[5]||(n[5]=t=>e.updateConfiguration(t,"configuration.token.expires_in"))},{help:a(()=>n[12]||(n[12]=[s(" Zeitspanne in Sekunden, nach der das Token ungültig wird. ",-1)])),_:1},8,["model-value"])])}const D=h(T,[["render",U],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/vehicles/tesla/vehicle.vue"]]);export{D as default}; +import{_ as h,a6 as c,a7 as _,a8 as f,u as r,l as b,m as k,G as i,E as a,B as s,A as v}from"./vendor-cc4615be.js";import{a as w}from"./vendor-axios-3dcaeec5.js";import{C}from"./index-5b5e1b75.js";import{V as y}from"./VehicleConfig-c2429926.js";import"./vendor-sortablejs-7c09d6dd.js";import"./vendor-fortawesome-855c7d62.js";import"./vendor-bootstrap-09a7ccd9.js";import"./vendor-jquery-13cad4c1.js";import"./dynamic-import-helper-be004503.js";const T={name:"VehicleSocTesla",mixins:[C,y],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}},methods:{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=c.encode(_.randomBytes(86)).replace(/[^a-zA-Z0-9]/gi,"").substring(0,86);const e=_.createHash("sha256").update(this.code_verifier).digest();this.code_challenge=c.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 o=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",o),this.updateConfiguration({access_token:o.data.access_token,refresh_token:o.data.refresh_token,created_at:o.data.created_at,expires_in:o.data.expires_in},"configuration.token"),this.$root.postClientMessage("Token erfolgreich abgerufen.","success")}catch(o){console.error(o),this.$root.postClientMessage("Beim Abruf der Token ist ein Fehler aufgetreten!
"+o+"","danger")}}}},B={class:"vehicle-soc-tesla"};function U(e,n,o,z,l,p){const u=r("openwb-base-number-input"),m=r("openwb-base-heading"),g=r("openwb-base-button-input"),d=r("openwb-base-text-input");return b(),k("div",B,[i(u,{title:"Fahrzeug-ID",required:"",min:0,"model-value":e.vehicle.configuration.tesla_ev_num,"onUpdate:modelValue":n[0]||(n[0]=t=>e.updateConfiguration(t,"configuration.tesla_ev_num"))},{help:a(()=>n[6]||(n[6]=[s(' Die ID des Fahrzeugs bei Tesla. Normalerweise "0" bei nur einem Fahrzeug im Konto. ',-1)])),_:1},8,["model-value"]),i(m,null,{default:a(()=>n[7]||(n[7]=[s("Token abrufen oder eingeben",-1)])),_:1,__:[7]}),i(g,{title:"1. Anmelden","button-text":"Bei Tesla Anmelden",subtype:"success",onButtonClicked:p.tesla_login_window},{help:a(()=>n[8]||(n[8]=[s(" Es wird ein neues Browserfenster geöffnet, in dem Sie sich bei Tesla mit Ihren Zugangsdaten anmelden können. ",-1)])),_:1},8,["onButtonClicked"]),i(d,{modelValue:l.page_not_found_url,"onUpdate:modelValue":n[1]||(n[1]=t=>l.page_not_found_url=t),title:"2. URL kopieren und einfügen",subtype:"url","empty-value":null},{help:a(()=>n[9]||(n[9]=[s(' Hier die komplette URL (Text in der Adresszeile) aus dem geöffneten Browserfenster einfügen, wenn dort "Page Not Found" angezeigt wird. ',-1)])),_:1},8,["modelValue"]),i(g,{title:"3. Token abrufen","button-text":"Jetzt abrufen",subtype:"success",disabled:l.page_not_found_url===null,onButtonClicked:p.tesla_login},{help:a(()=>n[10]||(n[10]=[s(" 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)])),_:1},8,["disabled","onButtonClicked"]),n[13]||(n[13]=v("hr",null,null,-1)),i(d,{title:"Access Token",pattern:"^(ey).*",required:"","model-value":e.vehicle.configuration.token?e.vehicle.configuration.token.access_token:"","onUpdate:modelValue":n[2]||(n[2]=t=>e.updateConfiguration(t,"configuration.token.access_token"))},null,8,["model-value"]),i(d,{title:"Refresh Token",pattern:"^(ey).*",required:"","model-value":e.vehicle.configuration.token?e.vehicle.configuration.token.refresh_token:"","onUpdate:modelValue":n[3]||(n[3]=t=>e.updateConfiguration(t,"configuration.token.refresh_token"))},null,8,["model-value"]),i(u,{title:"Erstellt um",required:"","model-value":e.vehicle.configuration.token?e.vehicle.configuration.token.created_at:0,"onUpdate:modelValue":n[4]||(n[4]=t=>e.updateConfiguration(t,"configuration.token.created_at"))},{help:a(()=>n[11]||(n[11]=[s(" Unix Timestamp des Zeitpunktes, an dem das Token erzeugt wurde. ",-1)])),_:1},8,["model-value"]),i(u,{title:"Ungültig in",unit:"s",required:"","model-value":e.vehicle.configuration.token?e.vehicle.configuration.token.expires_in:0,"onUpdate:modelValue":n[5]||(n[5]=t=>e.updateConfiguration(t,"configuration.token.expires_in"))},{help:a(()=>n[12]||(n[12]=[s(" Zeitspanne in Sekunden, nach der das Token ungültig wird. ",-1)])),_:1},8,["model-value"])])}const D=h(T,[["render",U],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/vehicles/tesla/vehicle.vue"]]);export{D as default}; diff --git a/web/settings/assets/vehicle-b7df767f.js b/web/settings/assets/vehicle-44740467.js similarity index 88% rename from web/settings/assets/vehicle-b7df767f.js rename to web/settings/assets/vehicle-44740467.js index f6836da91b..f4655bf110 100644 --- a/web/settings/assets/vehicle-b7df767f.js +++ b/web/settings/assets/vehicle-44740467.js @@ -1 +1 @@ -import{V as o}from"./VehicleConfig-d23b00dd.js";import{_ as i,u as r,l as s,m as a,G as c,E as p,B as n,A as l}from"./vendor-cc4615be.js";import"./vendor-fortawesome-855c7d62.js";import"./index-d6a3d34f.js";import"./vendor-bootstrap-09a7ccd9.js";import"./vendor-jquery-13cad4c1.js";import"./vendor-axios-3dcaeec5.js";import"./vendor-sortablejs-7c09d6dd.js";import"./dynamic-import-helper-be004503.js";const d={name:"VehicleSocPSA",mixins:[o]},m={class:"vehicle-soc-psa"};function u(_,e,f,h,b,g){const t=r("openwb-base-alert");return s(),a("div",m,[c(t,{subtype:"danger"},{default:p(()=>e[0]||(e[0]=[n(" Diese Modul ist seit Änderungen der Schnittstellen durch PSA nicht mehr funktionsfähig und wird in einer zukünftigen Version entfernt. Bitte auf einen anderen Anbieter wechseln, z.B. Tronity.",-1),l("br",null,null,-1),n(" Bei vorhandener PSA-Integration in Heimautomation kann der SoC ggf. auch per MQTT übergeben werden. ",-1)])),_:1,__:[0]})])}const T=i(d,[["render",u],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/vehicles/psa/vehicle.vue"]]);export{T as default}; +import{V as o}from"./VehicleConfig-c2429926.js";import{_ as i,u as r,l as s,m as a,G as c,E as p,B as n,A as l}from"./vendor-cc4615be.js";import"./vendor-fortawesome-855c7d62.js";import"./index-5b5e1b75.js";import"./vendor-bootstrap-09a7ccd9.js";import"./vendor-jquery-13cad4c1.js";import"./vendor-axios-3dcaeec5.js";import"./vendor-sortablejs-7c09d6dd.js";import"./dynamic-import-helper-be004503.js";const d={name:"VehicleSocPSA",mixins:[o]},m={class:"vehicle-soc-psa"};function u(_,e,f,h,b,g){const t=r("openwb-base-alert");return s(),a("div",m,[c(t,{subtype:"danger"},{default:p(()=>e[0]||(e[0]=[n(" Diese Modul ist seit Änderungen der Schnittstellen durch PSA nicht mehr funktionsfähig und wird in einer zukünftigen Version entfernt. Bitte auf einen anderen Anbieter wechseln, z.B. Tronity.",-1),l("br",null,null,-1),n(" Bei vorhandener PSA-Integration in Heimautomation kann der SoC ggf. auch per MQTT übergeben werden. ",-1)])),_:1,__:[0]})])}const T=i(d,[["render",u],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/vehicles/psa/vehicle.vue"]]);export{T as default}; diff --git a/web/settings/assets/vehicle-fecce7b6.js b/web/settings/assets/vehicle-52abc450.js similarity index 89% rename from web/settings/assets/vehicle-fecce7b6.js rename to web/settings/assets/vehicle-52abc450.js index 9fd8056848..647b62d268 100644 --- a/web/settings/assets/vehicle-fecce7b6.js +++ b/web/settings/assets/vehicle-52abc450.js @@ -1 +1 @@ -import{V as p}from"./VehicleConfig-d23b00dd.js";import{_ as l,u as s,l as d,m,G as r,E as i,B as t,A as f}from"./vendor-cc4615be.js";import"./vendor-fortawesome-855c7d62.js";import"./index-d6a3d34f.js";import"./vendor-bootstrap-09a7ccd9.js";import"./vendor-jquery-13cad4c1.js";import"./vendor-axios-3dcaeec5.js";import"./vendor-sortablejs-7c09d6dd.js";import"./dynamic-import-helper-be004503.js";const v={name:"VehicleSocCupra",mixins:[p]},g={class:"vehicle-soc-cupra"};function b(o,e,w,C,c,_){const u=s("openwb-base-alert"),a=s("openwb-base-text-input");return d(),m("div",g,[r(u,{subtype:"info"},{default:i(()=>e[3]||(e[3]=[t(" Beschreibung der Konfiguration und weitere Hinweise im Wiki: ",-1),f("a",{href:"https://github.com/openWB/core/wiki/SoC-Cupra",target:"_blank",rel:"noopener noreferrer"},"Wiki für SoC-Modul Cupra",-1)])),_:1,__:[3]}),r(a,{title:"Benutzername",required:"",subtype:"user","model-value":o.vehicle.configuration.user_id,"onUpdate:modelValue":e[0]||(e[0]=n=>o.updateConfiguration(n,"configuration.user_id"))},{help:i(()=>e[4]||(e[4]=[t(" Der Benutzername(Email-Adresse) für die Anmeldung an den Cupra-Servern. ",-1)])),_:1},8,["model-value"]),r(a,{title:"Kennwort",required:"",subtype:"password","model-value":o.vehicle.configuration.password,"onUpdate:modelValue":e[1]||(e[1]=n=>o.updateConfiguration(n,"configuration.password"))},{help:i(()=>e[5]||(e[5]=[t(" Das Passwort für die Anmeldung an den Cupra-Servern. ",-1)])),_:1},8,["model-value"]),r(a,{title:"VIN",required:"","model-value":o.vehicle.configuration.vin,"onUpdate:modelValue":e[2]||(e[2]=n=>o.updateConfiguration(n,"configuration.vin"))},{help:i(()=>e[6]||(e[6]=[t(" Die Fahrgestellnummer des Fahrzeugs. ",-1)])),_:1},8,["model-value"])])}const q=l(v,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/vehicles/cupra/vehicle.vue"]]);export{q as default}; +import{V as p}from"./VehicleConfig-c2429926.js";import{_ as l,u as s,l as d,m,G as r,E as i,B as t,A as f}from"./vendor-cc4615be.js";import"./vendor-fortawesome-855c7d62.js";import"./index-5b5e1b75.js";import"./vendor-bootstrap-09a7ccd9.js";import"./vendor-jquery-13cad4c1.js";import"./vendor-axios-3dcaeec5.js";import"./vendor-sortablejs-7c09d6dd.js";import"./dynamic-import-helper-be004503.js";const v={name:"VehicleSocCupra",mixins:[p]},g={class:"vehicle-soc-cupra"};function b(o,e,w,C,c,_){const u=s("openwb-base-alert"),a=s("openwb-base-text-input");return d(),m("div",g,[r(u,{subtype:"info"},{default:i(()=>e[3]||(e[3]=[t(" Beschreibung der Konfiguration und weitere Hinweise im Wiki: ",-1),f("a",{href:"https://github.com/openWB/core/wiki/SoC-Cupra",target:"_blank",rel:"noopener noreferrer"},"Wiki für SoC-Modul Cupra",-1)])),_:1,__:[3]}),r(a,{title:"Benutzername",required:"",subtype:"user","model-value":o.vehicle.configuration.user_id,"onUpdate:modelValue":e[0]||(e[0]=n=>o.updateConfiguration(n,"configuration.user_id"))},{help:i(()=>e[4]||(e[4]=[t(" Der Benutzername(Email-Adresse) für die Anmeldung an den Cupra-Servern. ",-1)])),_:1},8,["model-value"]),r(a,{title:"Kennwort",required:"",subtype:"password","model-value":o.vehicle.configuration.password,"onUpdate:modelValue":e[1]||(e[1]=n=>o.updateConfiguration(n,"configuration.password"))},{help:i(()=>e[5]||(e[5]=[t(" Das Passwort für die Anmeldung an den Cupra-Servern. ",-1)])),_:1},8,["model-value"]),r(a,{title:"VIN",required:"","model-value":o.vehicle.configuration.vin,"onUpdate:modelValue":e[2]||(e[2]=n=>o.updateConfiguration(n,"configuration.vin"))},{help:i(()=>e[6]||(e[6]=[t(" Die Fahrgestellnummer des Fahrzeugs. ",-1)])),_:1},8,["model-value"])])}const q=l(v,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/vehicles/cupra/vehicle.vue"]]);export{q as default}; diff --git a/web/settings/assets/vehicle-ffce75a0.js b/web/settings/assets/vehicle-52cf89cb.js similarity index 94% rename from web/settings/assets/vehicle-ffce75a0.js rename to web/settings/assets/vehicle-52cf89cb.js index ee44404a30..2fdacb230c 100644 --- a/web/settings/assets/vehicle-ffce75a0.js +++ b/web/settings/assets/vehicle-52cf89cb.js @@ -1 +1 @@ -import{V as d}from"./VehicleConfig-d23b00dd.js";import{_ as u,u as p,l as a,m as f,G as i,E as n,B as l,A as t,F as r}from"./vendor-cc4615be.js";import"./vendor-fortawesome-855c7d62.js";import"./index-d6a3d34f.js";import"./vendor-bootstrap-09a7ccd9.js";import"./vendor-jquery-13cad4c1.js";import"./vendor-axios-3dcaeec5.js";import"./vendor-sortablejs-7c09d6dd.js";import"./dynamic-import-helper-be004503.js";const b={name:"VehicleSocMqtt",mixins:[d]},v={class:"vehicle-soc-mqtt"};function g(o,e,w,k,x,B){const s=p("openwb-base-copy-to-clipboard"),m=p("openwb-base-alert");return a(),f("div",v,[i(m,{subtype:"info"},{default:n(()=>[e[19]||(e[19]=l(" 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. ",-1)),t("ul",null,[t("li",null,[i(s,{class:"text-info",tooltip:"Topic kopieren"},{default:n(()=>[l(" openWB/set/mqtt/vehicle/"+r(o.vehicleId)+"/get/soc ",1)]),_:1}),e[0]||(e[0]=t("br",null,null,-1)),e[1]||(e[1]=l(" Fahrzeug-SoC mit Nachkommastellen (Float) oder Ganzzahl",-1)),e[2]||(e[2]=t("br",null,null,-1)),e[3]||(e[3]=l(" Beispiel: ",-1)),e[4]||(e[4]=t("span",{class:"text-info"},"89.5",-1))]),t("li",null,[i(s,{class:"text-info",tooltip:"Topic kopieren"},{default:n(()=>[l(" openWB/set/mqtt/vehicle/"+r(o.vehicleId)+"/get/soc_timestamp ",1)]),_:1}),e[5]||(e[5]=t("br",null,null,-1)),e[6]||(e[6]=l(" Zeitstempel des SoCs in s als Unix-Zeitstempel",-1)),e[7]||(e[7]=t("br",null,null,-1)),e[8]||(e[8]=l(" Diese Info ist optional. Wird kein Wert für das Topic veröffentlicht, wird bei der Abfrage automatisch der aktuelle Zeitstempel gesetzt.",-1)),e[9]||(e[9]=t("br",null,null,-1)),e[10]||(e[10]=l(" Beispiel: ",-1)),e[11]||(e[11]=t("span",{class:"text-info"},"1748339524",-1))]),t("li",null,[i(s,{class:"text-info",tooltip:"Topic kopieren"},{default:n(()=>[l(" openWB/set/mqtt/vehicle/"+r(o.vehicleId)+"/get/range ",1)]),_:1}),e[12]||(e[12]=t("br",null,null,-1)),e[13]||(e[13]=l(" Reichweite des Fahrzeugs in km mit Nachkommastellen (Float) oder Ganzzahl",-1)),e[14]||(e[14]=t("br",null,null,-1)),e[15]||(e[15]=l(" Diese Info ist optional.",-1)),e[16]||(e[16]=t("br",null,null,-1)),e[17]||(e[17]=l(" Beispiel: ",-1)),e[18]||(e[18]=t("span",{class:"text-info"},"356.5",-1))])])]),_:1,__:[19]})])}const N=u(b,[["render",g],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/vehicles/mqtt/vehicle.vue"]]);export{N as default}; +import{V as d}from"./VehicleConfig-c2429926.js";import{_ as u,u as p,l as a,m as f,G as i,E as n,B as l,A as t,F as r}from"./vendor-cc4615be.js";import"./vendor-fortawesome-855c7d62.js";import"./index-5b5e1b75.js";import"./vendor-bootstrap-09a7ccd9.js";import"./vendor-jquery-13cad4c1.js";import"./vendor-axios-3dcaeec5.js";import"./vendor-sortablejs-7c09d6dd.js";import"./dynamic-import-helper-be004503.js";const b={name:"VehicleSocMqtt",mixins:[d]},v={class:"vehicle-soc-mqtt"};function g(o,e,w,k,x,B){const s=p("openwb-base-copy-to-clipboard"),m=p("openwb-base-alert");return a(),f("div",v,[i(m,{subtype:"info"},{default:n(()=>[e[19]||(e[19]=l(" 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. ",-1)),t("ul",null,[t("li",null,[i(s,{class:"text-info",tooltip:"Topic kopieren"},{default:n(()=>[l(" openWB/set/mqtt/vehicle/"+r(o.vehicleId)+"/get/soc ",1)]),_:1}),e[0]||(e[0]=t("br",null,null,-1)),e[1]||(e[1]=l(" Fahrzeug-SoC mit Nachkommastellen (Float) oder Ganzzahl",-1)),e[2]||(e[2]=t("br",null,null,-1)),e[3]||(e[3]=l(" Beispiel: ",-1)),e[4]||(e[4]=t("span",{class:"text-info"},"89.5",-1))]),t("li",null,[i(s,{class:"text-info",tooltip:"Topic kopieren"},{default:n(()=>[l(" openWB/set/mqtt/vehicle/"+r(o.vehicleId)+"/get/soc_timestamp ",1)]),_:1}),e[5]||(e[5]=t("br",null,null,-1)),e[6]||(e[6]=l(" Zeitstempel des SoCs in s als Unix-Zeitstempel",-1)),e[7]||(e[7]=t("br",null,null,-1)),e[8]||(e[8]=l(" Diese Info ist optional. Wird kein Wert für das Topic veröffentlicht, wird bei der Abfrage automatisch der aktuelle Zeitstempel gesetzt.",-1)),e[9]||(e[9]=t("br",null,null,-1)),e[10]||(e[10]=l(" Beispiel: ",-1)),e[11]||(e[11]=t("span",{class:"text-info"},"1748339524",-1))]),t("li",null,[i(s,{class:"text-info",tooltip:"Topic kopieren"},{default:n(()=>[l(" openWB/set/mqtt/vehicle/"+r(o.vehicleId)+"/get/range ",1)]),_:1}),e[12]||(e[12]=t("br",null,null,-1)),e[13]||(e[13]=l(" Reichweite des Fahrzeugs in km mit Nachkommastellen (Float) oder Ganzzahl",-1)),e[14]||(e[14]=t("br",null,null,-1)),e[15]||(e[15]=l(" Diese Info ist optional.",-1)),e[16]||(e[16]=t("br",null,null,-1)),e[17]||(e[17]=l(" Beispiel: ",-1)),e[18]||(e[18]=t("span",{class:"text-info"},"356.5",-1))])])]),_:1,__:[19]})])}const N=u(b,[["render",g],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/vehicles/mqtt/vehicle.vue"]]);export{N as default}; diff --git a/web/settings/assets/vehicle-82b7d215.js b/web/settings/assets/vehicle-57c44e4f.js similarity index 97% rename from web/settings/assets/vehicle-82b7d215.js rename to web/settings/assets/vehicle-57c44e4f.js index fc3ee17153..cf3fd46da2 100644 --- a/web/settings/assets/vehicle-82b7d215.js +++ b/web/settings/assets/vehicle-57c44e4f.js @@ -1 +1 @@ -import{V as p}from"./VehicleConfig-d23b00dd.js";import{_ as g,u as s,l as b,m as f,G as l,E as r,B as t,A as n}from"./vendor-cc4615be.js";import"./vendor-fortawesome-855c7d62.js";import"./index-d6a3d34f.js";import"./vendor-bootstrap-09a7ccd9.js";import"./vendor-jquery-13cad4c1.js";import"./vendor-axios-3dcaeec5.js";import"./vendor-sortablejs-7c09d6dd.js";import"./dynamic-import-helper-be004503.js";const w={name:"VehicleSocBmwBimmerConnected",mixins:[p]},C={class:"vehicle-soc-bmwbc"},v={href:"https://bimmer-connected.readthedocs.io/en/latest/captcha/rest_of_world.html",target:"_blank"};function k(o,e,B,S,D,z){const a=s("openwb-base-alert"),u=s("openwb-base-text-input"),d=s("font-awesome-icon"),m=s("openwb-base-button-group-input");return b(),f("div",C,[l(a,{subtype:"info"},{default:r(()=>e[5]||(e[5]=[t(" Beschreibung der Konfiguration und weitere Hinweise im Wiki: ",-1),n("a",{href:"https://github.com/openWB/core/wiki/SoC-BMW-Mini",target:"_blank",rel:"noopener noreferrer"},"Wiki für SoC-Modul BMW & Mini",-1)])),_:1,__:[5]}),l(u,{title:"Benutzername",required:"",subtype:"user","model-value":o.vehicle.configuration.user_id,"onUpdate:modelValue":e[0]||(e[0]=i=>o.updateConfiguration(i,"configuration.user_id"))},{help:r(()=>e[6]||(e[6]=[t(" Der Benutzername für die Anmeldung an den BMW-Servern. ",-1)])),_:1},8,["model-value"]),l(u,{title:"Kennwort",required:"",subtype:"password","model-value":o.vehicle.configuration.password,"onUpdate:modelValue":e[1]||(e[1]=i=>o.updateConfiguration(i,"configuration.password"))},{help:r(()=>e[7]||(e[7]=[t(" Das Passwort für die Anmeldung an den BMW-Servern. ",-1)])),_:1},8,["model-value"]),l(u,{title:"VIN",required:"","model-value":o.vehicle.configuration.vin,"onUpdate:modelValue":e[2]||(e[2]=i=>o.updateConfiguration(i,"configuration.vin"))},{help:r(()=>e[8]||(e[8]=[t(" Die Fahrgestellnummer des Fahrzeugs. ",-1)])),_:1},8,["model-value"]),l(u,{title:"Captcha-Token",required:"","model-value":o.vehicle.configuration.captcha_token,"onUpdate:modelValue":e[3]||(e[3]=i=>o.updateConfiguration(i,"configuration.captcha_token"))},{help:r(()=>[e[18]||(e[18]=t(" Zum erstmaligen Login z.B. nach einem Neustart oder wenn die Abfrage nicht mehr funktioniert ist ein ",-1)),e[19]||(e[19]=n("b",null,"aktuelles Captcha-Token",-1)),e[20]||(e[20]=t(" notwendig.",-1)),e[21]||(e[21]=n("br",null,null,-1)),e[22]||(e[22]=t(" Falls mehr als ein Fahrzeug in dem CD-Account vorhanden ist, sollte nur das mit der niedrigsten openWB id mit einem gültigen Captcha-Token konfiguriert werden (PRIMARY).",-1)),e[23]||(e[23]=n("br",null,null,-1)),e[24]||(e[24]=t(" Das SoC-Modul des Fahrzeuges mit ",-1)),e[25]||(e[25]=n("b",null,"gültigem",-1)),e[26]||(e[26]=t(" Captcha-Token führt die SoC-Abfragen für alle Fahrzeuge im CD-Account aus.",-1)),e[27]||(e[27]=n("br",null,null,-1)),e[28]||(e[28]=t(" Die SECONDARY SoC-Module holen sich ihre Daten vom PRIMARY.",-1)),e[29]||(e[29]=n("br",null,null,-1)),e[30]||(e[30]=t(' Bei den weiteren Fahrzeugen ist daher als Captcha-Token der Wert "SECONDARY" (ohne Quotes) einzutragen.',-1)),e[31]||(e[31]=n("br",null,null,-1)),e[32]||(e[32]=t(" Um das Captcha-Token zu bekommen bitte folgende Schritte durchführen: ",-1)),n("ol",null,[n("li",null,[e[10]||(e[10]=t(" In einem neuen Browser-Tab auf diese Seite gehen:",-1)),e[11]||(e[11]=n("br",null,null,-1)),n("a",v,[e[9]||(e[9]=t(" Captcha Lösen ",-1)),l(d,{icon:["fas","external-link-alt"]})]),e[12]||(e[12]=t(" (https://bimmer-connected.readthedocs.io/en/latest/captcha/rest_of_world.html) ",-1))]),e[13]||(e[13]=n("li",null,' Dort falls angefragt das Captcha lösen und/oder "Ich bin ein Mensch" und dann Submit anklicken. Als Ergebnis wird ein sehr langer String angezeigt. ',-1)),e[14]||(e[14]=n("li",null,[t("Diesen String komplett mit "),n("b",null,"Copy&Paste"),t(" in das Feld Captcha-Token eingeben.")],-1)),e[15]||(e[15]=n("li",null,"Die Konfiguration speichern.",-1)),e[16]||(e[16]=n("li",null,[n("b",null,"Sofort einmal im Desktop manuell (Kreispfeil) den SoC für das Fahrzeug abrufen.")],-1)),e[17]||(e[17]=n("li",null,[n("b",null,"Fertig."),t(" Ab jetzt wird bis zum nächsten Neustart das sog. Refresh-Token verwendet.")],-1))]),e[33]||(e[33]=n("b",null,"Achtung: Das Captcha-Token kann nur einmal verwendet werden und gilt nur kurze Zeit!",-1))]),_:1},8,["model-value"]),l(m,{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":o.vehicle.configuration.calculate_soc,"onUpdate:modelValue":e[4]||(e[4]=i=>o.updateConfiguration(i,"configuration.calculate_soc"))},{help:r(()=>e[34]||(e[34]=[t(" Berechnet den Ladestand (SoC) während der Ladung. ",-1),n("br",null,null,-1),t(" Die Berechnung erfolgt über die Ladeleistung und die Ladedauer. ",-1),n("br",null,null,-1)])),_:1},8,["model-value"])])}const R=g(w,[["render",k],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/vehicles/bmwbc/vehicle.vue"]]);export{R as default}; +import{V as p}from"./VehicleConfig-c2429926.js";import{_ as g,u as s,l as b,m as f,G as l,E as r,B as t,A as n}from"./vendor-cc4615be.js";import"./vendor-fortawesome-855c7d62.js";import"./index-5b5e1b75.js";import"./vendor-bootstrap-09a7ccd9.js";import"./vendor-jquery-13cad4c1.js";import"./vendor-axios-3dcaeec5.js";import"./vendor-sortablejs-7c09d6dd.js";import"./dynamic-import-helper-be004503.js";const w={name:"VehicleSocBmwBimmerConnected",mixins:[p]},C={class:"vehicle-soc-bmwbc"},v={href:"https://bimmer-connected.readthedocs.io/en/latest/captcha/rest_of_world.html",target:"_blank"};function k(o,e,B,S,D,z){const a=s("openwb-base-alert"),u=s("openwb-base-text-input"),d=s("font-awesome-icon"),m=s("openwb-base-button-group-input");return b(),f("div",C,[l(a,{subtype:"info"},{default:r(()=>e[5]||(e[5]=[t(" Beschreibung der Konfiguration und weitere Hinweise im Wiki: ",-1),n("a",{href:"https://github.com/openWB/core/wiki/SoC-BMW-Mini",target:"_blank",rel:"noopener noreferrer"},"Wiki für SoC-Modul BMW & Mini",-1)])),_:1,__:[5]}),l(u,{title:"Benutzername",required:"",subtype:"user","model-value":o.vehicle.configuration.user_id,"onUpdate:modelValue":e[0]||(e[0]=i=>o.updateConfiguration(i,"configuration.user_id"))},{help:r(()=>e[6]||(e[6]=[t(" Der Benutzername für die Anmeldung an den BMW-Servern. ",-1)])),_:1},8,["model-value"]),l(u,{title:"Kennwort",required:"",subtype:"password","model-value":o.vehicle.configuration.password,"onUpdate:modelValue":e[1]||(e[1]=i=>o.updateConfiguration(i,"configuration.password"))},{help:r(()=>e[7]||(e[7]=[t(" Das Passwort für die Anmeldung an den BMW-Servern. ",-1)])),_:1},8,["model-value"]),l(u,{title:"VIN",required:"","model-value":o.vehicle.configuration.vin,"onUpdate:modelValue":e[2]||(e[2]=i=>o.updateConfiguration(i,"configuration.vin"))},{help:r(()=>e[8]||(e[8]=[t(" Die Fahrgestellnummer des Fahrzeugs. ",-1)])),_:1},8,["model-value"]),l(u,{title:"Captcha-Token",required:"","model-value":o.vehicle.configuration.captcha_token,"onUpdate:modelValue":e[3]||(e[3]=i=>o.updateConfiguration(i,"configuration.captcha_token"))},{help:r(()=>[e[18]||(e[18]=t(" Zum erstmaligen Login z.B. nach einem Neustart oder wenn die Abfrage nicht mehr funktioniert ist ein ",-1)),e[19]||(e[19]=n("b",null,"aktuelles Captcha-Token",-1)),e[20]||(e[20]=t(" notwendig.",-1)),e[21]||(e[21]=n("br",null,null,-1)),e[22]||(e[22]=t(" Falls mehr als ein Fahrzeug in dem CD-Account vorhanden ist, sollte nur das mit der niedrigsten openWB id mit einem gültigen Captcha-Token konfiguriert werden (PRIMARY).",-1)),e[23]||(e[23]=n("br",null,null,-1)),e[24]||(e[24]=t(" Das SoC-Modul des Fahrzeuges mit ",-1)),e[25]||(e[25]=n("b",null,"gültigem",-1)),e[26]||(e[26]=t(" Captcha-Token führt die SoC-Abfragen für alle Fahrzeuge im CD-Account aus.",-1)),e[27]||(e[27]=n("br",null,null,-1)),e[28]||(e[28]=t(" Die SECONDARY SoC-Module holen sich ihre Daten vom PRIMARY.",-1)),e[29]||(e[29]=n("br",null,null,-1)),e[30]||(e[30]=t(' Bei den weiteren Fahrzeugen ist daher als Captcha-Token der Wert "SECONDARY" (ohne Quotes) einzutragen.',-1)),e[31]||(e[31]=n("br",null,null,-1)),e[32]||(e[32]=t(" Um das Captcha-Token zu bekommen bitte folgende Schritte durchführen: ",-1)),n("ol",null,[n("li",null,[e[10]||(e[10]=t(" In einem neuen Browser-Tab auf diese Seite gehen:",-1)),e[11]||(e[11]=n("br",null,null,-1)),n("a",v,[e[9]||(e[9]=t(" Captcha Lösen ",-1)),l(d,{icon:["fas","external-link-alt"]})]),e[12]||(e[12]=t(" (https://bimmer-connected.readthedocs.io/en/latest/captcha/rest_of_world.html) ",-1))]),e[13]||(e[13]=n("li",null,' Dort falls angefragt das Captcha lösen und/oder "Ich bin ein Mensch" und dann Submit anklicken. Als Ergebnis wird ein sehr langer String angezeigt. ',-1)),e[14]||(e[14]=n("li",null,[t("Diesen String komplett mit "),n("b",null,"Copy&Paste"),t(" in das Feld Captcha-Token eingeben.")],-1)),e[15]||(e[15]=n("li",null,"Die Konfiguration speichern.",-1)),e[16]||(e[16]=n("li",null,[n("b",null,"Sofort einmal im Desktop manuell (Kreispfeil) den SoC für das Fahrzeug abrufen.")],-1)),e[17]||(e[17]=n("li",null,[n("b",null,"Fertig."),t(" Ab jetzt wird bis zum nächsten Neustart das sog. Refresh-Token verwendet.")],-1))]),e[33]||(e[33]=n("b",null,"Achtung: Das Captcha-Token kann nur einmal verwendet werden und gilt nur kurze Zeit!",-1))]),_:1},8,["model-value"]),l(m,{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":o.vehicle.configuration.calculate_soc,"onUpdate:modelValue":e[4]||(e[4]=i=>o.updateConfiguration(i,"configuration.calculate_soc"))},{help:r(()=>e[34]||(e[34]=[t(" Berechnet den Ladestand (SoC) während der Ladung. ",-1),n("br",null,null,-1),t(" Die Berechnung erfolgt über die Ladeleistung und die Ladedauer. ",-1),n("br",null,null,-1)])),_:1},8,["model-value"])])}const R=g(w,[["render",k],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/vehicles/bmwbc/vehicle.vue"]]);export{R as default}; diff --git a/web/settings/assets/vehicle-58f224c2.js b/web/settings/assets/vehicle-5a13dbc9.js similarity index 94% rename from web/settings/assets/vehicle-58f224c2.js rename to web/settings/assets/vehicle-5a13dbc9.js index a67a403c45..7c4d22139d 100644 --- a/web/settings/assets/vehicle-58f224c2.js +++ b/web/settings/assets/vehicle-5a13dbc9.js @@ -1 +1 @@ -import{V as p}from"./VehicleConfig-d23b00dd.js";import{_ as m,u as l,l as f,m as b,G as i,E as r,B as t,A as a}from"./vendor-cc4615be.js";import"./vendor-fortawesome-855c7d62.js";import"./index-d6a3d34f.js";import"./vendor-bootstrap-09a7ccd9.js";import"./vendor-jquery-13cad4c1.js";import"./vendor-axios-3dcaeec5.js";import"./vendor-sortablejs-7c09d6dd.js";import"./dynamic-import-helper-be004503.js";const g={name:"VehicleSocVwid",mixins:[p]},v={class:"vehicle-soc-vwid"};function w(n,e,V,c,_,B){const s=l("openwb-base-alert"),u=l("openwb-base-text-input"),d=l("openwb-base-button-group-input");return f(),b("div",v,[i(s,{subtype:"info"},{default:r(()=>e[4]||(e[4]=[t(" Beschreibung der Konfiguration und weitere Hinweise im Wiki: ",-1),a("a",{href:"https://github.com/openWB/core/wiki/SoC-VWId",target:"_blank",rel:"noopener noreferrer"},"Wiki für SoC-Modul VWId",-1)])),_:1,__:[4]}),i(u,{title:"Benutzername",required:"",subtype:"user","model-value":n.vehicle.configuration.user_id,"onUpdate:modelValue":e[0]||(e[0]=o=>n.updateConfiguration(o,"configuration.user_id"))},{help:r(()=>e[5]||(e[5]=[t(" Der Benutzername(Email-Adresse) für die Anmeldung an den VW-Servern. ",-1)])),_:1},8,["model-value"]),i(u,{title:"Kennwort",required:"",subtype:"password","model-value":n.vehicle.configuration.password,"onUpdate:modelValue":e[1]||(e[1]=o=>n.updateConfiguration(o,"configuration.password"))},{help:r(()=>e[6]||(e[6]=[t(" Das Passwort für die Anmeldung an den VW-Servern. ",-1)])),_:1},8,["model-value"]),i(u,{title:"VIN",required:"","model-value":n.vehicle.configuration.vin,"onUpdate:modelValue":e[2]||(e[2]=o=>n.updateConfiguration(o,"configuration.vin"))},{help:r(()=>e[7]||(e[7]=[t(" Die Fahrgestellnummer des Fahrzeugs. ",-1)])),_:1},8,["model-value"]),i(d,{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":n.vehicle.configuration.calculate_soc,"onUpdate:modelValue":e[3]||(e[3]=o=>n.updateConfiguration(o,"configuration.calculate_soc"))},{help:r(()=>e[8]||(e[8]=[t(" Berechnet den Ladestand (SoC) während der Ladung. ",-1),a("br",null,null,-1),t(" Die Berechnung erfolgt über die Ladeleistung und die Ladedauer. ",-1),a("br",null,null,-1)])),_:1},8,["model-value"])])}const U=m(g,[["render",w],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/vehicles/vwid/vehicle.vue"]]);export{U as default}; +import{V as p}from"./VehicleConfig-c2429926.js";import{_ as m,u as l,l as f,m as b,G as i,E as r,B as t,A as a}from"./vendor-cc4615be.js";import"./vendor-fortawesome-855c7d62.js";import"./index-5b5e1b75.js";import"./vendor-bootstrap-09a7ccd9.js";import"./vendor-jquery-13cad4c1.js";import"./vendor-axios-3dcaeec5.js";import"./vendor-sortablejs-7c09d6dd.js";import"./dynamic-import-helper-be004503.js";const g={name:"VehicleSocVwid",mixins:[p]},v={class:"vehicle-soc-vwid"};function w(n,e,V,c,_,B){const s=l("openwb-base-alert"),u=l("openwb-base-text-input"),d=l("openwb-base-button-group-input");return f(),b("div",v,[i(s,{subtype:"info"},{default:r(()=>e[4]||(e[4]=[t(" Beschreibung der Konfiguration und weitere Hinweise im Wiki: ",-1),a("a",{href:"https://github.com/openWB/core/wiki/SoC-VWId",target:"_blank",rel:"noopener noreferrer"},"Wiki für SoC-Modul VWId",-1)])),_:1,__:[4]}),i(u,{title:"Benutzername",required:"",subtype:"user","model-value":n.vehicle.configuration.user_id,"onUpdate:modelValue":e[0]||(e[0]=o=>n.updateConfiguration(o,"configuration.user_id"))},{help:r(()=>e[5]||(e[5]=[t(" Der Benutzername(Email-Adresse) für die Anmeldung an den VW-Servern. ",-1)])),_:1},8,["model-value"]),i(u,{title:"Kennwort",required:"",subtype:"password","model-value":n.vehicle.configuration.password,"onUpdate:modelValue":e[1]||(e[1]=o=>n.updateConfiguration(o,"configuration.password"))},{help:r(()=>e[6]||(e[6]=[t(" Das Passwort für die Anmeldung an den VW-Servern. ",-1)])),_:1},8,["model-value"]),i(u,{title:"VIN",required:"","model-value":n.vehicle.configuration.vin,"onUpdate:modelValue":e[2]||(e[2]=o=>n.updateConfiguration(o,"configuration.vin"))},{help:r(()=>e[7]||(e[7]=[t(" Die Fahrgestellnummer des Fahrzeugs. ",-1)])),_:1},8,["model-value"]),i(d,{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":n.vehicle.configuration.calculate_soc,"onUpdate:modelValue":e[3]||(e[3]=o=>n.updateConfiguration(o,"configuration.calculate_soc"))},{help:r(()=>e[8]||(e[8]=[t(" Berechnet den Ladestand (SoC) während der Ladung. ",-1),a("br",null,null,-1),t(" Die Berechnung erfolgt über die Ladeleistung und die Ladedauer. ",-1),a("br",null,null,-1)])),_:1},8,["model-value"])])}const U=m(g,[["render",w],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/vehicles/vwid/vehicle.vue"]]);export{U as default}; diff --git a/web/settings/assets/vehicle-e5b778cb.js b/web/settings/assets/vehicle-63d2e44b.js similarity index 82% rename from web/settings/assets/vehicle-e5b778cb.js rename to web/settings/assets/vehicle-63d2e44b.js index 432de29845..92a46c0594 100644 --- a/web/settings/assets/vehicle-e5b778cb.js +++ b/web/settings/assets/vehicle-63d2e44b.js @@ -1 +1 @@ -import{V as n}from"./VehicleConfig-d23b00dd.js";import{_ as s,u as i,l as o,m as r,G as a,E as d,B as l}from"./vendor-cc4615be.js";import"./vendor-fortawesome-855c7d62.js";import"./index-d6a3d34f.js";import"./vendor-bootstrap-09a7ccd9.js";import"./vendor-jquery-13cad4c1.js";import"./vendor-axios-3dcaeec5.js";import"./vendor-sortablejs-7c09d6dd.js";import"./dynamic-import-helper-be004503.js";const p={name:"VehicleSocManual",mixins:[n]},c={class:"vehicle-soc-tesla"};function m(u,e,_,f,h,g){const t=i("openwb-base-alert");return o(),r("div",c,[a(t,{subtype:"info"},{default:d(()=>e[0]||(e[0]=[l(' 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)])),_:1,__:[0]})])}const z=s(p,[["render",m],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/vehicles/manual/vehicle.vue"]]);export{z as default}; +import{V as n}from"./VehicleConfig-c2429926.js";import{_ as s,u as i,l as o,m as r,G as a,E as d,B as l}from"./vendor-cc4615be.js";import"./vendor-fortawesome-855c7d62.js";import"./index-5b5e1b75.js";import"./vendor-bootstrap-09a7ccd9.js";import"./vendor-jquery-13cad4c1.js";import"./vendor-axios-3dcaeec5.js";import"./vendor-sortablejs-7c09d6dd.js";import"./dynamic-import-helper-be004503.js";const p={name:"VehicleSocManual",mixins:[n]},c={class:"vehicle-soc-tesla"};function m(u,e,_,f,h,g){const t=i("openwb-base-alert");return o(),r("div",c,[a(t,{subtype:"info"},{default:d(()=>e[0]||(e[0]=[l(' 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)])),_:1,__:[0]})])}const z=s(p,[["render",m],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/vehicles/manual/vehicle.vue"]]);export{z as default}; diff --git a/web/settings/assets/vehicle-aad2b021.js b/web/settings/assets/vehicle-8c574416.js similarity index 89% rename from web/settings/assets/vehicle-aad2b021.js rename to web/settings/assets/vehicle-8c574416.js index a1cd377aa8..29e0ec1044 100644 --- a/web/settings/assets/vehicle-aad2b021.js +++ b/web/settings/assets/vehicle-8c574416.js @@ -1 +1 @@ -import{V as u}from"./VehicleConfig-d23b00dd.js";import{_ as a,u as s,l as d,m as p,G as t,E as r,B as l}from"./vendor-cc4615be.js";import"./vendor-fortawesome-855c7d62.js";import"./index-d6a3d34f.js";import"./vendor-bootstrap-09a7ccd9.js";import"./vendor-jquery-13cad4c1.js";import"./vendor-axios-3dcaeec5.js";import"./vendor-sortablejs-7c09d6dd.js";import"./dynamic-import-helper-be004503.js";const m={name:"VehicleSocKia",mixins:[u]},v={class:"vehicle-soc-kia"};function f(o,e,g,w,V,b){const i=s("openwb-base-text-input");return d(),p("div",v,[t(i,{title:"Benutzername",required:"",subtype:"user","model-value":o.vehicle.configuration.user_id,"onUpdate:modelValue":e[0]||(e[0]=n=>o.updateConfiguration(n,"configuration.user_id"))},{help:r(()=>e[4]||(e[4]=[l(" Der Benutzername für die Anmeldung an den Servern. ",-1)])),_:1},8,["model-value"]),t(i,{title:"Kennwort",required:"",subtype:"password","model-value":o.vehicle.configuration.password,"onUpdate:modelValue":e[1]||(e[1]=n=>o.updateConfiguration(n,"configuration.password"))},{help:r(()=>e[5]||(e[5]=[l(" Das Passwort für die Anmeldung an den Servern. ",-1)])),_:1},8,["model-value"]),t(i,{title:"PIN",required:"",subtype:"password","model-value":o.vehicle.configuration.pin,"onUpdate:modelValue":e[2]||(e[2]=n=>o.updateConfiguration(n,"configuration.pin"))},{help:r(()=>e[6]||(e[6]=[l(" Die PIN für die Anmeldung an den Servern. ",-1)])),_:1},8,["model-value"]),t(i,{title:"VIN",required:"","model-value":o.vehicle.configuration.vin,"onUpdate:modelValue":e[3]||(e[3]=n=>o.updateConfiguration(n,"configuration.vin"))},{help:r(()=>e[7]||(e[7]=[l(" Die Fahrgestellnummer des Fahrzeugs. ",-1)])),_:1},8,["model-value"])])}const h=a(m,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/vehicles/kia/vehicle.vue"]]);export{h as default}; +import{V as u}from"./VehicleConfig-c2429926.js";import{_ as a,u as s,l as d,m as p,G as t,E as r,B as l}from"./vendor-cc4615be.js";import"./vendor-fortawesome-855c7d62.js";import"./index-5b5e1b75.js";import"./vendor-bootstrap-09a7ccd9.js";import"./vendor-jquery-13cad4c1.js";import"./vendor-axios-3dcaeec5.js";import"./vendor-sortablejs-7c09d6dd.js";import"./dynamic-import-helper-be004503.js";const m={name:"VehicleSocKia",mixins:[u]},v={class:"vehicle-soc-kia"};function f(o,e,g,w,V,b){const i=s("openwb-base-text-input");return d(),p("div",v,[t(i,{title:"Benutzername",required:"",subtype:"user","model-value":o.vehicle.configuration.user_id,"onUpdate:modelValue":e[0]||(e[0]=n=>o.updateConfiguration(n,"configuration.user_id"))},{help:r(()=>e[4]||(e[4]=[l(" Der Benutzername für die Anmeldung an den Servern. ",-1)])),_:1},8,["model-value"]),t(i,{title:"Kennwort",required:"",subtype:"password","model-value":o.vehicle.configuration.password,"onUpdate:modelValue":e[1]||(e[1]=n=>o.updateConfiguration(n,"configuration.password"))},{help:r(()=>e[5]||(e[5]=[l(" Das Passwort für die Anmeldung an den Servern. ",-1)])),_:1},8,["model-value"]),t(i,{title:"PIN",required:"",subtype:"password","model-value":o.vehicle.configuration.pin,"onUpdate:modelValue":e[2]||(e[2]=n=>o.updateConfiguration(n,"configuration.pin"))},{help:r(()=>e[6]||(e[6]=[l(" Die PIN für die Anmeldung an den Servern. ",-1)])),_:1},8,["model-value"]),t(i,{title:"VIN",required:"","model-value":o.vehicle.configuration.vin,"onUpdate:modelValue":e[3]||(e[3]=n=>o.updateConfiguration(n,"configuration.vin"))},{help:r(()=>e[7]||(e[7]=[l(" Die Fahrgestellnummer des Fahrzeugs. ",-1)])),_:1},8,["model-value"])])}const h=a(m,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/vehicles/kia/vehicle.vue"]]);export{h as default}; diff --git a/web/settings/assets/vehicle-bb0466e5.js b/web/settings/assets/vehicle-9e586137.js similarity index 86% rename from web/settings/assets/vehicle-bb0466e5.js rename to web/settings/assets/vehicle-9e586137.js index 41803b733e..8189d6a869 100644 --- a/web/settings/assets/vehicle-bb0466e5.js +++ b/web/settings/assets/vehicle-9e586137.js @@ -1 +1 @@ -import{V as r}from"./VehicleConfig-d23b00dd.js";import{_ as l,u as s,l as a,m as u,G as i,E as p,B as d}from"./vendor-cc4615be.js";import"./vendor-fortawesome-855c7d62.js";import"./index-d6a3d34f.js";import"./vendor-bootstrap-09a7ccd9.js";import"./vendor-jquery-13cad4c1.js";import"./vendor-axios-3dcaeec5.js";import"./vendor-sortablejs-7c09d6dd.js";import"./dynamic-import-helper-be004503.js";const m={name:"VehicleSocSmartHello",mixins:[r]},f={class:"vehicle-soc-smart-hello"};function v(o,e,c,g,h,V){const n=s("openwb-base-text-input");return a(),u("div",f,[i(n,{title:"Benutzername",subtype:"user",required:"","model-value":o.vehicle.configuration.user_id,"onUpdate:modelValue":e[0]||(e[0]=t=>o.updateConfiguration(t,"configuration.user_id"))},null,8,["model-value"]),i(n,{title:"Kennwort",subtype:"password",required:"","model-value":o.vehicle.configuration.password,"onUpdate:modelValue":e[1]||(e[1]=t=>o.updateConfiguration(t,"configuration.password"))},null,8,["model-value"]),i(n,{title:"VIN",subtype:"text","model-value":o.vehicle.configuration.VIN,"onUpdate:modelValue":e[2]||(e[2]=t=>o.updateConfiguration(t,"configuration.VIN"))},{help:p(()=>e[3]||(e[3]=[d(" Fahrgestellnummer (VIN) des Fahrzeugs. Notwendig falls mehrere Fahrzeuge im Account des Herstellers vorhanden sind. ",-1)])),_:1},8,["model-value"])])}const y=l(m,[["render",v],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/vehicles/smarthello/vehicle.vue"]]);export{y as default}; +import{V as r}from"./VehicleConfig-c2429926.js";import{_ as l,u as s,l as a,m as u,G as i,E as p,B as d}from"./vendor-cc4615be.js";import"./vendor-fortawesome-855c7d62.js";import"./index-5b5e1b75.js";import"./vendor-bootstrap-09a7ccd9.js";import"./vendor-jquery-13cad4c1.js";import"./vendor-axios-3dcaeec5.js";import"./vendor-sortablejs-7c09d6dd.js";import"./dynamic-import-helper-be004503.js";const m={name:"VehicleSocSmartHello",mixins:[r]},f={class:"vehicle-soc-smart-hello"};function v(o,e,c,g,h,V){const n=s("openwb-base-text-input");return a(),u("div",f,[i(n,{title:"Benutzername",subtype:"user",required:"","model-value":o.vehicle.configuration.user_id,"onUpdate:modelValue":e[0]||(e[0]=t=>o.updateConfiguration(t,"configuration.user_id"))},null,8,["model-value"]),i(n,{title:"Kennwort",subtype:"password",required:"","model-value":o.vehicle.configuration.password,"onUpdate:modelValue":e[1]||(e[1]=t=>o.updateConfiguration(t,"configuration.password"))},null,8,["model-value"]),i(n,{title:"VIN",subtype:"text","model-value":o.vehicle.configuration.VIN,"onUpdate:modelValue":e[2]||(e[2]=t=>o.updateConfiguration(t,"configuration.VIN"))},{help:p(()=>e[3]||(e[3]=[d(" Fahrgestellnummer (VIN) des Fahrzeugs. Notwendig falls mehrere Fahrzeuge im Account des Herstellers vorhanden sind. ",-1)])),_:1},8,["model-value"])])}const y=l(m,[["render",v],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/vehicles/smarthello/vehicle.vue"]]);export{y as default}; diff --git a/web/settings/assets/vehicle-32461e6b.js b/web/settings/assets/vehicle-b1993187.js similarity index 91% rename from web/settings/assets/vehicle-32461e6b.js rename to web/settings/assets/vehicle-b1993187.js index dbf9a91767..807a550b46 100644 --- a/web/settings/assets/vehicle-32461e6b.js +++ b/web/settings/assets/vehicle-b1993187.js @@ -1 +1 @@ -import{V as a}from"./VehicleConfig-d23b00dd.js";import{_ as s,u as p,l as u,m,G as n,E as r,B as l}from"./vendor-cc4615be.js";import"./vendor-fortawesome-855c7d62.js";import"./index-d6a3d34f.js";import"./vendor-bootstrap-09a7ccd9.js";import"./vendor-jquery-13cad4c1.js";import"./vendor-axios-3dcaeec5.js";import"./vendor-sortablejs-7c09d6dd.js";import"./dynamic-import-helper-be004503.js";const d={name:"VehicleSocHttp",mixins:[a]},c={class:"vehicle-soc-http"};function v(t,e,f,h,g,w){const i=p("openwb-base-text-input");return u(),m("div",c,[n(i,{title:"SoC URL",subtype:"url",required:"","model-value":t.vehicle.configuration.soc_url,"onUpdate:modelValue":e[0]||(e[0]=o=>t.updateConfiguration(o,"configuration.soc_url"))},{help:r(()=>e[2]||(e[2]=[l(" 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)])),_:1},8,["model-value"]),n(i,{title:"Reichweiten URL",subtype:"url","model-value":t.vehicle.configuration.range_url,"onUpdate:modelValue":e[1]||(e[1]=o=>t.updateConfiguration(o,"configuration.range_url"))},{help:r(()=>e[3]||(e[3]=[l(" 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)])),_:1},8,["model-value"])])}const R=s(d,[["render",v],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/vehicles/http/vehicle.vue"]]);export{R as default}; +import{V as a}from"./VehicleConfig-c2429926.js";import{_ as s,u as p,l as u,m,G as n,E as r,B as l}from"./vendor-cc4615be.js";import"./vendor-fortawesome-855c7d62.js";import"./index-5b5e1b75.js";import"./vendor-bootstrap-09a7ccd9.js";import"./vendor-jquery-13cad4c1.js";import"./vendor-axios-3dcaeec5.js";import"./vendor-sortablejs-7c09d6dd.js";import"./dynamic-import-helper-be004503.js";const d={name:"VehicleSocHttp",mixins:[a]},c={class:"vehicle-soc-http"};function v(t,e,f,h,g,w){const i=p("openwb-base-text-input");return u(),m("div",c,[n(i,{title:"SoC URL",subtype:"url",required:"","model-value":t.vehicle.configuration.soc_url,"onUpdate:modelValue":e[0]||(e[0]=o=>t.updateConfiguration(o,"configuration.soc_url"))},{help:r(()=>e[2]||(e[2]=[l(" 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)])),_:1},8,["model-value"]),n(i,{title:"Reichweiten URL",subtype:"url","model-value":t.vehicle.configuration.range_url,"onUpdate:modelValue":e[1]||(e[1]=o=>t.updateConfiguration(o,"configuration.range_url"))},{help:r(()=>e[3]||(e[3]=[l(" 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)])),_:1},8,["model-value"])])}const R=s(d,[["render",v],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/vehicles/http/vehicle.vue"]]);export{R as default}; diff --git a/web/settings/assets/vehicle-06b83a61.js b/web/settings/assets/vehicle-be11133e.js similarity index 94% rename from web/settings/assets/vehicle-06b83a61.js rename to web/settings/assets/vehicle-be11133e.js index f356f35fc9..145149e6ee 100644 --- a/web/settings/assets/vehicle-06b83a61.js +++ b/web/settings/assets/vehicle-be11133e.js @@ -1 +1 @@ -import{V as u}from"./VehicleConfig-d23b00dd.js";import{_ as d,u as l,l as s,m as p,G as n,E as m,B as a,A as v}from"./vendor-cc4615be.js";import"./vendor-fortawesome-855c7d62.js";import"./index-d6a3d34f.js";import"./vendor-bootstrap-09a7ccd9.js";import"./vendor-jquery-13cad4c1.js";import"./vendor-axios-3dcaeec5.js";import"./vendor-sortablejs-7c09d6dd.js";import"./dynamic-import-helper-be004503.js";const f={name:"VehicleSocAiways",mixins:[u]},g={class:"vehicle-soc-aiways"};function c(o,e,w,V,b,C){const r=l("openwb-base-alert"),t=l("openwb-base-text-input");return s(),p("div",g,[n(r,{subtype:"info"},{default:m(()=>e[6]||(e[6]=[a(" Alle Werte müssen von der Aiways App abgefangen werden. Dazu kann diese ",-1),v("a",{href:"https://community.home-assistant.io/t/read-aiways-u5-state-of-charge/466441/5"}," Anleitung ",-1),a(" verwendet werden. ",-1)])),_:1,__:[6]}),n(t,{title:"User ID",required:"","model-value":o.vehicle.configuration.user_id,"onUpdate:modelValue":e[0]||(e[0]=i=>o.updateConfiguration(i,"configuration.user_id"))},null,8,["model-value"]),n(t,{title:"VIN",required:"","model-value":o.vehicle.configuration.vin,"onUpdate:modelValue":e[1]||(e[1]=i=>o.updateConfiguration(i,"configuration.vin"))},null,8,["model-value"]),n(t,{title:"Device ID",required:"","model-value":o.vehicle.configuration.device_id,"onUpdate:modelValue":e[2]||(e[2]=i=>o.updateConfiguration(i,"configuration.device_id"))},null,8,["model-value"]),n(t,{title:"Register ID",required:"","model-value":o.vehicle.configuration.register_id,"onUpdate:modelValue":e[3]||(e[3]=i=>o.updateConfiguration(i,"configuration.register_id"))},null,8,["model-value"]),n(t,{title:"Token",required:"","model-value":o.vehicle.configuration.token,"onUpdate:modelValue":e[4]||(e[4]=i=>o.updateConfiguration(i,"configuration.token"))},null,8,["model-value"]),n(t,{title:"Condition URL",subtype:"url",required:"","model-value":o.vehicle.configuration.condition_url,"onUpdate:modelValue":e[5]||(e[5]=i=>o.updateConfiguration(i,"configuration.condition_url"))},null,8,["model-value"])])}const I=d(f,[["render",c],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/vehicles/aiways/vehicle.vue"]]);export{I as default}; +import{V as u}from"./VehicleConfig-c2429926.js";import{_ as d,u as l,l as s,m as p,G as n,E as m,B as a,A as v}from"./vendor-cc4615be.js";import"./vendor-fortawesome-855c7d62.js";import"./index-5b5e1b75.js";import"./vendor-bootstrap-09a7ccd9.js";import"./vendor-jquery-13cad4c1.js";import"./vendor-axios-3dcaeec5.js";import"./vendor-sortablejs-7c09d6dd.js";import"./dynamic-import-helper-be004503.js";const f={name:"VehicleSocAiways",mixins:[u]},g={class:"vehicle-soc-aiways"};function c(o,e,w,V,b,C){const r=l("openwb-base-alert"),t=l("openwb-base-text-input");return s(),p("div",g,[n(r,{subtype:"info"},{default:m(()=>e[6]||(e[6]=[a(" Alle Werte müssen von der Aiways App abgefangen werden. Dazu kann diese ",-1),v("a",{href:"https://community.home-assistant.io/t/read-aiways-u5-state-of-charge/466441/5"}," Anleitung ",-1),a(" verwendet werden. ",-1)])),_:1,__:[6]}),n(t,{title:"User ID",required:"","model-value":o.vehicle.configuration.user_id,"onUpdate:modelValue":e[0]||(e[0]=i=>o.updateConfiguration(i,"configuration.user_id"))},null,8,["model-value"]),n(t,{title:"VIN",required:"","model-value":o.vehicle.configuration.vin,"onUpdate:modelValue":e[1]||(e[1]=i=>o.updateConfiguration(i,"configuration.vin"))},null,8,["model-value"]),n(t,{title:"Device ID",required:"","model-value":o.vehicle.configuration.device_id,"onUpdate:modelValue":e[2]||(e[2]=i=>o.updateConfiguration(i,"configuration.device_id"))},null,8,["model-value"]),n(t,{title:"Register ID",required:"","model-value":o.vehicle.configuration.register_id,"onUpdate:modelValue":e[3]||(e[3]=i=>o.updateConfiguration(i,"configuration.register_id"))},null,8,["model-value"]),n(t,{title:"Token",required:"","model-value":o.vehicle.configuration.token,"onUpdate:modelValue":e[4]||(e[4]=i=>o.updateConfiguration(i,"configuration.token"))},null,8,["model-value"]),n(t,{title:"Condition URL",subtype:"url",required:"","model-value":o.vehicle.configuration.condition_url,"onUpdate:modelValue":e[5]||(e[5]=i=>o.updateConfiguration(i,"configuration.condition_url"))},null,8,["model-value"])])}const I=d(f,[["render",c],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/vehicles/aiways/vehicle.vue"]]);export{I as default}; diff --git a/web/settings/assets/vehicle-c9f969dc.js b/web/settings/assets/vehicle-c1d27dfd.js similarity index 93% rename from web/settings/assets/vehicle-c9f969dc.js rename to web/settings/assets/vehicle-c1d27dfd.js index 3b506db22c..cbdde58735 100644 --- a/web/settings/assets/vehicle-c9f969dc.js +++ b/web/settings/assets/vehicle-c1d27dfd.js @@ -1 +1 @@ -import{V as u}from"./VehicleConfig-d23b00dd.js";import{_ as p,u as a,l as d,m,G as o,E as i,B as r}from"./vendor-cc4615be.js";import"./vendor-fortawesome-855c7d62.js";import"./index-d6a3d34f.js";import"./vendor-bootstrap-09a7ccd9.js";import"./vendor-jquery-13cad4c1.js";import"./vendor-axios-3dcaeec5.js";import"./vendor-sortablejs-7c09d6dd.js";import"./dynamic-import-helper-be004503.js";const v={name:"VehicleSocLeaf",mixins:[u]},f={class:"vehicle-soc-leaf"};function g(t,e,c,b,w,N){const s=a("openwb-base-text-input"),l=a("openwb-base-select-input");return d(),m("div",f,[o(s,{title:"Benutzername",required:"",subtype:"user","model-value":t.vehicle.configuration.user_id,"onUpdate:modelValue":e[0]||(e[0]=n=>t.updateConfiguration(n,"configuration.user_id"))},{help:i(()=>e[3]||(e[3]=[r(" Der Benutzername für die Anmeldung an den Nissan-Servern. ",-1)])),_:1},8,["model-value"]),o(s,{title:"Kennwort",required:"",subtype:"password","model-value":t.vehicle.configuration.password,"onUpdate:modelValue":e[1]||(e[1]=n=>t.updateConfiguration(n,"configuration.password"))},{help:i(()=>e[4]||(e[4]=[r(" Das Passwort für die Anmeldung an den Nissan-Servern. ",-1)])),_:1},8,["model-value"]),o(l,{title:"Region",required:"","not-selected":"Bitte auswählen",options:[{value:"NE",text:"Europa (getestet)"},{value:"NNA",text:"USA (nicht getestet)"},{value:"NCI",text:"Kanada (nicht getestet)"},{value:"NMA",text:"Australien (nicht getestet)"},{value:"NML",text:"Japan (nicht getestet)"}],"model-value":t.vehicle.configuration.region,"onUpdate:modelValue":e[2]||(e[2]=n=>t.updateConfiguration(n,"configuration.region"))},{help:i(()=>e[5]||(e[5]=[r(" Die Region, in der das Fahrzeug betrieben wird. ",-1)])),_:1},8,["model-value"])])}const U=p(v,[["render",g],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/vehicles/leaf/vehicle.vue"]]);export{U as default}; +import{V as u}from"./VehicleConfig-c2429926.js";import{_ as p,u as a,l as d,m,G as o,E as i,B as r}from"./vendor-cc4615be.js";import"./vendor-fortawesome-855c7d62.js";import"./index-5b5e1b75.js";import"./vendor-bootstrap-09a7ccd9.js";import"./vendor-jquery-13cad4c1.js";import"./vendor-axios-3dcaeec5.js";import"./vendor-sortablejs-7c09d6dd.js";import"./dynamic-import-helper-be004503.js";const v={name:"VehicleSocLeaf",mixins:[u]},f={class:"vehicle-soc-leaf"};function g(t,e,c,b,w,N){const s=a("openwb-base-text-input"),l=a("openwb-base-select-input");return d(),m("div",f,[o(s,{title:"Benutzername",required:"",subtype:"user","model-value":t.vehicle.configuration.user_id,"onUpdate:modelValue":e[0]||(e[0]=n=>t.updateConfiguration(n,"configuration.user_id"))},{help:i(()=>e[3]||(e[3]=[r(" Der Benutzername für die Anmeldung an den Nissan-Servern. ",-1)])),_:1},8,["model-value"]),o(s,{title:"Kennwort",required:"",subtype:"password","model-value":t.vehicle.configuration.password,"onUpdate:modelValue":e[1]||(e[1]=n=>t.updateConfiguration(n,"configuration.password"))},{help:i(()=>e[4]||(e[4]=[r(" Das Passwort für die Anmeldung an den Nissan-Servern. ",-1)])),_:1},8,["model-value"]),o(l,{title:"Region",required:"","not-selected":"Bitte auswählen",options:[{value:"NE",text:"Europa (getestet)"},{value:"NNA",text:"USA (nicht getestet)"},{value:"NCI",text:"Kanada (nicht getestet)"},{value:"NMA",text:"Australien (nicht getestet)"},{value:"NML",text:"Japan (nicht getestet)"}],"model-value":t.vehicle.configuration.region,"onUpdate:modelValue":e[2]||(e[2]=n=>t.updateConfiguration(n,"configuration.region"))},{help:i(()=>e[5]||(e[5]=[r(" Die Region, in der das Fahrzeug betrieben wird. ",-1)])),_:1},8,["model-value"])])}const U=p(v,[["render",g],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/vehicles/leaf/vehicle.vue"]]);export{U as default}; diff --git a/web/settings/assets/vehicle-255c56b6.js b/web/settings/assets/vehicle-c54ae651.js similarity index 89% rename from web/settings/assets/vehicle-255c56b6.js rename to web/settings/assets/vehicle-c54ae651.js index 4d5795c315..ccc765326e 100644 --- a/web/settings/assets/vehicle-255c56b6.js +++ b/web/settings/assets/vehicle-c54ae651.js @@ -1 +1 @@ -import{V as l}from"./VehicleConfig-d23b00dd.js";import{_ as u,u as a,l as p,m,G as i,E as r,B as t,A as f}from"./vendor-cc4615be.js";import"./vendor-fortawesome-855c7d62.js";import"./index-d6a3d34f.js";import"./vendor-bootstrap-09a7ccd9.js";import"./vendor-jquery-13cad4c1.js";import"./vendor-axios-3dcaeec5.js";import"./vendor-sortablejs-7c09d6dd.js";import"./dynamic-import-helper-be004503.js";const v={name:"VehicleSocVwid",mixins:[l]},g={class:"vehicle-soc-skoda"};function b(o,e,w,k,V,_){const d=a("openwb-base-alert"),s=a("openwb-base-text-input");return p(),m("div",g,[i(d,{subtype:"info"},{default:r(()=>e[3]||(e[3]=[t(" Beschreibung der Konfiguration und weitere Hinweise im Wiki: ",-1),f("a",{href:"https://github.com/openWB/core/wiki/SoC-Skoda",target:"_blank",rel:"noopener noreferrer"},"Wiki für SoC-Modul Skoda",-1)])),_:1,__:[3]}),i(s,{title:"Benutzername",required:"",subtype:"user","model-value":o.vehicle.configuration.user_id,"onUpdate:modelValue":e[0]||(e[0]=n=>o.updateConfiguration(n,"configuration.user_id"))},{help:r(()=>e[4]||(e[4]=[t(" Der Benutzername(Email-Adresse) für die Anmeldung an den Skoda-Servern. ",-1)])),_:1},8,["model-value"]),i(s,{title:"Kennwort",required:"",subtype:"password","model-value":o.vehicle.configuration.password,"onUpdate:modelValue":e[1]||(e[1]=n=>o.updateConfiguration(n,"configuration.password"))},{help:r(()=>e[5]||(e[5]=[t(" Das Passwort für die Anmeldung an den Skoda-Servern. ",-1)])),_:1},8,["model-value"]),i(s,{title:"VIN",required:"","model-value":o.vehicle.configuration.vin,"onUpdate:modelValue":e[2]||(e[2]=n=>o.updateConfiguration(n,"configuration.vin"))},{help:r(()=>e[6]||(e[6]=[t(" Die Fahrgestellnummer des Fahrzeugs. ",-1)])),_:1},8,["model-value"])])}const q=u(v,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/vehicles/skoda/vehicle.vue"]]);export{q as default}; +import{V as l}from"./VehicleConfig-c2429926.js";import{_ as u,u as a,l as p,m,G as i,E as r,B as t,A as f}from"./vendor-cc4615be.js";import"./vendor-fortawesome-855c7d62.js";import"./index-5b5e1b75.js";import"./vendor-bootstrap-09a7ccd9.js";import"./vendor-jquery-13cad4c1.js";import"./vendor-axios-3dcaeec5.js";import"./vendor-sortablejs-7c09d6dd.js";import"./dynamic-import-helper-be004503.js";const v={name:"VehicleSocVwid",mixins:[l]},g={class:"vehicle-soc-skoda"};function b(o,e,w,k,V,_){const d=a("openwb-base-alert"),s=a("openwb-base-text-input");return p(),m("div",g,[i(d,{subtype:"info"},{default:r(()=>e[3]||(e[3]=[t(" Beschreibung der Konfiguration und weitere Hinweise im Wiki: ",-1),f("a",{href:"https://github.com/openWB/core/wiki/SoC-Skoda",target:"_blank",rel:"noopener noreferrer"},"Wiki für SoC-Modul Skoda",-1)])),_:1,__:[3]}),i(s,{title:"Benutzername",required:"",subtype:"user","model-value":o.vehicle.configuration.user_id,"onUpdate:modelValue":e[0]||(e[0]=n=>o.updateConfiguration(n,"configuration.user_id"))},{help:r(()=>e[4]||(e[4]=[t(" Der Benutzername(Email-Adresse) für die Anmeldung an den Skoda-Servern. ",-1)])),_:1},8,["model-value"]),i(s,{title:"Kennwort",required:"",subtype:"password","model-value":o.vehicle.configuration.password,"onUpdate:modelValue":e[1]||(e[1]=n=>o.updateConfiguration(n,"configuration.password"))},{help:r(()=>e[5]||(e[5]=[t(" Das Passwort für die Anmeldung an den Skoda-Servern. ",-1)])),_:1},8,["model-value"]),i(s,{title:"VIN",required:"","model-value":o.vehicle.configuration.vin,"onUpdate:modelValue":e[2]||(e[2]=n=>o.updateConfiguration(n,"configuration.vin"))},{help:r(()=>e[6]||(e[6]=[t(" Die Fahrgestellnummer des Fahrzeugs. ",-1)])),_:1},8,["model-value"])])}const q=u(v,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/vehicles/skoda/vehicle.vue"]]);export{q as default}; diff --git a/web/settings/assets/vehicle-91d43a93.js b/web/settings/assets/vehicle-d5ac3573.js similarity index 96% rename from web/settings/assets/vehicle-91d43a93.js rename to web/settings/assets/vehicle-d5ac3573.js index b2b52b6a51..656883a120 100644 --- a/web/settings/assets/vehicle-91d43a93.js +++ b/web/settings/assets/vehicle-d5ac3573.js @@ -1 +1 @@ -import{V as s}from"./VehicleConfig-d23b00dd.js";import{_ as p,u,l as d,m as v,G as a,E as n,B as l}from"./vendor-cc4615be.js";import"./vendor-fortawesome-855c7d62.js";import"./index-d6a3d34f.js";import"./vendor-bootstrap-09a7ccd9.js";import"./vendor-jquery-13cad4c1.js";import"./vendor-axios-3dcaeec5.js";import"./vendor-sortablejs-7c09d6dd.js";import"./dynamic-import-helper-be004503.js";const m={name:"VehicleSocEVCC",mixins:[s]},g={class:"vehicle-soc-evcc"};function x(t,e,f,V,w,b){const i=u("openwb-base-text-input"),r=u("openwb-base-select-input");return d(),v("div",g,[a(i,{title:"EVCC Sponsor Token",subtype:"password",required:"","model-value":t.vehicle.configuration.sponsor_token,"onUpdate:modelValue":e[0]||(e[0]=o=>t.updateConfiguration(o,"configuration.sponsor_token"))},{help:n(()=>e[5]||(e[5]=[l(" EVCC Sponsor Token angeben, dies ist notwendig um SoC über EVCC abrufen zu können. https://sponsor.evcc.io/ ",-1)])),_:1},8,["model-value"]),a(i,{title:"Benutzername",subtype:"user",required:"","model-value":t.vehicle.configuration.user_id,"onUpdate:modelValue":e[1]||(e[1]=o=>t.updateConfiguration(o,"configuration.user_id"))},{help:n(()=>e[6]||(e[6]=[l(" Benutzername beim Fahrzeughersteller. ",-1)])),_:1},8,["model-value"]),a(i,{title:"Kennwort",subtype:"password",required:"","model-value":t.vehicle.configuration.password,"onUpdate:modelValue":e[2]||(e[2]=o=>t.updateConfiguration(o,"configuration.password"))},{help:n(()=>e[7]||(e[7]=[l(" Kennwort beim Fahrzeughersteller. ",-1)])),_:1},8,["model-value"]),a(r,{title:"Marke",required:"","not-selected":"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":t.vehicle.configuration.vehicle_type,"onUpdate:modelValue":e[3]||(e[3]=o=>t.updateConfiguration(o,"configuration.vehicle_type"))},{help:n(()=>e[8]||(e[8]=[l(" Marke aus des Fahrzeugs. ",-1)])),_:1},8,["model-value"]),a(i,{title:"VIN",subtype:"text","model-value":t.vehicle.configuration.VIN,"onUpdate:modelValue":e[4]||(e[4]=o=>t.updateConfiguration(o,"configuration.VIN"))},{help:n(()=>e[9]||(e[9]=[l(" Fahrgestellnummer (VIN) des Fahrzeugs. Notwendig falls mehrere Fahrzeuge im Account des Herstellers vorhanden sind. ",-1)])),_:1},8,["model-value"])])}const F=p(m,[["render",x],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/vehicles/evcc/vehicle.vue"]]);export{F as default}; +import{V as s}from"./VehicleConfig-c2429926.js";import{_ as p,u,l as d,m as v,G as a,E as n,B as l}from"./vendor-cc4615be.js";import"./vendor-fortawesome-855c7d62.js";import"./index-5b5e1b75.js";import"./vendor-bootstrap-09a7ccd9.js";import"./vendor-jquery-13cad4c1.js";import"./vendor-axios-3dcaeec5.js";import"./vendor-sortablejs-7c09d6dd.js";import"./dynamic-import-helper-be004503.js";const m={name:"VehicleSocEVCC",mixins:[s]},g={class:"vehicle-soc-evcc"};function x(t,e,f,V,w,b){const i=u("openwb-base-text-input"),r=u("openwb-base-select-input");return d(),v("div",g,[a(i,{title:"EVCC Sponsor Token",subtype:"password",required:"","model-value":t.vehicle.configuration.sponsor_token,"onUpdate:modelValue":e[0]||(e[0]=o=>t.updateConfiguration(o,"configuration.sponsor_token"))},{help:n(()=>e[5]||(e[5]=[l(" EVCC Sponsor Token angeben, dies ist notwendig um SoC über EVCC abrufen zu können. https://sponsor.evcc.io/ ",-1)])),_:1},8,["model-value"]),a(i,{title:"Benutzername",subtype:"user",required:"","model-value":t.vehicle.configuration.user_id,"onUpdate:modelValue":e[1]||(e[1]=o=>t.updateConfiguration(o,"configuration.user_id"))},{help:n(()=>e[6]||(e[6]=[l(" Benutzername beim Fahrzeughersteller. ",-1)])),_:1},8,["model-value"]),a(i,{title:"Kennwort",subtype:"password",required:"","model-value":t.vehicle.configuration.password,"onUpdate:modelValue":e[2]||(e[2]=o=>t.updateConfiguration(o,"configuration.password"))},{help:n(()=>e[7]||(e[7]=[l(" Kennwort beim Fahrzeughersteller. ",-1)])),_:1},8,["model-value"]),a(r,{title:"Marke",required:"","not-selected":"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":t.vehicle.configuration.vehicle_type,"onUpdate:modelValue":e[3]||(e[3]=o=>t.updateConfiguration(o,"configuration.vehicle_type"))},{help:n(()=>e[8]||(e[8]=[l(" Marke aus des Fahrzeugs. ",-1)])),_:1},8,["model-value"]),a(i,{title:"VIN",subtype:"text","model-value":t.vehicle.configuration.VIN,"onUpdate:modelValue":e[4]||(e[4]=o=>t.updateConfiguration(o,"configuration.VIN"))},{help:n(()=>e[9]||(e[9]=[l(" Fahrgestellnummer (VIN) des Fahrzeugs. Notwendig falls mehrere Fahrzeuge im Account des Herstellers vorhanden sind. ",-1)])),_:1},8,["model-value"])])}const F=p(m,[["render",x],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/vehicles/evcc/vehicle.vue"]]);export{F as default}; diff --git a/web/settings/assets/vehicle-9253ee48.js b/web/settings/assets/vehicle-fc942755.js similarity index 94% rename from web/settings/assets/vehicle-9253ee48.js rename to web/settings/assets/vehicle-fc942755.js index e6865003e0..00aa461f0a 100644 --- a/web/settings/assets/vehicle-9253ee48.js +++ b/web/settings/assets/vehicle-fc942755.js @@ -1 +1 @@ -import{V as a}from"./VehicleConfig-d23b00dd.js";import{_ as p,u as s,l as m,m as v,G as t,E as l,B as o,A as i}from"./vendor-cc4615be.js";import"./vendor-fortawesome-855c7d62.js";import"./index-d6a3d34f.js";import"./vendor-bootstrap-09a7ccd9.js";import"./vendor-jquery-13cad4c1.js";import"./vendor-axios-3dcaeec5.js";import"./vendor-sortablejs-7c09d6dd.js";import"./dynamic-import-helper-be004503.js";const f={name:"VehicleSocOVMS",mixins:[a]},g={class:"vehicle-soc-ovms"};function b(n,e,V,w,S,M){const d=s("openwb-base-alert"),u=s("openwb-base-text-input");return m(),v("div",g,[t(d,{subtype:"info"},{default:l(()=>e[4]||(e[4]=[o(" Beschreibung der Konfiguration und weitere Hinweise im Wiki: ",-1),i("a",{href:"https://github.com/openWB/core/wiki/SoC-OVMS",target:"_blank",rel:"noopener noreferrer"},"Wiki für SoC-Modul OVMS",-1)])),_:1,__:[4]}),t(u,{title:"Server URL",required:"","model-value":n.vehicle.configuration.server_url,"onUpdate:modelValue":e[0]||(e[0]=r=>n.updateConfiguration(r,"configuration.server_url"))},{help:l(()=>e[5]||(e[5]=[o(" Die URL (incl. Port) des API des OVMS-Servers, an dem das OVMS-Modul angemeldet ist, z.B. ",-1),i("br",null,null,-1),o(" https://ovms.dexters-web.de:6869",-1),i("br",null,null,-1),o(" oder",-1),i("br",null,null,-1),o(" https://api.openvehicles.com:6869",-1),i("br",null,null,-1),o(" oder ein custom server",-1),i("br",null,null,-1)])),_:1},8,["model-value"]),t(u,{title:"Benutzername",required:"",subtype:"user","model-value":n.vehicle.configuration.user_id,"onUpdate:modelValue":e[1]||(e[1]=r=>n.updateConfiguration(r,"configuration.user_id"))},{help:l(()=>e[6]||(e[6]=[o(" Der Benutzername für die Anmeldung am benutzen OVMS-Servers. ",-1)])),_:1},8,["model-value"]),t(u,{title:"Kennwort",required:"",subtype:"password","model-value":n.vehicle.configuration.password,"onUpdate:modelValue":e[2]||(e[2]=r=>n.updateConfiguration(r,"configuration.password"))},{help:l(()=>e[7]||(e[7]=[o(" Das Passwort für die Anmeldung am OVMS-Server. ",-1)])),_:1},8,["model-value"]),t(u,{title:"Vehicle Id",required:"","model-value":n.vehicle.configuration.vehicleId,"onUpdate:modelValue":e[3]||(e[3]=r=>n.updateConfiguration(r,"configuration.vehicleId"))},{help:l(()=>e[8]||(e[8]=[o(" Die Id des Fahrzeugs im OVMS, auch Module Id genannt. ",-1)])),_:1},8,["model-value"])])}const z=p(f,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/vehicles/ovms/vehicle.vue"]]);export{z as default}; +import{V as a}from"./VehicleConfig-c2429926.js";import{_ as p,u as s,l as m,m as v,G as t,E as l,B as o,A as i}from"./vendor-cc4615be.js";import"./vendor-fortawesome-855c7d62.js";import"./index-5b5e1b75.js";import"./vendor-bootstrap-09a7ccd9.js";import"./vendor-jquery-13cad4c1.js";import"./vendor-axios-3dcaeec5.js";import"./vendor-sortablejs-7c09d6dd.js";import"./dynamic-import-helper-be004503.js";const f={name:"VehicleSocOVMS",mixins:[a]},g={class:"vehicle-soc-ovms"};function b(n,e,V,w,S,M){const d=s("openwb-base-alert"),u=s("openwb-base-text-input");return m(),v("div",g,[t(d,{subtype:"info"},{default:l(()=>e[4]||(e[4]=[o(" Beschreibung der Konfiguration und weitere Hinweise im Wiki: ",-1),i("a",{href:"https://github.com/openWB/core/wiki/SoC-OVMS",target:"_blank",rel:"noopener noreferrer"},"Wiki für SoC-Modul OVMS",-1)])),_:1,__:[4]}),t(u,{title:"Server URL",required:"","model-value":n.vehicle.configuration.server_url,"onUpdate:modelValue":e[0]||(e[0]=r=>n.updateConfiguration(r,"configuration.server_url"))},{help:l(()=>e[5]||(e[5]=[o(" Die URL (incl. Port) des API des OVMS-Servers, an dem das OVMS-Modul angemeldet ist, z.B. ",-1),i("br",null,null,-1),o(" https://ovms.dexters-web.de:6869",-1),i("br",null,null,-1),o(" oder",-1),i("br",null,null,-1),o(" https://api.openvehicles.com:6869",-1),i("br",null,null,-1),o(" oder ein custom server",-1),i("br",null,null,-1)])),_:1},8,["model-value"]),t(u,{title:"Benutzername",required:"",subtype:"user","model-value":n.vehicle.configuration.user_id,"onUpdate:modelValue":e[1]||(e[1]=r=>n.updateConfiguration(r,"configuration.user_id"))},{help:l(()=>e[6]||(e[6]=[o(" Der Benutzername für die Anmeldung am benutzen OVMS-Servers. ",-1)])),_:1},8,["model-value"]),t(u,{title:"Kennwort",required:"",subtype:"password","model-value":n.vehicle.configuration.password,"onUpdate:modelValue":e[2]||(e[2]=r=>n.updateConfiguration(r,"configuration.password"))},{help:l(()=>e[7]||(e[7]=[o(" Das Passwort für die Anmeldung am OVMS-Server. ",-1)])),_:1},8,["model-value"]),t(u,{title:"Vehicle Id",required:"","model-value":n.vehicle.configuration.vehicleId,"onUpdate:modelValue":e[3]||(e[3]=r=>n.updateConfiguration(r,"configuration.vehicleId"))},{help:l(()=>e[8]||(e[8]=[o(" Die Id des Fahrzeugs im OVMS, auch Module Id genannt. ",-1)])),_:1},8,["model-value"])])}const z=p(f,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/vehicles/ovms/vehicle.vue"]]);export{z as default}; diff --git a/web/settings/assets/webTheme-d0efcdef.js b/web/settings/assets/webTheme-b08c3f46.js similarity index 95% rename from web/settings/assets/webTheme-d0efcdef.js rename to web/settings/assets/webTheme-b08c3f46.js index ac828f25f8..5f6fc3d48a 100644 --- a/web/settings/assets/webTheme-d0efcdef.js +++ b/web/settings/assets/webTheme-b08c3f46.js @@ -1 +1 @@ -import{W as p}from"./GeneralConfig-443e6d5a.js";import{_ as m,u,l as b,m as g,G as i,E as a,B as o,A as r}from"./vendor-cc4615be.js";import"./vendor-fortawesome-855c7d62.js";import"./index-d6a3d34f.js";import"./vendor-bootstrap-09a7ccd9.js";import"./vendor-jquery-13cad4c1.js";import"./vendor-axios-3dcaeec5.js";import"./vendor-sortablejs-7c09d6dd.js";import"./dynamic-import-helper-be004503.js";const h={name:"WebThemeKoala",mixins:[p]},f={class:"web-theme-koala"};function w(n,e,v,_,c,z){const l=u("openwb-base-button-group-input"),d=u("openwb-base-range-input"),s=u("openwb-base-number-input");return b(),g("div",f,[i(l,{title:"Standard-Fahrzeug ausblenden",buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":n.webTheme.configuration.hide_standard_vehicle,"onUpdate:modelValue":e[0]||(e[0]=t=>n.updateConfiguration(t,"configuration.hide_standard_vehicle"))},{help:a(()=>e[6]||(e[6]=[o(" Legt fest, ob das Standardfahrzeug im Fahrzeugkarten- bzw. Ladepunkt-Fahrzeugauswahlmenü ausgeblendet wird. ",-1)])),_:1},8,["model-value"]),e[12]||(e[12]=r("hr",null,null,-1)),i(d,{title:"Zeitfenster Verlaufsdiagramm",min:15,max:120,step:15,unit:"Min.","model-value":n.webTheme.configuration.history_chart_range/60,"onUpdate:modelValue":e[1]||(e[1]=t=>n.updateConfiguration(t*60,"configuration.history_chart_range"))},{help:a(()=>e[7]||(e[7]=[o(" Das Zeitfenster für das Verlaufsdiagramm wird auf die hier eingestellte Anzahl Minuten beschränkt. ",-1)])),_:1},8,["model-value"]),e[13]||(e[13]=r("hr",null,null,-1)),i(s,{title:"Ladepunkt Kartenansicht Grenzwert",min:0,step:1,"model-value":n.webTheme.configuration.chargePoint_card_view_breakpoint,"onUpdate:modelValue":e[2]||(e[2]=t=>n.updateConfiguration(t,"configuration.chargePoint_card_view_breakpoint"))},{help:a(()=>e[8]||(e[8]=[o(" Legt fest, bis zu wie vielen Ladepunkten die Kartenansicht verwendet wird. Bei mehr Ladepunkten wird automatisch zur Tabellenansicht gewechselt. ",-1)])),_:1},8,["model-value"]),i(l,{title:"Suchfeld in Ladepunkt Tabellenansicht",buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":n.webTheme.configuration.chargePoint_table_search_input_field,"onUpdate:modelValue":e[3]||(e[3]=t=>n.updateConfiguration(t,"configuration.chargePoint_table_search_input_field"))},{help:a(()=>e[9]||(e[9]=[o(" Legt fest, ob in der Tabellenansicht ein Suchfeld angezeigt wird. Mit diesem Suchfeld können die Felder „Ladepunkt“ und „Fahrzeug“ durchsucht werden. ",-1)])),_:1},8,["model-value"]),e[14]||(e[14]=r("hr",null,null,-1)),i(s,{title:"Fahrzeug Kartenansicht Grenzwert",min:0,step:1,"model-value":n.webTheme.configuration.vehicle_card_view_breakpoint,"onUpdate:modelValue":e[4]||(e[4]=t=>n.updateConfiguration(t,"configuration.vehicle_card_view_breakpoint"))},{help:a(()=>e[10]||(e[10]=[o(" Legt fest, bis zu wie vielen Fahrzeugen die Kartenansicht verwendet wird. Bei mehr Fahrzeugen wird automatisch zur Tabellenansicht gewechselt. ",-1)])),_:1},8,["model-value"]),i(l,{title:"Suchfeld in Fahrzeug Tabellenansicht",buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":n.webTheme.configuration.vehicle_table_search_input_field,"onUpdate:modelValue":e[5]||(e[5]=t=>n.updateConfiguration(t,"configuration.vehicle_table_search_input_field"))},{help:a(()=>e[11]||(e[11]=[o(" Legt fest, ob in der Tabellenansicht ein Suchfeld angezeigt wird. Mit diesem Suchfeld können die Felder „Fahrzeug“, „Hersteller“ und „Modell“ durchsucht werden. ",-1)])),_:1},8,["model-value"])])}const N=m(h,[["render",w],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/web_themes/koala/webTheme.vue"]]);export{N as default}; +import{W as p}from"./GeneralConfig-bd327700.js";import{_ as m,u,l as b,m as g,G as i,E as a,B as o,A as r}from"./vendor-cc4615be.js";import"./vendor-fortawesome-855c7d62.js";import"./index-5b5e1b75.js";import"./vendor-bootstrap-09a7ccd9.js";import"./vendor-jquery-13cad4c1.js";import"./vendor-axios-3dcaeec5.js";import"./vendor-sortablejs-7c09d6dd.js";import"./dynamic-import-helper-be004503.js";const h={name:"WebThemeKoala",mixins:[p]},f={class:"web-theme-koala"};function w(n,e,v,_,c,z){const l=u("openwb-base-button-group-input"),d=u("openwb-base-range-input"),s=u("openwb-base-number-input");return b(),g("div",f,[i(l,{title:"Standard-Fahrzeug ausblenden",buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":n.webTheme.configuration.hide_standard_vehicle,"onUpdate:modelValue":e[0]||(e[0]=t=>n.updateConfiguration(t,"configuration.hide_standard_vehicle"))},{help:a(()=>e[6]||(e[6]=[o(" Legt fest, ob das Standardfahrzeug im Fahrzeugkarten- bzw. Ladepunkt-Fahrzeugauswahlmenü ausgeblendet wird. ",-1)])),_:1},8,["model-value"]),e[12]||(e[12]=r("hr",null,null,-1)),i(d,{title:"Zeitfenster Verlaufsdiagramm",min:15,max:120,step:15,unit:"Min.","model-value":n.webTheme.configuration.history_chart_range/60,"onUpdate:modelValue":e[1]||(e[1]=t=>n.updateConfiguration(t*60,"configuration.history_chart_range"))},{help:a(()=>e[7]||(e[7]=[o(" Das Zeitfenster für das Verlaufsdiagramm wird auf die hier eingestellte Anzahl Minuten beschränkt. ",-1)])),_:1},8,["model-value"]),e[13]||(e[13]=r("hr",null,null,-1)),i(s,{title:"Ladepunkt Kartenansicht Grenzwert",min:0,step:1,"model-value":n.webTheme.configuration.chargePoint_card_view_breakpoint,"onUpdate:modelValue":e[2]||(e[2]=t=>n.updateConfiguration(t,"configuration.chargePoint_card_view_breakpoint"))},{help:a(()=>e[8]||(e[8]=[o(" Legt fest, bis zu wie vielen Ladepunkten die Kartenansicht verwendet wird. Bei mehr Ladepunkten wird automatisch zur Tabellenansicht gewechselt. ",-1)])),_:1},8,["model-value"]),i(l,{title:"Suchfeld in Ladepunkt Tabellenansicht",buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":n.webTheme.configuration.chargePoint_table_search_input_field,"onUpdate:modelValue":e[3]||(e[3]=t=>n.updateConfiguration(t,"configuration.chargePoint_table_search_input_field"))},{help:a(()=>e[9]||(e[9]=[o(" Legt fest, ob in der Tabellenansicht ein Suchfeld angezeigt wird. Mit diesem Suchfeld können die Felder „Ladepunkt“ und „Fahrzeug“ durchsucht werden. ",-1)])),_:1},8,["model-value"]),e[14]||(e[14]=r("hr",null,null,-1)),i(s,{title:"Fahrzeug Kartenansicht Grenzwert",min:0,step:1,"model-value":n.webTheme.configuration.vehicle_card_view_breakpoint,"onUpdate:modelValue":e[4]||(e[4]=t=>n.updateConfiguration(t,"configuration.vehicle_card_view_breakpoint"))},{help:a(()=>e[10]||(e[10]=[o(" Legt fest, bis zu wie vielen Fahrzeugen die Kartenansicht verwendet wird. Bei mehr Fahrzeugen wird automatisch zur Tabellenansicht gewechselt. ",-1)])),_:1},8,["model-value"]),i(l,{title:"Suchfeld in Fahrzeug Tabellenansicht",buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":n.webTheme.configuration.vehicle_table_search_input_field,"onUpdate:modelValue":e[5]||(e[5]=t=>n.updateConfiguration(t,"configuration.vehicle_table_search_input_field"))},{help:a(()=>e[11]||(e[11]=[o(" Legt fest, ob in der Tabellenansicht ein Suchfeld angezeigt wird. Mit diesem Suchfeld können die Felder „Fahrzeug“, „Hersteller“ und „Modell“ durchsucht werden. ",-1)])),_:1},8,["model-value"])])}const N=m(h,[["render",w],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/web_themes/koala/webTheme.vue"]]);export{N as default}; diff --git a/web/settings/assets/webTheme-81cb352e.js b/web/settings/assets/webTheme-f6f9eecb.js similarity index 88% rename from web/settings/assets/webTheme-81cb352e.js rename to web/settings/assets/webTheme-f6f9eecb.js index 44a5da4211..e029898d99 100644 --- a/web/settings/assets/webTheme-81cb352e.js +++ b/web/settings/assets/webTheme-f6f9eecb.js @@ -1 +1 @@ -import{W as a}from"./GeneralConfig-443e6d5a.js";import{_ as r,u as i,l as s,m,G as p,E as d,B as l}from"./vendor-cc4615be.js";import"./vendor-fortawesome-855c7d62.js";import"./index-d6a3d34f.js";import"./vendor-bootstrap-09a7ccd9.js";import"./vendor-jquery-13cad4c1.js";import"./vendor-axios-3dcaeec5.js";import"./vendor-sortablejs-7c09d6dd.js";import"./dynamic-import-helper-be004503.js";const u={name:"WebThemeKoala",mixins:[a]},_={class:"web-theme-standard-legacy"};function f(t,e,c,h,g,b){const n=i("openwb-base-range-input");return s(),m("div",_,[p(n,{title:"Zeitfenster Verlaufsdiagramm",min:15,max:120,step:15,unit:"Min.","model-value":Math.round(t.webTheme.configuration.history_chart_range/(60*1e3)),"onUpdate:modelValue":e[0]||(e[0]=o=>t.updateConfiguration(o*60*1e3,"configuration.history_chart_range"))},{help:d(()=>e[1]||(e[1]=[l(" Das Zeitfenster für das Verlaufsdiagramm wird auf die hier eingestellte Anzahl Minuten beschränkt. ",-1)])),_:1},8,["model-value"])])}const W=r(u,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/web_themes/standard_legacy/webTheme.vue"]]);export{W as default}; +import{W as a}from"./GeneralConfig-bd327700.js";import{_ as r,u as i,l as s,m,G as p,E as d,B as l}from"./vendor-cc4615be.js";import"./vendor-fortawesome-855c7d62.js";import"./index-5b5e1b75.js";import"./vendor-bootstrap-09a7ccd9.js";import"./vendor-jquery-13cad4c1.js";import"./vendor-axios-3dcaeec5.js";import"./vendor-sortablejs-7c09d6dd.js";import"./dynamic-import-helper-be004503.js";const u={name:"WebThemeKoala",mixins:[a]},_={class:"web-theme-standard-legacy"};function f(t,e,c,h,g,b){const n=i("openwb-base-range-input");return s(),m("div",_,[p(n,{title:"Zeitfenster Verlaufsdiagramm",min:15,max:120,step:15,unit:"Min.","model-value":Math.round(t.webTheme.configuration.history_chart_range/(60*1e3)),"onUpdate:modelValue":e[0]||(e[0]=o=>t.updateConfiguration(o*60*1e3,"configuration.history_chart_range"))},{help:d(()=>e[1]||(e[1]=[l(" Das Zeitfenster für das Verlaufsdiagramm wird auf die hier eingestellte Anzahl Minuten beschränkt. ",-1)])),_:1},8,["model-value"])])}const W=r(u,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/web_themes/standard_legacy/webTheme.vue"]]);export{W as default}; diff --git a/web/settings/index.html b/web/settings/index.html index c4b6555a85..a1498c61b4 100644 --- a/web/settings/index.html +++ b/web/settings/index.html @@ -7,7 +7,7 @@