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: {
AcChargeEnable: number;
ActivePowerPercentDerating: number;
@ -1057,7 +1068,12 @@ export const getHighestConnectionValue = (values: JSONRecordData) => {
'AcDcGrowatt.TotalPvPower',
'AcDcGrowatt.BatteriesRecords.Power',
'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

View File

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