Darstellung Sonnenbatterie

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

Vorheriges Thema - Nächstes Thema

docolli

Zitat von: mr_petz am 05 November 2022, 18:29:41
Kannst du diese Einstellungen was gerade erlaubt ist auch auslesen?

Werden wir mal konkreter: Ich habe ein S10E Hauskraftwerk von E3DC und hole mir aktuell die Werte per Modbus in FHEM. Ein Wert, der mir diese Info liefert ist mir noch nicht aufgefallen. Es gibt zwar einen Wallboxstatus, der liefert aber nur die Info, ob die Leistung der Wallbox maximal der PV Überschußleistung entspricht, oder ob die Wallbox mit der eingestellten Leistung lädt, egal woher der Strom kommt (PV/Akku/Netz).

Ob der Akku "mithelfen" darf, ist eine Einstellung des Hauskraftwerks und da habe ich leider noch keinen per SW auslesbaren Wert gefunden. Wenn ich Zeit habe, kann ich ja mal bei E3DC nachfragen, ob es den gibt.

mr_petz

#151
Laut der Doku sollte es gehen:
https://community.symcon.de/uploads/short-url/z6Yc7LiO6m9lJt8r5Aif539GbHI.pdf
Ab Kapitel 3.1.3. wenn ich richtig liege...

docolli

Zitat von: mr_petz am 05 November 2022, 19:03:07
Laut der Doku sollte es gehen:
https://community.symcon.de/uploads/short-url/z6Yc7LiO6m9lJt8r5Aif539GbHI.pdf
Ab Kapitel 3.1.3. wenn ich richtig liege...

Nee, damit ich kann steuern, ob der Akku ÜBERHAUPT (also auch vom Haus aus) entladen werden darf.  ;) Da kann man auch Zeiten im System hinterlegen.

Diese Einstellung, die hier relevant ist, gilt aber nur für die Wallbox.
Siehe https://www.memodo.de/media/pdf/30/da/84/memodo_e3dc_wallbox_easy_connect_betriebsanleitung_44e38bcede452f446818f838f872d0b0.pdf

-> Kapitel 9.7.2.

mr_petz

Ok. Ich denke da muss man mehr machen bzgl Daten sammeln deiner Wallbox. Siehe hier:
https://forum.iobroker.net/topic/32976/e3dc-hauskraftwerk-steuern/1131?lang=en-GB
Sehr langer Thread. Die Register sind in Bits unterteilt die man per script zerpflücken muss. So habe ich es verstanden...
LG

docolli

#154
Ja, da geht es dann in Richtung RSCP Anbindung an FHEM, damit möchte ich mich aktuell nicht beschäftigen. Modbus Werte reichen mir aus. Wir werden aber inzwischen ganz schön OT  ::)

Zurück zur FTUI3 component: Ich habe noch einige weitere Anpassungen für mich vorgenommen, so z.B. wird nun auch das grid-Icon grau, wenn kein Strom aus dem bzw. ins Netz fliest. Das Ganze ist auch noch über ein weiteres Attribut konfigurierbar ab welchem Schwellwert (ich habe 10W genommen) das Netz als inaktiv dargestellt wird und auch die Energieflüsse inaktiv bleiben.

Ich mach jetzt mal meine Anpassungen, dann poste ich hier mein Ergebniss, samt kleiner Anleitung. Dann kann ich mich mit @yersinia austauschen, ob wir die beiden Codes mergen. Einen eigenen Fork möchte ich nicht pflegen.

Mir würde noch eine zweite Batterie neben dem Auto gefallen. Den Füllstand der Autobatterie habe ich als Wert. Auch eine geschätze Zeit bis zur vollen Ladung/Entladung der Hausbatterie. Auch alles konfigurierbar, ob es angezeigt werden soll, oder nicht.

Ich habe versucht den SVG Code in Inkscape zu nehmen und damit das SVG zu erweitern. Bei mir klappt das aber nicht so wie gedacht, einige Objekte haben z.B. eine sehr dicke Linienstärke. Wie bearbeitet ihr den SVG Code?

yersinia

Danke fürs Feedback und zusätzlichen Code docolli. Den Code für den ausgegrauten Akku habe ich übernommen - das funktioniert für den Ladestand imho nur wenn no-bat-gradient gesetzt ist.

Ansonsten kann ich deine Anforderung der visuellen Trennung der Wallbox verstehen (@mr_petz: danke fürs Anmoderieren btw), sehe dies aber in deinem Fall nicht als Teil der PV Darstellung. Dein PV-Strom geht ja nicht in die Wallbox, also warum sollte man dies hier darstellen? Und wenn die Wallbox durch den Netzbezug gespeist wird, dann entspricht dies mMn auch dem Hausverbrauch. Oder hat die Wallbox einen eigenen elektrischen Anschluß inklusive Zähler seitens Netzbetreibers?

Zitat von: docolli am 06 November 2022, 12:33:32Mir würde noch eine zweite Batterie neben dem Auto gefallen. Den Füllstand der Autobatterie habe ich als Wert. Auch eine geschätze Zeit bis zur vollen Ladung/Entladung der Hausbatterie. Auch alles konfigurierbar, ob es angezeigt werden soll, oder nicht.
Auch im Hinblick auf den zur Verfügung stehenden Platz sehe ich weitere Erweiterungen eher kritisch. Da sehe ich in deinem speziellen Fall auch eher einen fork, welche die PV Anlage dann komplett raus nimmt und sich allein auf die Wallbox und Ladestand des eAutos fokussiert.
Der Ladestand lässt sich analog zum Akkustand als Text bestimmt noch unterm Auto darstellen.

Zitat von: docolli am 06 November 2022, 12:33:32Ich mach jetzt mal meine Anpassungen, dann poste ich hier mein Ergebniss, samt kleiner Anleitung. Dann kann ich mich mit @yersinia austauschen, ob wir die beiden Codes mergen. Einen eigenen Fork möchte ich nicht pflegen.
Sehr gerne. :)

Zitat von: docolli am 06 November 2022, 12:33:32Wie bearbeitet ihr den SVG Code?
vim 8)
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

docolli

Zitat von: yersinia am 06 November 2022, 14:52:21
Ansonsten kann ich deine Anforderung der visuellen Trennung der Wallbox verstehen (@mr_petz: danke fürs Anmoderieren btw), sehe dies aber in deinem Fall nicht als Teil der PV Darstellung. Dein PV-Strom geht ja nicht in die Wallbox, also warum sollte man dies hier darstellen? Und wenn die Wallbox durch den Netzbezug gespeist wird, dann entspricht dies mMn auch dem Hausverbrauch. Oder hat die Wallbox einen eigenen elektrischen Anschluß inklusive Zähler seitens Netzbetreibers?

Technisch gesehen hast du Recht, die Wallbox hängt einfach an der Unterverteilung wie alle anderen Hausverbraucher auch und läuft über den Hausanschlußzähler. Aber die Wallbox kommuniziert mit dem Hauskraftwerk und die Leistung, die durch die Wallbox läuft, kann gesteuert werden.
Mein PV-Strom geht selbstverständlich in die Wallbox!  :) Habe ich z.B. 8000W PV Produktion, das Haus braucht 500W, mein Akku lädt mit 2500W, so bleiben noch 5000W für die Wallbox. Nur was weder von Haus, noch vom Hausakku oder der Wallbox verbraucht wird, geht ins Netz. Stelle ich die Wallbox so ein, dass sie nur 3000W ins Auto lädt, dann gehen im vorigen Fall 2000W ins Netz.
Dadurch dass man die Wallbox einfach als weiteren Hausverbraucher sehen kann, kann man es natürlich auch so sehen, dass damit der Hausverbrauch auch um diesen Betrag höher ist. Ich persönlich (vielleicht auch andere), möchte aber nur den reinen Hausverbrauch sehen und die Wallboxleistung als extra Wert haben.

Zitat
Auch im Hinblick auf den zur Verfügung stehenden Platz sehe ich weitere Erweiterungen eher kritisch. Da sehe ich in deinem speziellen Fall auch eher einen fork, welche die PV Anlage dann komplett raus nimmt und sich allein auf die Wallbox und Ladestand des eAutos fokussiert.
Der Ladestand lässt sich analog zum Akkustand als Text bestimmt noch unterm Auto darstellen.

Auch darüber habe ich nochmals nachgedacht und der Platz ist schon begrenzt. Da müsste man dann eher das Haus nach oben versetzen und das Auto auch etwas hochschieben, sodass eine Art T-förmige Energieflusssdarstellung entsteht. Ist alles zu aufwendig. Aber eine kleine Darstellung des Akkustandes als Text ist eine gute Idee!
An der Wallbox kann ja durchaus auch mal ein anderes Auto geladen wird, oder das eigene Auto wird woanders geladen. Da passen dann Wallboxleistung und Auto Akkustand nicht zusammen. Somit bin ich mir jetzt auch nicht mehr so sicher, ob das in die PV Anzeige rein sollte.

Zitat
Sehr gerne. :)
vim 8)

Ähhhh, du editierst SVG im Texteditor ohne visuelles Feedback? Respekt! :o
Kannst du dir im Kopf die Form und Position vorstellen? Oder nimmst du vim, um die SVG Schnipsel zusammenzubauen?   ;)

yersinia

#157
Anbei eine neue Version, welche deine Vorschläge partiell übernimmt:
- der Akku wird ausgegraut, wenn keine Ent/Ladung geschieht
- genauso das Netzicon, wenn es weder Bezug oder Einspeisung gibt; ein Schwellenwert habe ich nicht definiert, da selbst zB 10w imho kein Nichtebzug sind.

Weiterhin finde ich die Trennung zwischen Hausverbrauch und Wallboxverbrauch nach deiner Beschreibung sinnvoll. Es kann visuell schon ein Unterschied machen, den Verbrauch der Wallbox nicht dem Haus zuzuordnen. Ich habe deinen Code-Vorschlag adaptiert übernommen: der Parameter um den Wallboxverbrauch aus dem Hausverbauch herauszurechnen ist no-wb-in-home.
        <ftui-pvvis
          [charge-discharge]="E3DC_S10E:Batterieleistung"
          [soc]="E3DC_S10E:Batterieladezustand"
          [produce]="E3DC_S10E:Solarleistung"
  [wb-feed]="E3DC_S10E:Wallboxleistung"
          pvmax="12580"
          [feed-receive]="Stromzaehler:Itron_Power_cur | multiply(-1)"
  no-wb-in-home
  sun-icon="sun"
  grid-icon="pylon2"
  unit-soc="%"
  unit-value="W"
          width="400px">
        </ftui-pvvis>


Zitat von: docolli am 06 November 2022, 20:38:36Ähhhh, du editierst SVG im Texteditor ohne visuelles Feedback? Respekt! :o
Kannst du dir im Kopf die Form und Position vorstellen? Oder nimmst du vim, um die SVG Schnipsel zusammenzubauen? ;)
Naja, man muss dazu sagen, dass ich (hier) viel SVG code einfach von papa, Shadow3561 und mr_petz übernommen und bei Bedarf adaptiert habe. Dafür reicht vim, ich zeichne ja nicht komplett neu. Zur Anzeige nutze ich FF mit den WebDeveloper tools, das reicht für meine Bedürfnisse.
Und ja, ich hab natürlich vorher eine grobe Vorstellung, wie man etwas realisieren könnte - daher stell' ich mir die Akkustanderweiterung für das eAuto oder einen (optionalen) flow Netz=>Wallbox schwierig vor; weniger von der Realisierung sondern eher von der daraus resultierenden visuellen Überfrachtung.

Davon abgesehen hat diese component jetzt schon verdammt viele Parameter und Einstellmöglichkeiten:
Zitatpvmax: maximale Leistung der PV Anlage - dies ist ein fester Wert

[produce]: reading; Produktion der PV Anlage (der Wert wird zu einem positiven Wert konvertiert)

[soc]: reading; Ladestand des Akkus (kann % aber auch Wh annehmen)

[feed]: reading; Einspeisung ins Stromnetz/an EVU; als Wert wird ein Wert >= 0 erwartet
[receive]: reading; Bezug aus Stromnetz/von EVU; als Wert wird ein Wert >= 0 erwartet
Alternativ: [feed-receive]: reading (wenn nur ein Reading für feed und receive zur Verfügung steht und anstelle von feed und receive zu nutzen); dabei gilt:
feed-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)

[charge]: reading; Ladewert des Akkus; als Wert wird ein Wert >= 0 erwartet
[discharge]: reading; Entladung des Akkus; als Wert wird ein Wert >= 0 erwartet
Alternativ: [charge-discharge]: reading (wenn nur ein Reading für charge und discharge zur Verfügung steht und anstelle von charge und discharge zu nutzen); dabei gilt:
charge-discharge => Wert < 0 (negativ) => Akku entladen => wird zur Anzeige und weiteren Berechnung zum positiven konvertiert und discharge zugeschrieben (charge ist damit 0)
charge-discharge => Wert > 0 (positiv) => Akku laden => wird charge zugeschrieben (discharge ist damit 0)

battstep: optional; Grenzwerte für die Ladestandsanzeige des Akkus:
battstep="21,35,51,75,95"
Dabei ist 21 der untere Schwellenwert unter dem der Akku grau bleibt. Diese Definition entspricht:
0 bis 21 - Batterie ist ausgegraut
21 bis 35 - kein Balken
35 bis 51 - ein Balken
51 bis 75 - zwei Balken
75 bis 95 - drei Balken
ab 95 - vier Balken
Vorgegebener Standard ist
battstep="1,24,49,74,95"

no-bat-gradient: optional; der Batteriestand wird als Farbverlauf in Abhängigkeit des Ladezustands angezeigt - wenn der Akku leer ist färben sich die Balken rot und gehen bei Ladung bis voll sukzessive in grün über. Dabei ändern nur die Ladebalken die Farbe, die Batterie selbst zeigt immer noch an ob sie geladen (grün) oder entladen (rot) wird (grau wenn weder ge/entladen wird). Wer diesen Farbverlauf nicht haben möchte, setzt no-bat-gradient. Der Farbverlauf basiert auf den battstep-Schwelelnwerte.

has-no-battery: optional; wenn gesetzt wird der Akkustrang rechts ausgeblendet

grid-icon: optional; ersetzt das Kabel-Netzicon; valide Werte sind: pylon, pylon2 (von papa aus #123 ) oder cable (Standard; muss nicht explizit gesetzt werden)

home-icon: optional; das Haus-Icon lässt sich ersetzen durch folgende potentielle Werte: house (Standard; muss nicht explizit gesetzt werden), plug (Stecker) oder socket (Steckdose)

has-no-grid-feed: optional; blendet die Netzeinspeisung (PV=>Netz) aus

has-grid-charge: optional; aktiviert das Laden des Akkus vom Netz und entsprechende Werte können mittels [grid-charge]="DEVICE:READING" übergeben werden.

[grid-charge]: reading, optional; übernimmt die Werte der Ladeleistung des Akkus aus dem Netz; muss gesetzt werden wenn has-grid-charge genutzt wird

has-no-wallbox: optional; wenn gesetzt, wird der Wallbox-Teil ausgblendet

[wb-feed]: reading, optional; nimmt den Wert des derzeitigen Ladens des Autos auf (entspricht papas data-lp1pow - Ladung des Auto). Ist der Wert <= 0 wird der Strang und das Auto ausgegraut. Ist der Wert > 0 wird das Auto grün und der flow gelb eingefärbt. Muss nicht gesetzt werden wenn has-no-wallbox gesetzt ist.

no-wb-in-home: optional; zieht den Wallboxverbrauch vom Hausverbrauch ab

sun-icon: optional; andere icons für die Sonne => sun2 entspricht der Sonne von papa aus #123; pvsun entspricht dem panel und der Sonne von Shadow3561 aus #24; sun ist der Standardwert und muss nicht explizit gesetzt werden

unit-soc optional; für die Einheit des Akkustands, zB:
unit-soc="%"
Wenn nicht gesetzt wird auch keine Einheit gesetzt.

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

width: optional; Breite der Grafik (Standard ist 200px)
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

docolli

#158
Vielen Dank für die Integration! Das mit den Schwellwerten wurde hier ja schon mal diskutiert und dann mit einer Helperfunktion gelöst, die per pipe das Reading oberhalb eines individuellen Schwellwerts auf Null setzt. Das habe ich heute mal implementiert, muss aber sagen, dass mir meine Lösung im Code besser gefällt, da diese nur die farbige Hervorhebung des Energiestrangs unterdrückt, aber den geringen Energieverbrauch dennoch als Wert anzeigt. Mich persönlich hat nur gestört, dass ein geringer Energiefluss optisch die gleiche "Aufmerksamkeit" bekommt, wie ein hoher (siehe Bild, bei meiner Umsetzung verschwinden die 3W aus dem Netz optisch, der Wert ist aber zu lesen / es kommt relevante Energie nur aus dem Akku).

Damit du besser verstehst was ich mache hier der Code dazu:

  colorGrid() {
    let consumption = this.receive - this.feed;
    this.grid.classList.remove("pvvis-grid-feed", "pvvis-grid-consume", "pvvis-grid-neutral");
    if(consumption > this.flowThreshold ) {
this.grid.classList.add("pvvis-grid-consume");
} else if(consumption < -this.flowThreshold ) {
this.grid.classList.add("pvvis-grid-feed");
} else {
this.grid.classList.add("pvvis-grid-neutral");
}
  }


bzw.

  flowValue(src, obj) {
    const loadOneThird = Math.round(this.pvmax * (1/3));
    const loadTwoThirds = Math.round(this.pvmax * (2/3));
    this.shadowRoot.getElementById(obj).classList.remove("pvvis-active1", "pvvis-active2", "pvvis-active3", "pvvis-inactive");
    if(!isNaN(src)) { src = parseInt(src); }
    if(src > loadTwoThirds) {
        this.shadowRoot.getElementById(obj).classList.add("pvvis-active1");
    } else if(src > loadOneThird) {
        this.shadowRoot.getElementById(obj).classList.add("pvvis-active2");
    } else if(src > this.flowThreshold ) {
        this.shadowRoot.getElementById(obj).classList.add("pvvis-active3");
    } else {
        this.shadowRoot.getElementById(obj).classList.add("pvvis-inactive");
    }
    if((this.doNotShowZero) && (Math.round(src) == 0)) {
    this.shadowRoot.getElementById(obj+"-txt").innerHTML = '';
    } else {
    this.shadowRoot.getElementById(obj+"-txt").innerHTML = src.toFixed();
    if(this.unitValue) { this.shadowRoot.getElementById(obj+"-txt").innerHTML += '<tspan class="pvvis-txt-unit-value">' + this.unitValue + '</tspan>'; }
    }
  }


Ich habe (sorry, noch ein Parameter mehr ::)) dafür "flow-threshold" eingeführt. Der Einfachheit halber nutze ich den sowohl, um die Farbe des grid-Icon zu steuern, als auch die flow Darstellung der Energieflüsse zu starten.

Das mit dem SVG habe ich jetzt verstanden, als ich mir die CSS Auszeichnung mit transform/translate/scale angesehen habe. Cool, so geht das mit Editor und FF im Entwicklungsmodus. 8)

Was ich mit dem Auto und seinen Werten mache, muss ich mir noch selber klar werden. Im Bild siehst du den Stand, wo ich Akkustand drunter und Innentemperatur innen rein gesetzt habe...  ;D

docolli

Was mir eben noch auffällt: Es kann bei meinem Hauskraftwerk durchaus vorkommen, dass der Wechselrichter aus dem Akku kurzfristig zuviel Strom erzeugt und dieser dann ins Netz eingespeist wird. Sind nur wenige Watt (<10W), aber dadurch rechnet er eine negative PV-Produktion. Und der Strom, der ins Netz geht, kommt nicht wirklich von der PV, steht also auch am falschen Strang. Irgendeine Idee, wie man das verbessern könnte?

yersinia

Zitat von: docolli am 07 November 2022, 17:41:35Vielen Dank für die Integration!
Vielen Dank für den Code-Input. :)

Zitat von: docolli am 07 November 2022, 17:41:35Das mit den Schwellwerten wurde hier ja schon mal diskutiert und dann mit einer Helperfunktion gelöst, die per pipe das Reading oberhalb eines individuellen Schwellwerts auf Null setzt. Das habe ich heute mal implementiert, muss aber sagen, dass mir meine Lösung im Code besser gefällt, da diese nur die farbige Hervorhebung des Energiestrangs unterdrückt, aber den geringen Energieverbrauch dennoch als Wert anzeigt. Mich persönlich hat nur gestört, dass ein geringer Energiefluss optisch die gleiche "Aufmerksamkeit" bekommt, wie ein hoher (siehe Bild, bei meiner Umsetzung verschwinden die 3W aus dem Netz optisch, der Wert ist aber zu lesen / es kommt relevante Energie nur aus dem Akku).
Ja, ganz oder gar nicht - entweder man möchte die Werte sehen oder eben nicht. Wenn die unter dem via pipe selbstgewählten Schwellwert fallen, dann sollten mMn sowohl Werte als auch flows ausgeblendet/genullt werden. Die flows auszublenden um dann nur 3W anzuzeigen finde ich nicht zielführend. Aber wenn es hier noch mehr Bedarf dafür gibt, dann bau' ich das mit ein.

Zitat von: docolli am 07 November 2022, 18:47:36Und der Strom, der ins Netz geht, kommt nicht wirklich von der PV, steht also auch am falschen Strang. Irgendeine Idee, wie man das verbessern könnte?
Eine negative PV produktion kann es eigtl nicht geben - von daher würde ich negative Werte verwerfen:
  calcProduce() {
    this.pvhomeval = Math.abs(this.produce) - this.charge - this.feed;
    if(this.pvhomeval < 0) { this.pvhomeval = 0; }
    this.flowValue(this.pvhomeval, "pv-home");
    this.calcHouseConsume();
  }
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

fred_feuerstein

#161
Gerade den Thread entdeckt. Ich nutze FTUI2 und das Widget von Papa aus Beitrag 120 und folgende Änderungen.

Was mir noch gefehlt hatte:
- Gesamtverbrauch momentan vom Haus
- Gesamtproduktion momentan von der PV-Anlage

Also Gesamtverbrauch vom Haus als Zahl beim "Haus"-Icon, sowie Gesamtproduktion als Zahl beim "Sonnen"-Icon?

dazu habe ich in die config noch die Variable "verbrauch" eingebaut und dann "verbrauch" und "produce" (dieser Wert war schon enthalten, wurde nur nicht angezeigt) im Widget mit eingefügt.

das sind nun die aktuell möglichen Werte:
data-device - Gerät, das den Refresh triggert
data-get - Bezug aus dem Netz
data-feed - Einspeisungs in Netz
data-produce - Production PV-Anlage momentan
data-verbrauch - Verbrauch Haus momentan
data-charge - Ladung Akku
data-discharge - Entladung Akku
data-soc - Ladezustand Battery
data-pv-max - Maxiamle Leistung PV
data-lp1 - Zustand des Steckers der Wallbox - 0 oder 1
data-lp1pow - Ladung des Auto
data-width - Breite des Widget
data-height - Höhe des Widget


so sieht die config aus:
         <div data-type="pvvis" data-device="symogen24"
              data-get="usr_Netz_Bezug" data-feed="usr_Netz_Einspeisung"
              data-produce="usr_Photovoltaik" data-charge="usr_Batt_Einspeisung"
              data-verbrauch="usr_Verbrauch" data-discharge="usr_Batt_Bezug" data-soc="usr_Batt_Prozent"
              data-pv-max="11000"
              data-width="370" data-height="370" class="centered">
         </div>


und so sieht es aus:
Gruß, Fred

FHEM auf Raspberry PI 3B+ im 7Zoll TouchDisplay Gehäuse, OS: Bullseye, mit Z-Wave RaZberry-Modul, 868CUL (WMBUS), LaCrosseCUL (Temp) und knapp 300 Devices aller Art

docolli

Zitat von: mr_petz am 05 November 2022, 17:25:42
Dann bräuchte die Wallbox ja eigene Strangberechnungen wie das Haus?
Oder woher kann der View das sehen von wo die Wallbox gerade Strom bezieht bzw. beziehen darf?
Ist nur für die Umsetzung zu überlegen.

LG mr_petz

Edit:
Es muss natürlich der Hausverbrauch mit einbezogen werden in den Berechnungen...

Hier mal für Euch ein nettes Beispiel aus der Praxis (siehe Bild), damit man sieht, dass die Idee mit der Strangberechnung für die Wallbox gar nicht so trivial ist.

Ich habe die Wallbox fest auf 10A eingestellt, so zieht das Auto 2248W. Von der PV kommen 2243W, das Haus braucht 576W und aus dem Netz kommen 581W.
So, hat nun die Wallbox reinen PV Strom und wird das Haus komplett aus dem Netz versorgt? Oder wird das Haus mit 576W komplett von der PV versorgt und der Überschuss (1667W) gehen in die Wallbox und den Rest (581W) zieht die sich aus dem Netz?  ::)

Es ist ja eher so, dass das Haus (samt Wallbox) mit Mischstrom aus PV und Netz versorgt wird, der PV Anteil ist 2243/2824=79,4%, der Netzanteil somit 20,6%. Wenn man (was aus meiner Sicht an dieser Stelle nicht notwendig ist) eine Strangberechung für Wallbox samt extra Stränge darzustellen machen will, dann nur mit prozentualen Werten und drüber dann die "W" der einzelnen Wallboxstränge berechnen.

fred_feuerstein

ah. das ist interessant. Wie bekomme ich denn im Widget noch ein "w" hinter die Werte?
an welcher Stelle muss das rein? Ich bin zugegeben nicht so fit was javascript anbetrifft.
Die anderen Dinge konnte ich anhand der anderen Werte im Widget ableiten und hinzufügen.
Aber einen String (w) an die Werte hängen, da fehlt mir der Ansatz.
Gruß, Fred

FHEM auf Raspberry PI 3B+ im 7Zoll TouchDisplay Gehäuse, OS: Bullseye, mit Z-Wave RaZberry-Modul, 868CUL (WMBUS), LaCrosseCUL (Temp) und knapp 300 Devices aller Art

yersinia

Zitat von: fred_feuerstein am 08 November 2022, 15:17:39Aber einen String (w) an die Werte hängen, da fehlt mir der Ansatz.
Analog zu Zeile 237 in deiner Version (welches ein % an den Ladestand hängt):
batsoctxt.text(doround(soc)+"%");
kannst du ab Zeile 227 folgendes ergänzen:
                var unit = "W"; //<--
                gridhometxt.text(doround(consume) + unit); //<--
                gridhometxt.attr("class", flowstyle(consume));
                pvgridtxt.text(doround(feed) + unit); //<--
                pvgridtxt.attr("class", flowstyle(feed));
                pvhometxt.text(pvhomeval + unit); //<--
                pvhometxt.attr("class", flowstyle(pvhomeval));
                pvbattxt.text(doround(charge) + unit); //<--
                pvbattxt.attr("class", flowstyle(charge));
                bathometxt.text(doround(discharge) + unit); //<--
                bathometxt.attr("class", flowstyle(discharge));
                batsoctxt.text(doround(soc)+"%");
                homecartxt.text(doround(lp1pow) + unit); //<--
                homecartxt.attr("class", flowstyle(lp1pow));
                producetxt.text(doround(produce) + unit); //<--
                verbrauchtxt.text(doround(verbrauch) + unit); //<--

(die //<-- sind Marker für die Zeilen mit Änderungen und nicht notwendig)
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