= [];
+
+ seriesData.push({ name: 'Generation', data: [], yAxis: 0, marker: { enabled: false }, tooltip: { valueSuffix: ' W' } } as SeriesLineOptions);
+ seriesData.push({ name: 'Consumption', data: [], yAxis: 0, marker: { enabled: false }, tooltip: { valueSuffix: ' W' } } as SeriesLineOptions);
+
+ data.forEach(dataElement => {
+ const date = Date.parse(dataElement.bucket);
+ seriesData[0].data.push([date, dataElement.averageGeneration < 0 ? 0 : dataElement.averageGeneration]);
+ seriesData[1].data.push([date, dataElement.averageConsumption < 0 ? 0 : dataElement.averageConsumption]);
+ });
+
+ const title = this.selectedTimeSpan === TimeSpan.Last24Hours ? this.timeSpanItems[TimeSpan.Last24Hours] : this.getSelectedDateDisplayString();
+
+ this.chart = new Chart({
+ chart: {
+ type: 'line',
+ zoomType: 'x'
+ },
+ title: {
+ text: title
+ },
+ credits: {
+ enabled: true
+ },
+ xAxis: {
+ type: 'datetime',
+ dateTimeLabelFormats: {
+ millisecond: '%H:%M:%S.%L',
+ second: '%H:%M:%S',
+ minute: '%l:%M %P',
+ hour: '%l:%M %P',
+ day: '%b %e',
+ week: '%e. %b',
+ month: '%b \'%y',
+ year: '%Y'
+ }
+ },
+ yAxis: [
+ {
+ labels: {
+ format: '{value} W',
+ },
+ title: {
+ text: 'Power'
+ }
+ }
+ ],
+ time: {
+ useUTC: false
+ },
+ tooltip: {
+ valueDecimals: 2,
+ shared: true,
+ dateTimeLabelFormats: {
+ day: '%A, %b %e, %Y',
+ hour: '%A, %b %e, %H:%M',
+ millisecond: '%A, %b %e, %H:%M:%S.%L',
+ minute: '%A, %b %e, %l:%M %P',
+ month: '%B %Y',
+ second: '%A, %b %e, %H:%M:%S',
+ week: 'Week from %A, %b %e, %Y',
+ year: '%Y'
+ }
+ },
+ series: seriesData,
+ legend: {
+ enabled: true
+ },
+ exporting: {
+ enabled: true
+ }
+ });
+
+ this.loading = false;
+ });
+ }
+
+ private loadChart() {
+ let start: moment.Moment;
+ let end: moment.Moment;
+
+ this.loading = true;
+
+ if (this.chart) {
+ this.chart.ref$.subscribe(o => o.showLoading());
+ }
+
+ switch (this.selectedTimeSpan) {
+ case TimeSpan.Last24Hours: {
+ start = moment().subtract(24, 'hour');
+ end = moment();
+
+ break;
+ }
+
+ case TimeSpan.Day: {
+ start = moment(this.selectedDate).startOf('day');
+ end = moment(this.selectedDate).endOf('day');
+
+ break;
+ }
+
+ default: {
+ return;
+ }
+ }
+
+ this.loadPowerChart(start, end);
+ }
+}
diff --git a/Display/src/app/components/power/power.component.html b/Display/src/app/components/power/current/power.component.html
similarity index 93%
rename from Display/src/app/components/power/power.component.html
rename to Display/src/app/components/power/current/power.component.html
index 7279f65..79c8dc9 100644
--- a/Display/src/app/components/power/power.component.html
+++ b/Display/src/app/components/power/current/power.component.html
@@ -9,7 +9,7 @@
Generation
|
- {{ latestStatus.Generation < 0 ? 0 : latestStatus.Generation }}
+ {{ latestStatus.Generation < 0 ? 0 : latestStatus.Generation }} W
|
@@ -17,7 +17,7 @@
Consumption
|
- {{ latestStatus.Consumption < 0 ? 0 : latestStatus.Consumption }}
+ {{ latestStatus.Consumption < 0 ? 0 : latestStatus.Consumption }} W
|
diff --git a/Display/src/app/components/power/power.component.scss b/Display/src/app/components/power/current/power.component.scss
similarity index 100%
rename from Display/src/app/components/power/power.component.scss
rename to Display/src/app/components/power/current/power.component.scss
diff --git a/Display/src/app/components/power/power.component.spec.ts b/Display/src/app/components/power/current/power.component.spec.ts
similarity index 100%
rename from Display/src/app/components/power/power.component.spec.ts
rename to Display/src/app/components/power/current/power.component.spec.ts
diff --git a/Display/src/app/components/power/power.component.ts b/Display/src/app/components/power/current/power.component.ts
similarity index 76%
rename from Display/src/app/components/power/power.component.ts
rename to Display/src/app/components/power/current/power.component.ts
index c21fd0b..424b6ff 100644
--- a/Display/src/app/components/power/power.component.ts
+++ b/Display/src/app/components/power/current/power.component.ts
@@ -1,6 +1,6 @@
import { Component, OnInit } from '@angular/core';
-import { PowerService } from '../../services/power/power.service';
-import { PowerStatus } from '../../models/power/power-status';
+import { PowerService } from 'src/app/services/power/power.service';
+import { PowerStatus } from 'src/app/models/power/power-status';
@Component({
selector: 'app-power',
diff --git a/Display/src/app/components/weather/charts/weather-charts.component.html b/Display/src/app/components/weather/charts/weather-charts.component.html
index 6347fcf..2a53901 100644
--- a/Display/src/app/components/weather/charts/weather-charts.component.html
+++ b/Display/src/app/components/weather/charts/weather-charts.component.html
@@ -1,6 +1,9 @@