Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

UI: add status component for each edge #1162

Merged
merged 4 commits into from
Jun 18, 2020

Conversation

fabianfnc
Copy link
Contributor

grafik

@fabianfnc fabianfnc requested a review from sfeilmeier June 10, 2020 08:59
@sfeilmeier
Copy link
Contributor

Es gibt leider noch den Fall, dass eine Komponente einen Fehler anzeigt, die nicht im Anlagenprofil aufgelistet wird. Z. B. hier für fems1:

[ctrlDebugLog0] _cycle[INFO: IgnoreDisabledController] _sum[State:Info Ess SoC:100 %|L:10 W Grid:277 W Consumption:287 W] bms0[SoC:100 %|Discharge:672 V;90 A|Charge:876 V;0 A|State:RUNNING] ess0[SoC:100 %|L:10 W|Allowed:0;54432 W|Throttled] evcs0[Limit:32000 mA|Not ready for Charging] evcs1[Limit:63000 mA|Not ready for Charging] evcs4[Limit:24000|Charging] meter0[L:277 W]

Hier kommt die INFO von _cycle. Blöd ist, dass dann oben ein grünes Ausrufezeichen erscheint, aber unten alle Ok sind.

Du wist wohl oder übel diese anderen Komponenten auch durchlaufen müssen und falls sie State != 0 haben auch anzeigen müssen.

Copy link
Contributor

@sfeilmeier sfeilmeier left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Bitte noch die kleinen Änderungen machen, dann kannst du es mergen. Danke!

@@ -18,20 +19,21 @@ export class AppComponent {
public env = environment;
public backUrl: string | boolean = '/';
public enableSideMenu: boolean;
public currentPage: 'Other' | 'IndexLive' | 'IndexHistory' = 'Other';
public currentPage: 'FemsSettings' | 'Other' | 'IndexLive' | 'IndexHistory' = 'Other';
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Der OpenEMS-Quellcode sollte unabhängig von FEMS bleiben... bitte "EdgeSettings"

// Enable Segment Navigation for Edge-Index-Page
if ((file == 'history' || file == 'live') && urlArray.length == 3) {
if (file == 'history') {
this.currentPage = 'IndexHistory';
} else {
this.currentPage = 'IndexLive';
}
} else {
} else if ((file == 'settings' && urlArray.length == 3) || (urlArray.length == 4 && (urlArray[urlArray.length - 1] == 'settings')
|| (urlArray.length == 5 && urlArray[urlArray.length - 2] == 'settings'))) {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Warum so kompliziert?
(urlArray.length == 4 && (urlArray[urlArray.length - 1]
damit weißt du doch, dass urlArray.length - 1 = 3 ist.
Was machst du, wenn eine neue Ebene dazu kommt? Ich vermute, du solltest die Definition von file ändern. Wenn du statt urlArray.pop(); urlArray[3] nimmst (natürlich nach Prüfung, dass das Array wirklich so lange ist), dann bekommst du immer live, history oder settings. Das reicht für die Prüfung.

/*
* State
*/
result.system.state = c['_sum/State'];
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Alle anderen "result.system" properties setzt du unter "Total". Warum dann hierfür einen extra Punkt?

<ion-item lines="full">
<ion-icon color="primary" name="analytics-outline"></ion-icon>
<ion-label class="ion-padding-start">
Gesamtstatus
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Übersetzung

<ion-text color="primary">
<h3>{{ item.alias }}
<span *ngIf="item.id != item.alias"> ({{ item.id }})</span>
<small *ngIf="!item.isEnabled"> (Komponente ist inaktiv!)</small>
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Übersetzung

</ng-container>
</ion-label>
<ion-icon style="cursor: pointer"
*ngIf="currentData.channel[item.id+'/State'] != 0 && currentData.channel[item.id+'/State'] != null && !item['showProperties']"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In Java würdest du hier currentData.channel[item.id+'/State'] != 0 eine NullPointerException bekommen, d.h. wenn dann müsste man diese beiden Anweisungen tauschen. Wenn das in Typescript geht, dann wäre vermutlich currentData.channel[item.id+'/State'] > 0 einfacher

@fabianfnc fabianfnc merged commit 135ae7b into OpenEMS:develop Jun 18, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants