removed: value || 0
This commit is contained in:
parent
6f9fb935e3
commit
b784f236df
@ -1,6 +1,6 @@
|
|||||||
import {IValue} from "./IValue";
|
import {IValue} from "./IValue";
|
||||||
|
|
||||||
type GetValue = (v: number) => number;
|
type GetValue = (v: number) => number | null;
|
||||||
|
|
||||||
type CombineValue = (a: number, b: number) => number;
|
type CombineValue = (a: number, b: number) => number;
|
||||||
|
|
||||||
|
|||||||
@ -66,21 +66,18 @@ export class DashboardComponent implements OnInit {
|
|||||||
getElectricitySeries(): DisplayOrSeparator[] {
|
getElectricitySeries(): DisplayOrSeparator[] {
|
||||||
const consumptionPower = Value.positiveOnly(Value.plus(this.photovoltaicPower, this.gridPower));
|
const consumptionPower = Value.positiveOnly(Value.plus(this.photovoltaicPower, this.gridPower));
|
||||||
const selfConsumed = Value.map(this.photovoltaicProduced, producedTotal => {
|
const selfConsumed = Value.map(this.photovoltaicProduced, producedTotal => {
|
||||||
|
if (this.gridDelivered === null || this.gridDelivered.value === null) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
const producedAfterChange = producedTotal - PRODUCED_UNTIL_METER_CHANGE;
|
const producedAfterChange = producedTotal - PRODUCED_UNTIL_METER_CHANGE;
|
||||||
const deliveredAfterChange = this.gridDelivered?.value || 0;
|
const deliveredAfterChange = this.gridDelivered?.value;
|
||||||
const selfAfterChange = producedAfterChange - deliveredAfterChange;
|
const selfAfterChange = producedAfterChange - deliveredAfterChange;
|
||||||
const selfRatio = selfAfterChange / producedAfterChange;
|
const selfRatio = selfAfterChange / producedAfterChange;
|
||||||
return selfRatio * producedTotal;
|
return selfRatio * producedTotal;
|
||||||
});
|
});
|
||||||
|
|
||||||
const deliveringAny = (this.gridPower?.value || 0) < 0;
|
const gridColor = this.getGridPowerColor();
|
||||||
const purchasingAny = (this.gridPower?.value || 0) > 0;
|
const productionColor = this.getProductionPowerColor();
|
||||||
const purchasingMuch = (this.gridPower?.value || 0) > PURCHASING_MUCH;
|
|
||||||
const producingAny = (this.photovoltaicPower?.value || 0) > 0;
|
|
||||||
|
|
||||||
const gridColor = deliveringAny ? 'magenta' : (purchasingMuch ? 'red' : (purchasingAny ? 'orange' : 'green'));
|
|
||||||
const productionColor = producingAny ? 'green' : 'black';
|
|
||||||
|
|
||||||
return [
|
return [
|
||||||
new Display('Bezug', '', this.gridPurchased),
|
new Display('Bezug', '', this.gridPurchased),
|
||||||
new Display('Einspeisung', '', this.gridDelivered),
|
new Display('Einspeisung', '', this.gridDelivered),
|
||||||
@ -94,4 +91,39 @@ export class DashboardComponent implements OnInit {
|
|||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private getGridPowerColor(): string {
|
||||||
|
if (this.gridPower !== null && this.gridPower.value !== null) {
|
||||||
|
const deliveringAny = this.gridPower.value < 0;
|
||||||
|
if (deliveringAny) {
|
||||||
|
return 'magenta';
|
||||||
|
}
|
||||||
|
|
||||||
|
const purchasingMuch = this.gridPower.value > PURCHASING_MUCH;
|
||||||
|
if (purchasingMuch) {
|
||||||
|
return 'red';
|
||||||
|
}
|
||||||
|
|
||||||
|
const purchasingAny = this.gridPower.value > 0;
|
||||||
|
if (purchasingAny) {
|
||||||
|
return 'orange';
|
||||||
|
}
|
||||||
|
|
||||||
|
return 'green';
|
||||||
|
}
|
||||||
|
return '';
|
||||||
|
}
|
||||||
|
|
||||||
|
private getProductionPowerColor() {
|
||||||
|
if (this.photovoltaicPower === null || this.photovoltaicPower.value === null) {
|
||||||
|
return '';
|
||||||
|
}
|
||||||
|
|
||||||
|
const producingAny = this.photovoltaicPower.value > 0;
|
||||||
|
if (producingAny) {
|
||||||
|
return 'green';
|
||||||
|
}
|
||||||
|
|
||||||
|
return 'black';
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user