Darstellung Sonnenbatterie

Begonnen von dennis_n, 11 März 2021, 10:33:34

Vorheriges Thema - Nächstes Thema

Shadow3561

#75
z.Z. nutze ich es so

              <ftui-pvvis
                     has-no-battery
                     grid-icon="pylon"
                     [feed-receive]="SE3500H:Power"
                     [produce]="SE3500H:AC_current_W"
                     pvmax="3000"
                     width="300px">


Edit:
Es liegt wohl am "Power" Reading. Dies ist immer einen Ganzzahl. Positiv bei Einspeisung und negatives Vorzeichen bei Bezug.
Das "AC_current_W" ist dagegen mit einer Nachkommastelle.

Edit:
Irgendetwas stimmt in der Berechnung, zumindest bei mir, nicht (siehe Screenshot)

Wenn ich es so einzeln definiere stimmt alles
[feed]="SE3500H:Momentanleistung_feed"
[receive]="SE3500H:Momentanleistung_Bezug"

mr_petz

#76
Ok ich konnte es nachstellen.
Es ist ein wenig kompliziert zu erklären, aber es liegt an der Kommazahl von produce (AC_current_W).
Power hingegen scheint eine schon gerundete Zahl zu sein.
Wenn du testweise so toFixed(1) bei den Berechnungen schreibst, wirst du sehen, dass es nicht 465 sondern 465.8 sind und durch toFixed() die 8 gestrichen wird.
Als erstes würde ich schon für dich es so Vorschlagen:

[feed-receive]="SE3500H:Power | round(0)"

Edit:
[produce]="SE3500H:AC_current_W | round(0)"

Ich hoffe die pipe funktioniert mit dem Modul.
alternativ sollte es auch so bei dir gehen (im Code ändern):

this.pvhomeval = Math.round(Math.abs(this.produce) - this.charge - this.feed);


Hier muss aber yersinia die anderen Berechnungen auch mit anpassen.

LG

Edit: Ok du warst scheller... :D

Shadow3561

Habe erst mal den genommen.

this.pvhomeval = Math.round(Math.abs(this.produce) - this.charge - this.feed);

Ich werde beobachten und melde mich wieder.

[feed-receive]="SE3500H:Power | round(0)"
du meinst sicher [feed-receive]="SE3500H:AC_current_W | round(0)"

Mit freundlichen Grüßen

mr_petz

Ok sorry, aber wenn dann so:

[produce]="SE3500H:AC_current_W | round(0)"

:D

funktioniert die pipe?

LG

Shadow3561

#79
das habe ich nicht ausprobiert. Die Frau kocht im Moment und es springe alle Werte hin und her.
Ich gehe aber einfach mal davon aus, dass pipe funktioniert, siehe #61

Mit freundlichen Grüßen

Edit:
Habe es jetzt mit pipe probiert und es funktioniert ebenso.

Danke dir
Mit freundlichen Grüßen

Shadow3561

@yersinia

Ich habe mir die Freiheit genommen und etwas geändert.
Die Wattzahl vom Netzbezug wird nur angezeigt wenn Netzbezug grösser 0
Die Wattzahl von der Netzeinspeisung wird nur angezeigt wenn größer 0

colorGrid() {
    let consumption = this.receive - this.feed;
    this.grid.classList.remove("pvvis-grid-feed", "pvvis-grid-consume", "grid-home");
    if(consumption > 0 ) { this.grid.classList.add("pvvis-grid-consume"); this.shadowRoot.getElementById("pv-grid-txt").innerHTML = ""; } else { this.grid.classList.add("pvvis-grid-feed"); this.shadowRoot.getElementById("grid-home-txt").innerHTML = ""; }
  }


Mit freundlichen Grüßen

yersinia

@Shadow3561: vielen Dank fürs Testen und die Rückmeldung.
Zitat von: Shadow3561 am 08 Juli 2022, 19:17:16wenn du magst kannst du das "home-consume-txt" und "pv-produce-txt" ja noch variabel machen.

has-home-consume-txt=true/false"
has-pv-produce-txt="true/false"
Ich weiss nicht, die Texte optional ein und ausblenden zu können fänd ich als paramater nicht zielführend. Mir erschließt sich auch nicht, warum man das nicht sehen möchte (aber ich habe auch keinen Anwendungsfall und bin daher auf euch angewiesen).
Du kannst aber für dich im pvvis.component.css folgendes ergänzen:
.pvvis-home-text,
.pvvis-produce-txt {
  display: none;
}

Dadurch werden die Elemente ausgeblendet.



Zitat von: Shadow3561 am 09 Juli 2022, 16:26:40Leider haben der Hausverbrauch und PV-Home-Flow nicht immer die gleichen Werte (siehe Bild).
Ja, das liegt, wie mr_petz schon schreibt, an der Berechnung. Für die Berechnung nutze ich keine gerundeten Werte, aber zur Anzeige werden mittels toFixed()) alle Nachkommastellen abgeschnitten.

Zitat von: Shadow3561 am 09 Juli 2022, 16:26:40Ich habe bei mir jetzt die Math.abs() durch Math.round() ersetzt. Jetzt scheint es zu stimmen.
Zitat von: mr_petz am 09 Juli 2022, 17:09:30yersinia hatte extra Math.abs() eingebaut, da andere Nutzer mit negativen Werten kamen und Math.abs() diese auf einen positiven Wert setzt für die weitere Berechnung.
Math.abs() ist nur dafür da und nicht zum runden.
Wenn dann könnte yersinia Bsp. Math.round(Math.abs(this.produce) - this.charge - this.feed) kombinieren.
Ich denke aber, dass der Hausverbrauch auch bei Math.round() unterschiedlich sein kann. Da brauch nur die Kommastelle einmal <0.5 und einmal >0.5 sein der Einspeisungen zum Hausverbrauch...
+1



Zitat von: Shadow3561 am 09 Juli 2022, 17:41:35Es liegt wohl am "Power" Reading. Dies ist immer einen Ganzzahl. Positiv bei Einspeisung und negatives Vorzeichen bei Bezug.
Das "AC_current_W" ist dagegen mit einer Nachkommastelle.

Edit:
Irgendetwas stimmt in der Berechnung, zumindest bei mir, nicht (siehe Screenshot)

Wenn ich es so einzeln definiere stimmt alles
[feed]="SE3500H:Momentanleistung_feed"
[receive]="SE3500H:Momentanleistung_Bezug"
Das kann ich nicht nachstellen. Wenn ich produce auf 788 und feed-receive auf -614 setze, dann zeigt der Hausverbrauch 1402 an. Die Anzeige des Bezugs (roter flow) zeigt 614 an.
Zitatfeed-receive => Wert > 0 (positiv) => Einspeisen ins Stromnetz/an EVU => wird feed zugeschrieben (receive ist damit 0)
feed-receive => Wert < 0 (negativ) => Verbrauch aus Stromnetz/vom EVU => wird zur Anzeige und weiteren Berechnung zum positiven konvertiert und receive zugeschrieben (feed ist damit 0)
Wie sind denn deine Werte von Power in diesem Fall?



Zitat von: Shadow3561 am 09 Juli 2022, 18:19:08
Habe erst mal den genommen.

this.pvhomeval = Math.round(Math.abs(this.produce) - this.charge - this.feed);
Das kann zu weiteren Berechnungsfehlern führen da pvhomeval auch für houseConsume genutzt wird (pvhomeval + receive + discharge). Die round(0) pipe der readings finde ich daher wesentlich eleganter.



Zitat von: Shadow3561 am 10 Juli 2022, 14:03:17Die Wattzahl vom Netzbezug wird nur angezeigt wenn Netzbezug grösser 0
Die Wattzahl von der Netzeinspeisung wird nur angezeigt wenn größer 0

colorGrid() {
    let consumption = this.receive - this.feed;
    this.grid.classList.remove("pvvis-grid-feed", "pvvis-grid-consume", "grid-home");
    if(consumption > 0 ) { this.grid.classList.add("pvvis-grid-consume"); this.shadowRoot.getElementById("pv-grid-txt").innerHTML = ""; } else { this.grid.classList.add("pvvis-grid-feed"); this.shadowRoot.getElementById("grid-home-txt").innerHTML = ""; }
  }
Ist das ein Konsens hier, dass wenn die Werte = 0 sind die Texte dann ausgeblendet werden anstelle der Anzeige von 0? Dann könnte man dies konsequenter in der component einbauen...
viele Grüße, yersinia
----
FHEM 6.3 (SVN) on RPi 4B with RasPi OS Bullseye (perl 5.32.1) | FTUI
nanoCUL->2x868(1x ser2net)@tsculfw, 1x433@Sduino | MQTT2 | Tasmota | ESPEasy
VCCU->14xSEC-SCo, 7xCC-RT-DN, 5xLC-Bl1PBU-FM, 3xTC-IT-WM-W-EU, 1xPB-2-WM55, 1xLC-Sw1PBU-FM, 1xES-PMSw1-Pl

yersinia

#82
Hallo zusammen,

anbei eine neue Testversion mit folgenden Änderungen:
- die internen Werte zur Berechnung des Hausverbrauchs und des Verbrauchs PV->Home werden nun auf Ganzzahl gerundet (vorher war nur die Anzeige ist Ganzzahlig) @Shadow3561: das wäre für dich sicher ganz gut - zumindest wenn man eine Anlage hat, die eigentlich alles praktischerweise in W anzeigt und Zahlwert bis 9999 zu erwarten sind. Wenn aber wie von habl kW vorgeschlagen wird
Zitat von: habl am 08 Juli 2022, 16:28:38Mir ist es eigentlich egal, ob eine Einheit angehangen wird. Aber wenn, dann würde ich eher zu kW tendieren, damit der Text nicht zu lang wird.
und die Werte in kW angezeigt werden sollen, werden mit dieser Testversion aus 2,4kW "nur" 2kW; aus 3,6kW entsprechend 4kW. Demnach sollte die Pipe mit round(0) besser funktionieren, oder?
Edit: das runden sollte über pipe und round(0) laufen.

- es gibt zwei neue optionale Parameter für die Einheiten:
unit-soc für die Einheit des Akkustands, zB:
unit-soc="%"

unit-value für die Einheit der Ent/Lade-Werte, zB:
unit-value="W"
Sind die Werte nicht gesetzt wird auch keine Einheit gesetzt.

Ansonsten wäre es super, wenn ihr bei Anzeigefragen auch Werte der Readings mitliefern könntet - ansonsten ist es echt schwierig nachzustellen. Danke vorab.
viele Grüße, yersinia
----
FHEM 6.3 (SVN) on RPi 4B with RasPi OS Bullseye (perl 5.32.1) | FTUI
nanoCUL->2x868(1x ser2net)@tsculfw, 1x433@Sduino | MQTT2 | Tasmota | ESPEasy
VCCU->14xSEC-SCo, 7xCC-RT-DN, 5xLC-Bl1PBU-FM, 3xTC-IT-WM-W-EU, 1xPB-2-WM55, 1xLC-Sw1PBU-FM, 1xES-PMSw1-Pl

octek0815

Zitat von: yersinia am 10 Juli 2022, 16:32:31
Hallo zusammen,

anbei eine neue Testversion mit folgenden Änderungen:
- die internen Werte zur Berechnung des Hausverbrauchs und des Verbrauchs PV->Home werden nun auf Ganzzahl gerundet (vorher war nur die Anzeige Ganzzahlig) @Shadow3561: das wäre für dich sicher ganz gut - zumindest wenn man eine Anlage hat, die eigentlich alles praktischerweise in W anzeigt und Zahlwert bis 9999 zu erwarten sind. Wenn aber wie von habl kW vorgeschlagen wirdund die Werte in kW angezeigt werden sollen, werden mit dieser Testversion aus 2,4kW "nur" 2kW; aus 3,6kW entsprechend 4kW. Demnach sollte die Pipe mit round(0) besser funktionieren, oder?

- es gibt zwei neue optionale Parameter für die Einheiten:
unit-soc für die Einheit des Akkustands, zB:
unit-soc="%"

unit-value für die Einheit der Ent/Lade-Werte, zB:
unit-value="W"
Sind die Werte nicht gesetzt wird auch keine Einheit gesetzt.

Ansonsten wäre es super, wenn ihr bei Anzeigefragen auch Werte der Readings mitliefern könntet - ansonsten ist es echt schwierig nachzustellen. Danke vorab.

Moin yersinia,

vielen Dank nochmal für deine Mühe hier allen gerecht zu werden!

Ich hätte noch folgende Anmerkungen bzw. Wünsche:

- Ich bin der Meinung das die Ganze Rechnerei die du versuchts zu ermöglichen nicht in das Anzeigemodul reingehört, und lieber in FHEM direkt z.B. über userReadings erfolgen sollte.
Dann kann auch jeder die Werte beisteuern die er haben möchte (Ist aber nur eine persönliche Meinung).

- Könnten die Einheit kleiner angezeigt werdern? Ich habe die Einheit immer in der Hälfte der Größe des Wertes.

- Verglichen mit den anderen Symbolen (Sonne, Haus...) sieher der Pylon optisch nicht so optimal aus. Wäre es möglich diesen Fetter darzustellen?

Grüße
Olli



octek0815

Die neue Version läuft bei mir nicht. Hier der Ausgabe der Konsole...


mr_petz

Zitat von: octek0815 am 10 Juli 2022, 17:41:53
Die neue Version läuft bei mir nicht. Hier der Ausgabe der Konsole...

Ja.
erste Zeile muss raus.

cat components/pvvis/pvvis.component.js

und das template stimmt auch nicht mehr...
transform muss wieder rein...

LG

yersinia

#86
Zitat von: octek0815 am 10 Juli 2022, 17:41:53
Die neue Version läuft bei mir nicht. Hier der Ausgabe der Konsole...
Ach verdammt, copy&paste fehler. :-X
Korrigierte Version hängt oben an.

Zitat von: mr_petz am 10 Juli 2022, 18:14:34
erste Zeile muss raus.

cat components/pvvis/pvvis.component.js

und das template stimmt auch nicht mehr...
transform muss wieder rein...
transform muss wieder rein? Müsste mit der css aus #57 (identisch mit der anhängenden) eigtl funktionieren. Wegen der Konsistenz habe ich alle Style-Anweisungen ins CSS gepackt.
viele Grüße, yersinia
----
FHEM 6.3 (SVN) on RPi 4B with RasPi OS Bullseye (perl 5.32.1) | FTUI
nanoCUL->2x868(1x ser2net)@tsculfw, 1x433@Sduino | MQTT2 | Tasmota | ESPEasy
VCCU->14xSEC-SCo, 7xCC-RT-DN, 5xLC-Bl1PBU-FM, 3xTC-IT-WM-W-EU, 1xPB-2-WM55, 1xLC-Sw1PBU-FM, 1xES-PMSw1-Pl

mr_petz

Ja mit dieser css und js geht es wieder.
Hatte nicht mitbekommen, dass es eine neue css gibt. Habe immer nur das js überschrieben...

LG

yersinia

Zitat von: octek0815 am 10 Juli 2022, 17:29:27vielen Dank nochmal für deine Mühe hier allen gerecht zu werden!
Dank dir für den Test und das konstrutive Feedback. :)

Zitat von: octek0815 am 10 Juli 2022, 17:29:27- Ich bin der Meinung das die Ganze Rechnerei die du versuchts zu ermöglichen nicht in das Anzeigemodul reingehört, und lieber in FHEM direkt z.B. über userReadings erfolgen sollte.
Dann kann auch jeder die Werte beisteuern die er haben möchte (Ist aber nur eine persönliche Meinung).
Das sehe ich ähnlich auch weil die Varianz der Werte als auch der verschiedenen Wünsche recht hoch ist. Ich hab das wieder ausgebaut. Interessant wird es allerdings wenn die User mit kW um die Ecke kommen und dann 2,345kW zu 2kW in der Anzeige werden. Da bin ich mal auf die Rückmeldungen gespannt, ob es diesen Fall überhaupt gibt.

Zitat von: octek0815 am 10 Juli 2022, 17:29:27- Könnten die Einheit kleiner angezeigt werdern? Ich habe die Einheit immer in der Hälfte der Größe des Wertes.

- Verglichen mit den anderen Symbolen (Sonne, Haus...) sieher der Pylon optisch nicht so optimal aus. Wäre es möglich diesen Fetter darzustellen?
Ich hab die Einheit auf 75% der Schriftgröße der Werte gesetzt - sieht etwas komisch aus wenn aus einem W visuell ein w wird.
Den Pylon hab ich etwas dicker dargestellt, es ist aber recht schwierig, da nicht viel Platz für einen nicht adipösen ;) Pylonen vorhanden ist.
Anbei ein Screenshot des Versuchs, passt das?

(Btw, wenn man ein Leerzeichen zwischen Wert und Einheit haben möchte muss man das explizit angeben:
unit-value=" W")
viele Grüße, yersinia
----
FHEM 6.3 (SVN) on RPi 4B with RasPi OS Bullseye (perl 5.32.1) | FTUI
nanoCUL->2x868(1x ser2net)@tsculfw, 1x433@Sduino | MQTT2 | Tasmota | ESPEasy
VCCU->14xSEC-SCo, 7xCC-RT-DN, 5xLC-Bl1PBU-FM, 3xTC-IT-WM-W-EU, 1xPB-2-WM55, 1xLC-Sw1PBU-FM, 1xES-PMSw1-Pl

octek0815

Zitat von: yersinia am 10 Juli 2022, 20:33:12
Dank dir für den Test und das konstrutive Feedback. :)
Das sehe ich ähnlich auch weil die Varianz der Werte als auch der verschiedenen Wünsche recht hoch ist. Ich hab das wieder ausgebaut. Interessant wird es allerdings wenn die User mit kW um die Ecke kommen und dann 2,345kW zu 2kW in der Anzeige werden. Da bin ich mal auf die Rückmeldungen gespannt, ob es diesen Fall überhaupt gibt.
Ich hab die Einheit auf 75% der Schriftgröße der Werte gesetzt - sieht etwas komisch aus wenn aus einem W visuell ein w wird.
Den Pylon hab ich etwas dicker dargestellt, es ist aber recht schwierig, da nicht viel Platz für einen nicht adipösen ;) Pylonen vorhanden ist.
Anbei ein Screenshot des Versuchs, passt das?

(Btw, wenn man ein Leerzeichen zwischen Wert und Einheit haben möchte muss man das explizit angeben:
unit-value=" W")

Hi,

hast du mal die neue pvvis.component.js parat, zwecks testen (in der eigene Oberfläche) ;-)
Wenn nur kW geliefert würde ich die Umrechnung in W ebenfalls nur in FHEM zulassen.
Wie bereits geschrieben, Berechnungen und Umrechnungen sollen in FHEM erfolgne und nicht in FTUI.

Danke und Grüße
Olli