adpated data paths for Live View of SodistoreHome on monitor

This commit is contained in:
Yinyin Liu 2025-11-12 15:32:01 +01:00
parent 1752c2ddf9
commit bd35496a4e
2 changed files with 43 additions and 27 deletions

View File

@ -434,6 +434,17 @@ export interface JSONRecordData {
}; };
}; };
// For SodistoreHome
InverterRecord: {
GridPower:number;
Battery1Power:number;
Battery1Soc:number;
Battery2Power:number;
Battery2Soc:number;
PvPower:number;
ConsumptionPower:number;
};
AcDcGrowatt: { AcDcGrowatt: {
AcChargeEnable: number; AcChargeEnable: number;
ActivePowerPercentDerating: number; ActivePowerPercentDerating: number;
@ -1057,7 +1068,12 @@ export const getHighestConnectionValue = (values: JSONRecordData) => {
'AcDcGrowatt.TotalPvPower', 'AcDcGrowatt.TotalPvPower',
'AcDcGrowatt.BatteriesRecords.Power', 'AcDcGrowatt.BatteriesRecords.Power',
'AcDcGrowatt.BatteriesRecords.TotalChargeEnergy', 'AcDcGrowatt.BatteriesRecords.TotalChargeEnergy',
'AcDcGrowatt.ConsumptionPower' 'AcDcGrowatt.ConsumptionPower',
'InverterRecord.GridPower',
'InverterRecord.PvPower',
'InverterRecord.Battery1Power',
'InverterRecord.Battery2Power',
'InverterRecord.ConsumptionPower'
]; ];
// Helper function to safely get a value from a nested path // Helper function to safely get a value from a nested path

View File

@ -113,10 +113,10 @@ function TopologySodistoreHome(props: TopologySodistoreHomeProps) {
<TopologyColumn <TopologyColumn
centerBox={{ centerBox={{
title: 'Grid', title: 'Grid',
data: props.values?.AcDcGrowatt data: props.values?.InverterRecord
? [ ? [
{ {
value: props.values.AcDcGrowatt.MeterPower, value: props.values.InverterRecord.GridPower,
unit: 'W' unit: 'W'
} }
] ]
@ -126,16 +126,16 @@ function TopologySodistoreHome(props: TopologySodistoreHomeProps) {
}} }}
centerConnection={{ centerConnection={{
orientation: 'horizontal', orientation: 'horizontal',
data: props.values?.AcDcGrowatt data: props.values?.InverterRecord
? { ? {
value: props.values.AcDcGrowatt.MeterPower, value: props.values.InverterRecord.GridPower,
unit: 'W' unit: 'W'
} }
: undefined, : undefined,
amount: props.values?.AcDcGrowatt amount: props.values?.InverterRecord
? getAmount( ? getAmount(
highestConnectionValue, highestConnectionValue,
props.values.AcDcGrowatt.MeterPower props.values.InverterRecord.GridPower
) )
: 0, : 0,
showValues: showValues showValues: showValues
@ -147,10 +147,10 @@ function TopologySodistoreHome(props: TopologySodistoreHomeProps) {
<TopologyColumn <TopologyColumn
topBox={{ topBox={{
title: 'PV', title: 'PV',
data: props.values?.AcDcGrowatt data: props.values?.InverterRecord
? [ ? [
{ {
value: props.values.AcDcGrowatt.TotalPvPower, value: props.values.InverterRecord.PvPower,
unit: 'W' unit: 'W'
} }
] ]
@ -160,20 +160,20 @@ function TopologySodistoreHome(props: TopologySodistoreHomeProps) {
topConnection={{ topConnection={{
orientation: 'vertical', orientation: 'vertical',
position: 'top', position: 'top',
data: props.values?.AcDcGrowatt data: props.values?.InverterRecord
? { ? {
value: props.values.AcDcGrowatt.TotalPvPower, value: props.values.InverterRecord.PvPower,
unit: 'W' unit: 'W'
} }
: undefined, : undefined,
amount: props.values?.AcDcGrowatt amount: props.values?.InverterRecord
? getAmount(highestConnectionValue, props.values.AcDcGrowatt.TotalPvPower) ? getAmount(highestConnectionValue, props.values.InverterRecord.PvPower)
: 0, : 0,
showValues: showValues showValues: showValues
}} }}
centerBox={{ centerBox={{
title: 'Inverter', title: 'Inverter',
data: props.values?.AcDcGrowatt data: props.values?.InverterRecord
? [ ? [
{ {
value: 0, value: 0,
@ -185,26 +185,26 @@ function TopologySodistoreHome(props: TopologySodistoreHomeProps) {
}} }}
centerConnection={{ centerConnection={{
orientation: 'horizontal', orientation: 'horizontal',
data: props.values?.AcDcGrowatt.BatteriesRecords data: props.values?.InverterRecord
? { ? {
value: props.values.AcDcGrowatt.BatteriesRecords.Power, value: props.values.InverterRecord.Battery1Power,
unit: 'W' unit: 'W'
} }
: undefined, : undefined,
amount: props.values?.AcDcGrowatt.BatteriesRecords amount: props.values?.InverterRecord
? getAmount( ? getAmount(
highestConnectionValue, highestConnectionValue,
props.values.AcDcGrowatt.BatteriesRecords.Power, props.values.InverterRecord.Battery1Power,
) )
: 0, : 0,
showValues: showValues showValues: showValues
}} }}
bottomBox={{ bottomBox={{
title: 'Loads', title: 'Loads',
data: props.values?.AcDcGrowatt data: props.values?.InverterRecord
? [ ? [
{ {
value: props.values.AcDcGrowatt.ConsumptionPower, value: props.values.InverterRecord.ConsumptionPower,
unit: 'W' unit: 'W'
} }
] ]
@ -214,16 +214,16 @@ function TopologySodistoreHome(props: TopologySodistoreHomeProps) {
bottomConnection={{ bottomConnection={{
orientation: 'vertical', orientation: 'vertical',
position: 'bottom', position: 'bottom',
data: props.values?.AcDcGrowatt data: props.values?.InverterRecord
? { ? {
value: props.values.AcDcGrowatt.ConsumptionPower, value: props.values.InverterRecord.ConsumptionPower,
unit: 'W' unit: 'W'
} }
: undefined, : undefined,
amount: props.values?.AcDcGrowatt amount: props.values?.InverterRecord
? getAmount( ? getAmount(
highestConnectionValue, highestConnectionValue,
props.values.AcDcGrowatt.ConsumptionPower props.values.InverterRecord.ConsumptionPower
) )
: 0, : 0,
showValues: showValues showValues: showValues
@ -235,14 +235,14 @@ function TopologySodistoreHome(props: TopologySodistoreHomeProps) {
<TopologyColumn <TopologyColumn
centerBox={{ centerBox={{
title: 'Battery', title: 'Battery',
data: props.values.AcDcGrowatt.BatteriesRecords data: props.values.InverterRecord
? [ ? [
{ {
value: props.values.AcDcGrowatt.BatteriesRecords.AverageSoc, value: props.values.InverterRecord.Battery1Soc,
unit: '%' unit: '%'
}, },
{ {
value: props.values.AcDcGrowatt.BatteriesRecords.Power, value: props.values.InverterRecord.Battery1Power,
unit: 'W' unit: 'W'
} }
] ]