Eigenverbrauch + Autarkie
This commit is contained in:
parent
4fcd1126ba
commit
e02ed10cbc
@ -28,10 +28,12 @@ export const HEATING_BUFFER_CIRCULATION_TEMPERATURE = 'heating.buffer.circulatio
|
|||||||
export const HEATING_LOOP_SUPPLY_TEMPERATURE = 'heating.loop.supply.temperature';
|
export const HEATING_LOOP_SUPPLY_TEMPERATURE = 'heating.loop.supply.temperature';
|
||||||
export const HEATING_LOOP_RETURN_TEMPERATURE = 'heating.loop.return.temperature';
|
export const HEATING_LOOP_RETURN_TEMPERATURE = 'heating.loop.return.temperature';
|
||||||
|
|
||||||
|
export const PERCENT = new ValueConstant(100, "%");
|
||||||
|
|
||||||
export const ELECTRICITY_GRID_PURCHASED_FEW = 7.7;
|
export const ELECTRICITY_GRID_PURCHASED_FEW = 7.7;
|
||||||
export const ELECTRICITY_GRID_PURCHASED_MUCH = 9.7;
|
export const ELECTRICITY_GRID_PURCHASED_MUCH = 9.7;
|
||||||
export const ELECTRICITY_GRID_POWER_MUCH = 400;
|
|
||||||
|
|
||||||
|
export const ELECTRICITY_GRID_POWER_MUCH = 400;
|
||||||
export const ELECTRICITY_PHOTOVOLTAIC_PRODUCED_FEW = 0.7;
|
export const ELECTRICITY_PHOTOVOLTAIC_PRODUCED_FEW = 0.7;
|
||||||
export const ELECTRICITY_PHOTOVOLTAIC_PRODUCED_MUCH = 2;
|
export const ELECTRICITY_PHOTOVOLTAIC_PRODUCED_MUCH = 2;
|
||||||
export const ELECTRICITY_PHOTOVOLTAIC_POWER_FEW = 50;
|
export const ELECTRICITY_PHOTOVOLTAIC_POWER_FEW = 50;
|
||||||
|
|||||||
@ -52,6 +52,10 @@ export class Value {
|
|||||||
return this.compare(other) <= 0;
|
return this.compare(other) <= 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
times(factor: number) {
|
||||||
|
return this.unary(a => a * factor);
|
||||||
|
}
|
||||||
|
|
||||||
unary(func: (v: number) => number): Value {
|
unary(func: (v: number) => number): Value {
|
||||||
if (this.value === null) {
|
if (this.value === null) {
|
||||||
return new Value(null, null, '');
|
return new Value(null, null, '');
|
||||||
@ -109,6 +113,10 @@ export class Value {
|
|||||||
return this.date;
|
return this.date;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
withUnit(unit: string) {
|
||||||
|
return new Value(this.date, this.value, unit);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
export class ValueConstant extends Value {
|
export class ValueConstant extends Value {
|
||||||
|
|||||||
@ -5,7 +5,7 @@ import {SeriesCacheService} from "../../../api/series/series-cache.service";
|
|||||||
import {SliceService} from "../../../api/series/consumption/slice/slice.service";
|
import {SliceService} from "../../../api/series/consumption/slice/slice.service";
|
||||||
import {Slice} from "../../../api/series/consumption/slice/Slice";
|
import {Slice} from "../../../api/series/consumption/slice/Slice";
|
||||||
import {Interval} from "../../../api/series/consumption/interval/Interval";
|
import {Interval} from "../../../api/series/consumption/interval/Interval";
|
||||||
import {ELECTRICITY_GRID_DELIVERED_ENERGY, ELECTRICITY_GRID_POWER_MUCH, ELECTRICITY_GRID_PURCHASED_ENERGY, ELECTRICITY_GRID_PURCHASED_FEW, ELECTRICITY_GRID_PURCHASED_MUCH, ELECTRICITY_PHOTOVOLTAIC_POWER_FEW, ELECTRICITY_PHOTOVOLTAIC_POWER_MUCH, ELECTRICITY_PHOTOVOLTAIC_PRODUCED, ELECTRICITY_PHOTOVOLTAIC_PRODUCED_BEFORE_METER_CHANGE, ELECTRICITY_PHOTOVOLTAIC_PRODUCED_FEW, ELECTRICITY_PHOTOVOLTAIC_PRODUCED_MUCH} from "../../../api/series/constants";
|
import {ELECTRICITY_GRID_DELIVERED_ENERGY, ELECTRICITY_GRID_POWER_MUCH, ELECTRICITY_GRID_PURCHASED_ENERGY, ELECTRICITY_GRID_PURCHASED_FEW, ELECTRICITY_GRID_PURCHASED_MUCH, ELECTRICITY_PHOTOVOLTAIC_POWER_FEW, ELECTRICITY_PHOTOVOLTAIC_POWER_MUCH, ELECTRICITY_PHOTOVOLTAIC_PRODUCED, ELECTRICITY_PHOTOVOLTAIC_PRODUCED_BEFORE_METER_CHANGE, ELECTRICITY_PHOTOVOLTAIC_PRODUCED_FEW, ELECTRICITY_PHOTOVOLTAIC_PRODUCED_MUCH, PERCENT} from "../../../api/series/constants";
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
selector: 'app-dashboard-electricity-tile',
|
selector: 'app-dashboard-electricity-tile',
|
||||||
@ -63,9 +63,14 @@ export class DashboardElectricityTileComponent {
|
|||||||
|
|
||||||
const selfToday = this.producedToday.minus(this.deliveredToday);
|
const selfToday = this.producedToday.minus(this.deliveredToday);
|
||||||
const consumedToday = this.purchasedToday.plus(selfToday);
|
const consumedToday = this.purchasedToday.plus(selfToday);
|
||||||
|
const selfPercentToday = selfToday.div(this.producedToday).mul(PERCENT).withUnit('%');
|
||||||
|
const selfAutarkyPercentToday = selfToday.div(consumedToday).mul(PERCENT).withUnit('%');
|
||||||
|
|
||||||
const selfYesterday = this.producedYesterday.minus(this.deliveredYesterday);
|
const selfYesterday = this.producedYesterday.minus(this.deliveredYesterday);
|
||||||
const consumedYesterday = this.purchasedYesterday.plus(selfYesterday);
|
const consumedYesterday = this.purchasedYesterday.plus(selfYesterday);
|
||||||
|
const selfPercentYesterday = selfYesterday.div(this.producedYesterday).mul(PERCENT).withUnit('%');
|
||||||
|
const selfAutarkyPercentYesterday = selfYesterday.div(consumedYesterday).mul(PERCENT).withUnit('%');
|
||||||
|
|
||||||
return [
|
return [
|
||||||
'Zählerstände',
|
'Zählerstände',
|
||||||
new DisplayValue('Bezogen', this.seriesCacheService.gridPurchased, ''),
|
new DisplayValue('Bezogen', this.seriesCacheService.gridPurchased, ''),
|
||||||
@ -79,13 +84,17 @@ export class DashboardElectricityTileComponent {
|
|||||||
'Heute',
|
'Heute',
|
||||||
new DisplayValue('Produziert', this.producedToday, this.producedToday.color(ELECTRICITY_PHOTOVOLTAIC_PRODUCED_FEW, ELECTRICITY_PHOTOVOLTAIC_PRODUCED_MUCH, 'red', 'orange', 'green')),
|
new DisplayValue('Produziert', this.producedToday, this.producedToday.color(ELECTRICITY_PHOTOVOLTAIC_PRODUCED_FEW, ELECTRICITY_PHOTOVOLTAIC_PRODUCED_MUCH, 'red', 'orange', 'green')),
|
||||||
new DisplayValue('Eingespeist', this.deliveredToday, ''),
|
new DisplayValue('Eingespeist', this.deliveredToday, ''),
|
||||||
new DisplayValue('Selbstverbraucht', selfToday, ''),
|
new DisplayValue('Eigenverbrauch', selfToday, ''),
|
||||||
|
new DisplayValue('Eigenverbrauch', selfPercentToday, ''),
|
||||||
|
new DisplayValue('Autarkie', selfAutarkyPercentToday, ''),
|
||||||
new DisplayValue('Bezogen', this.purchasedToday, this.purchasedToday.color(ELECTRICITY_GRID_PURCHASED_FEW, ELECTRICITY_GRID_PURCHASED_MUCH, 'green')),
|
new DisplayValue('Bezogen', this.purchasedToday, this.purchasedToday.color(ELECTRICITY_GRID_PURCHASED_FEW, ELECTRICITY_GRID_PURCHASED_MUCH, 'green')),
|
||||||
new DisplayValue('Verbraucht', consumedToday, ''),
|
new DisplayValue('Verbraucht', consumedToday, ''),
|
||||||
'Gestern',
|
'Gestern',
|
||||||
new DisplayValue('Produziert', this.producedYesterday, this.producedYesterday.color(ELECTRICITY_PHOTOVOLTAIC_PRODUCED_FEW, ELECTRICITY_PHOTOVOLTAIC_PRODUCED_MUCH, 'red', 'orange', 'green')),
|
new DisplayValue('Produziert', this.producedYesterday, this.producedYesterday.color(ELECTRICITY_PHOTOVOLTAIC_PRODUCED_FEW, ELECTRICITY_PHOTOVOLTAIC_PRODUCED_MUCH, 'red', 'orange', 'green')),
|
||||||
new DisplayValue('Eingespeist', this.deliveredYesterday, ''),
|
new DisplayValue('Eingespeist', this.deliveredYesterday, ''),
|
||||||
new DisplayValue('Selbstverbraucht', selfYesterday, ''),
|
new DisplayValue('Eigenverbrauch', selfYesterday, ''),
|
||||||
|
new DisplayValue('Eigenverbrauch', selfPercentYesterday, ''),
|
||||||
|
new DisplayValue('Autarkie', selfAutarkyPercentYesterday, ''),
|
||||||
new DisplayValue('Bezogen', this.purchasedYesterday, this.purchasedYesterday.color(ELECTRICITY_GRID_PURCHASED_FEW, ELECTRICITY_GRID_PURCHASED_MUCH, 'green')),
|
new DisplayValue('Bezogen', this.purchasedYesterday, this.purchasedYesterday.color(ELECTRICITY_GRID_PURCHASED_FEW, ELECTRICITY_GRID_PURCHASED_MUCH, 'green')),
|
||||||
new DisplayValue('Verbraucht', consumedYesterday, ''),
|
new DisplayValue('Verbraucht', consumedYesterday, ''),
|
||||||
];
|
];
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user