Show only valid device info data in webapp

This commit is contained in:
Thomas Basler 2022-10-04 22:15:50 +02:00
parent f6a416bf8f
commit 2eafd69276
2 changed files with 12 additions and 1 deletions

View File

@ -36,6 +36,7 @@ void WebApiDevInfoClass::onDevInfoStatus(AsyncWebServerRequest* request)
((uint32_t)(inv->serial() & 0xFFFFFFFF))); ((uint32_t)(inv->serial() & 0xFFFFFFFF)));
JsonObject devInfoObj = root[buffer].createNestedObject(); JsonObject devInfoObj = root[buffer].createNestedObject();
devInfoObj[F("valid_data")] = inv->DevInfo()->getLastUpdate() > 0;
devInfoObj[F("fw_bootloader_version")] = inv->DevInfo()->getFwBootloaderVersion(); devInfoObj[F("fw_bootloader_version")] = inv->DevInfo()->getFwBootloaderVersion();
devInfoObj[F("fw_build_version")] = inv->DevInfo()->getFwBuildVersion(); devInfoObj[F("fw_build_version")] = inv->DevInfo()->getFwBuildVersion();
devInfoObj[F("hw_part_number")] = inv->DevInfo()->getHwPartNumber(); devInfoObj[F("hw_part_number")] = inv->DevInfo()->getHwPartNumber();

View File

@ -1,5 +1,10 @@
<template> <template>
<table class="table table-hover"> <BootstrapAlert :show="!devInfoList.valid_data">
<h4 class="alert-heading">
<BIconInfoSquare class="fs-2" />&nbsp;No Information available
</h4>Did not receive any valid data from the inverter till now. Still trying...
</BootstrapAlert>
<table v-if="devInfoList.valid_data" class="table table-hover">
<tbody> <tbody>
<tr> <tr>
<td>Bootloader Version</td> <td>Bootloader Version</td>
@ -27,8 +32,10 @@
<script lang="ts"> <script lang="ts">
import { defineComponent } from 'vue'; import { defineComponent } from 'vue';
import BootstrapAlert from '@/components/partials/BootstrapAlert.vue';
declare interface DevInfoData { declare interface DevInfoData {
valid_data: boolean,
fw_bootloader_version: number, fw_bootloader_version: number,
fw_build_version: number, fw_build_version: number,
fw_build_datetime: Date, fw_build_datetime: Date,
@ -37,6 +44,9 @@ declare interface DevInfoData {
} }
export default defineComponent({ export default defineComponent({
components: {
BootstrapAlert,
},
props: { props: {
devInfoList: { type: Object as () => DevInfoData, required: true }, devInfoList: { type: Object as () => DevInfoData, required: true },
}, },