diff --git a/webapp/src/types/LimitStatus.ts b/webapp/src/types/LimitStatus.ts new file mode 100644 index 0000000..48d797e --- /dev/null +++ b/webapp/src/types/LimitStatus.ts @@ -0,0 +1,5 @@ +export interface LimitStatus { + limit_relative: number, + max_power: number, + limit_set_status: string, +} \ No newline at end of file diff --git a/webapp/src/views/HomeView.vue b/webapp/src/views/HomeView.vue index f44177e..6c31fcc 100644 --- a/webapp/src/views/HomeView.vue +++ b/webapp/src/views/HomeView.vue @@ -179,12 +179,12 @@
+ aria-describedby="currentLimitType" v-model="currentLimitRelative" disabled /> %
-
+
- {{ successCommandLimit }} + {{ currentLimitList.limit_set_status }}
@@ -331,6 +331,7 @@ import InverterChannelInfo from "@/components/InverterChannelInfo.vue"; import type { DevInfoStatus } from '@/types/DevInfoStatus'; import type { EventlogItems } from '@/types/EventlogStatus'; import type { Inverters } from '@/types/LiveDataStatus'; +import type { LimitStatus } from '@/types/LimitStatus'; export default defineComponent({ components: { @@ -369,10 +370,8 @@ export default defineComponent({ limitSettingSerial: 0, limitSettingLoading: true, - currentLimit: 0, - currentLimitAbsolute: 0, - successCommandLimit: "", - maxPower: 0, + currentLimitList: {} as LimitStatus, + targetLimit: 0, targetLimitMin: 10, targetLimitMax: 100, @@ -424,6 +423,17 @@ export default defineComponent({ } } }, + computed: { + currentLimitAbsolute(): number { + if (this.currentLimitList.max_power > 0) { + return Number((this.currentLimitList.limit_relative * this.currentLimitList.max_power / 100).toFixed(1)); + } + return 0; + }, + currentLimitRelative(): number { + return Number((this.currentLimitList.limit_relative).toFixed(1)); + } + }, methods: { getInitialData() { this.dataLoading = true; @@ -525,12 +535,7 @@ export default defineComponent({ fetch("/api/limit/status") .then((response) => response.json()) .then((data) => { - this.maxPower = data[serial].max_power; - this.currentLimit = Number((data[serial].limit_relative).toFixed(1)); - if (this.maxPower > 0) { - this.currentLimitAbsolute = Number((this.currentLimit * this.maxPower / 100).toFixed(1)); - } - this.successCommandLimit = data[serial].limit_set_status; + this.currentLimitList = data[serial]; this.limitSettingSerial = serial; this.limitSettingLoading = false; });