diff --git a/lib/Hoymiles/src/parser/DevInfoParser.cpp b/lib/Hoymiles/src/parser/DevInfoParser.cpp
index 364b11138..24ea88331 100644
--- a/lib/Hoymiles/src/parser/DevInfoParser.cpp
+++ b/lib/Hoymiles/src/parser/DevInfoParser.cpp
@@ -17,6 +17,7 @@ typedef struct {
const devInfo_t devInfo[] = {
{ { 0x10, 0x10, 0x10, ALL }, 300, "HM-300" },
{ { 0x10, 0x10, 0x20, ALL }, 350, "HM-350" },
+ { { 0x10, 0x10, 0x30, ALL }, 400, "HM-400" },
{ { 0x10, 0x10, 0x40, ALL }, 400, "HM-400" },
{ { 0x10, 0x11, 0x10, ALL }, 600, "HM-600" },
{ { 0x10, 0x11, 0x20, ALL }, 700, "HM-700" },
diff --git a/webapp/src/views/HomeView.vue b/webapp/src/views/HomeView.vue
index 334c0725c..a328f89d8 100644
--- a/webapp/src/views/HomeView.vue
+++ b/webapp/src/views/HomeView.vue
@@ -95,9 +95,14 @@
@@ -669,6 +674,13 @@ export default defineComponent({
calculateAbsoluteTime(lastTime: number): string {
const date = new Date(Date.now() - lastTime * 1000);
return this.$d(date, 'datetime');
+ },
+ getSumIrridiation(inv: Inverter): number {
+ let total = 0;
+ Object.keys(inv.DC).forEach((key) => {
+ total += inv.DC[key as unknown as number].Irradiation?.v || 0;
+ });
+ return total;
}
},
});
diff --git a/webapp_dist/index.html.gz b/webapp_dist/index.html.gz
index f7547917e..0830730b7 100644
Binary files a/webapp_dist/index.html.gz and b/webapp_dist/index.html.gz differ
diff --git a/webapp_dist/js/app.js.gz b/webapp_dist/js/app.js.gz
index 0eb14c49c..0eb045184 100644
Binary files a/webapp_dist/js/app.js.gz and b/webapp_dist/js/app.js.gz differ
diff --git a/webapp_dist/zones.json.gz b/webapp_dist/zones.json.gz
index 45374b962..f1ea50bf1 100644
Binary files a/webapp_dist/zones.json.gz and b/webapp_dist/zones.json.gz differ