Relay toggle buttons initial state reflects current relay state
This commit is contained in:
parent
31f0399e35
commit
521bbadb0c
@ -1,10 +1,10 @@
|
|||||||
<div class="desktop-height p-3" style="background-color: #b52e3c !important;">
|
<div class="desktop-height p-3" style="background-color: #b52e3c !important;">
|
||||||
<div style="max-width: 1000px;">
|
<div style="max-width: 1000px;">
|
||||||
<h1 class="text-white">Powerwall: {{batteryService.charge | round}} V</h1>
|
<h1 class="text-white">Powerwall: {{batteryService.charge | round}} V</h1>
|
||||||
<mat-button-toggle-group [(ngModel)]="batteryService.relayMode" (change)="batteryService.setRelayMode($event.value)">
|
<mat-button-toggle-group [ngModel]="batteryService.relayMode" (change)="batteryService.setRelayMode($event.value)"><!---->
|
||||||
<mat-button-toggle [value]="null" checked>Auto</mat-button-toggle>
|
<mat-button-toggle value="null">Auto</mat-button-toggle>
|
||||||
<mat-button-toggle [value]="true">On</mat-button-toggle>
|
<mat-button-toggle value="true">On</mat-button-toggle>
|
||||||
<mat-button-toggle [value]="false">Off</mat-button-toggle>
|
<mat-button-toggle value="false">Off</mat-button-toggle>
|
||||||
</mat-button-toggle-group>
|
</mat-button-toggle-group>
|
||||||
<mat-card class="mt-2" *ngFor="let battery of batteryService.batteries; let i = index">
|
<mat-card class="mt-2" *ngFor="let battery of batteryService.batteries; let i = index">
|
||||||
<div class="d-flex">
|
<div class="d-flex">
|
||||||
|
@ -10,7 +10,7 @@ export class BatteryService {
|
|||||||
batteries = [];
|
batteries = [];
|
||||||
charge: number;
|
charge: number;
|
||||||
lastCharge: number;
|
lastCharge: number;
|
||||||
relayMode?: boolean = null;
|
relayMode: string = 'null';
|
||||||
temp: number = 0;
|
temp: number = 0;
|
||||||
|
|
||||||
get charging() { return this.lastCharge < this.charge; }
|
get charging() { return this.lastCharge < this.charge; }
|
||||||
@ -47,10 +47,7 @@ export class BatteryService {
|
|||||||
this.firestore.settings({timestampsInSnapshots: true});
|
this.firestore.settings({timestampsInSnapshots: true});
|
||||||
this.firestore.collection('Battery').doc('170614D').onSnapshot(snap => {
|
this.firestore.collection('Battery').doc('170614D').onSnapshot(snap => {
|
||||||
let data = snap.data();
|
let data = snap.data();
|
||||||
|
this.relayMode = data.config.relayMode ? data.config.relayMode.toString() : 'null';
|
||||||
this.relayMode = data.config.relayMode || null
|
|
||||||
;
|
|
||||||
|
|
||||||
this.batteries = Object.keys(data.modules).map(key => {
|
this.batteries = Object.keys(data.modules).map(key => {
|
||||||
let last = data.modules[key].length - 1;
|
let last = data.modules[key].length - 1;
|
||||||
return {
|
return {
|
||||||
@ -67,7 +64,9 @@ export class BatteryService {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
setRelayMode(mode?:boolean) {
|
setRelayMode(mode?: string) {
|
||||||
this.firestore.collection('Battery').doc('170614D').update({config: {relayMode: mode}});
|
if(mode == 'null') this.firestore.collection('Battery').doc('170614D').update({config: {relayMode: null}});
|
||||||
|
else if(mode == 'true') this.firestore.collection('Battery').doc('170614D').update({config: {relayMode: true}});
|
||||||
|
else if(mode == 'false') this.firestore.collection('Battery').doc('170614D').update({config: {relayMode: false}});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user