[23_BYDBox] - Modul für BYD Box Battery

Begonnen von MiniBlister, 14 Juni 2021, 18:37:02

Vorheriges Thema - Nächstes Thema

Prof. Dr. Peter Henning

Wie gesagt, schön oder gar korrekt ist das nicht. Aber von mir aus...

EnergyCapacity, oder energyCapacity, oder energy_capacity. Zur Einheitenfrage: Vlt. ein Attribut energyUnit definieren, das den Wert Wh oder kWh oder J annehmen kann. Und alle Energien in der Einheit ausrechnen, ohne dass man das manuell machen muss.

LG

pah

Parallix

#346
Zitat von: MadMax am 11 August 2025, 18:35:14Also EnergyCapacity als Kapazität die der Hersteller angibt?

Ja! BYD spricht selber nur von "usable capacity". Da hier aber unklar ist, ob deren Einheit C, Ah oder Wh ist, wäre "EnergyCapacity" wohl am klarsten, angenehm kurz und auch in Linie mit den bisherigen Bezeichnungen.

Zitat von: MadMax am 11 August 2025, 18:35:14Die anderen Werte brauchen wir nicht bzw kann sich jeder berechnen?

Zitat von: MadMax am 11 August 2025, 18:35:14Ja! Für die anderen Werte brauchen wir in der Tat kein vom Modul zur Verfügung gestelltes Reading.

Zitat von: MadMax am 11 August 2025, 18:35:14In Wh oder kWh?

Normalerweise ist davon auszugehen, dass nicht näher bezeichnete Größen in einer Einheit ohne SI-Prefix angegeben wird. Also gilt hier die Annahme, dass die Einheit für den Wert des Readings die "Wh" ist. Z.B. für ein HVS 5.1 wären dass dann 5120 Wh und für ein HVM 8.3 sind es 8280 Wh.


Edit: In PV-Bereich wird häufig mit Einheiten gearbeitet, die keine SI-Basiseinheiten sind. So werden Energiemengen nahezu durchgängig in Wh oder kWh angegeben und praktisch nie in Ws. Um Klarheit bei der (Einheiten-)Interpretation von Readings zu schaffen, sollten Readings wenigstens dann, wenn deren Werte nicht in SI-Basiseinheiten angeben werden, zwingend um ein Einheitenpostfix (hier _Wh oder _kWh) ergänzt werden!



PS: Warum sind eigentlich für einige Readings innerhalb eines Devices mit dem Prefix "Battery_1_" versehen? Gibt es wohlmöglich auch Devices mit mehreren internen Subsystemen?
FHEM: Debian/Testing BananaPro - AVM: 7490 (7.59) und 7591 (8.02) - Goodwe: GW25K-ET (DSP V10 / ARM V12) - BYD: 2 x HVS 5.1 (BMS V3.29-A, BMU V3.23-A) - EnOcean - Z-Wave - FS20/HMS

Prof. Dr. Peter Henning

Zitat von: Parallix am 12 August 2025, 07:56:50Ja! Für die anderen Werte brauchen wir in der Tat kein vom Modul zur Verfügung gestelltes Reading.
Für die "EnergyCapacity" auch nicht, die steht auf dem Kaufbeleg und ändert sich nie.

Zitat von: Parallix am 12 August 2025, 07:56:50Normalerweise ist davon auszugehen, dass nicht näher bezeichnete Größen in einer Einheit ohne SI-Prefix angegeben wird. Also gilt hier die Annahme, dass die Einheit für den Wert des Readings die "Wh" ist. Z.B. für ein HVS 5.1 wären dass dann 5120 Wh und für ein HVM 8.3 sind es 8280 Wh.
Sehr witziges Eigentor  ;D  ;D

Die SI-Einheit der Energie ist Joule = J = Ws

LG

pah

Parallix

#348
Zitat von: Parallix am 12 August 2025, 07:56:50...
Sehr witziges Eigentor  ;D  ;D

Die SI-Einheit der Energie ist Joule = J = Ws

In der Tat! Das nehme ich sportlich gelassen und freue mich für's Punkten eines Mitstreiters, bitte aber um Beachtung, dass ich oben von SI-Prefixen und nicht SI-Basiseinheiten gesprochen habe!

Den Anlass möchte ich aber nutzen, um nochmals auf die Sinnhaftigkeit von Einheitenpostfixen hinzuwiesen. Würden wir unsere Readings (hier "EnergyCapacity") um ein Postfix (hier _Wh) ergänzen, wäre alles sehr klar.

Aus vorgenanntem Grund plädiere ich daher für
EnergyCapacity_Wh
und bitte um Beachtung meines Edits im meinem vorherigen Beitrag.

@pah: Was eigentlich spricht - Deiner Meinung nach - gehen Einheitenpostfixe?
FHEM: Debian/Testing BananaPro - AVM: 7490 (7.59) und 7591 (8.02) - Goodwe: GW25K-ET (DSP V10 / ARM V12) - BYD: 2 x HVS 5.1 (BMS V3.29-A, BMU V3.23-A) - EnOcean - Z-Wave - FS20/HMS

MadMax

So,

es gibt jetzt ein Attribus EnergyCapacity mit dem man das Reading BatteryEnergyCapacity beeinflussen kann.

Bitte mal schauen ob das so passt ;-)

Gruß
Max
Lenovo M910Q Tiny Debian 12, FHEM 6.3, 2x Siemens Logo 0BA7, Homematic CCU3, Philips HUE, 6x SMA Wechselrichter, BYD HVM, BYD HVS, SMA EVCharger, KEBA Wallbox, 2x HMS800W, Daikin Wärmepumpe über CAN, viele ESPs

Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/MadMax

Parallix

Zitat von: MadMax am 13 August 2025, 19:10:47So,

es gibt jetzt ein Attribus EnergyCapacity mit dem man das Reading BatteryEnergyCapacity beeinflussen kann.

Bitte mal schauen ob das so passt ;-)

Gruß
Max

EnergyCapacity ist also eigentlich EnergyCapacityUnit, richtig?
FHEM: Debian/Testing BananaPro - AVM: 7490 (7.59) und 7591 (8.02) - Goodwe: GW25K-ET (DSP V10 / ARM V12) - BYD: 2 x HVS 5.1 (BMS V3.29-A, BMU V3.23-A) - EnOcean - Z-Wave - FS20/HMS

MadMax

Zitat von: Parallix am 13 August 2025, 22:06:42
Zitat von: MadMax am 13 August 2025, 19:10:47So,

es gibt jetzt ein Attribus EnergyCapacity mit dem man das Reading BatteryEnergyCapacity beeinflussen kann.

Bitte mal schauen ob das so passt ;-)

Gruß
Max

EnergyCapacity ist also eigentlich EnergyCapacityUnit, richtig?

Was meinst du?
Die Einheit kannst du auswählen.
Lenovo M910Q Tiny Debian 12, FHEM 6.3, 2x Siemens Logo 0BA7, Homematic CCU3, Philips HUE, 6x SMA Wechselrichter, BYD HVM, BYD HVS, SMA EVCharger, KEBA Wallbox, 2x HMS800W, Daikin Wärmepumpe über CAN, viele ESPs

Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/MadMax

Parallix

Zitat von: MadMax am 14 August 2025, 05:37:25
Zitat von: Parallix am 13 August 2025, 22:06:42
Zitat von: MadMax am 13 August 2025, 19:10:47So,

es gibt jetzt ein Attribus EnergyCapacity mit dem man das Reading BatteryEnergyCapacity beeinflussen kann.

Bitte mal schauen ob das so passt ;-)

Gruß
Max

EnergyCapacity ist also eigentlich EnergyCapacityUnit, richtig?

Was meinst du?
Die Einheit kannst du auswählen.

Meinte, dass mit EnergyCapacity die Einheit gewählt werden kann, das Attribut also auch EnergyCapacityUnit heißen könnte.
FHEM: Debian/Testing BananaPro - AVM: 7490 (7.59) und 7591 (8.02) - Goodwe: GW25K-ET (DSP V10 / ARM V12) - BYD: 2 x HVS 5.1 (BMS V3.29-A, BMU V3.23-A) - EnOcean - Z-Wave - FS20/HMS

MadMax

Zitat von: Parallix am 14 August 2025, 07:23:50
Zitat von: MadMax am 14 August 2025, 05:37:25
Zitat von: Parallix am 13 August 2025, 22:06:42
Zitat von: MadMax am 13 August 2025, 19:10:47So,

es gibt jetzt ein Attribus EnergyCapacity mit dem man das Reading BatteryEnergyCapacity beeinflussen kann.

Bitte mal schauen ob das so passt ;-)

Gruß
Max

EnergyCapacity ist also eigentlich EnergyCapacityUnit, richtig?

Was meinst du?
Die Einheit kannst du auswählen.

Meinte, dass mit EnergyCapacity die Einheit gewählt werden kann, das Attribut also auch EnergyCapacityUnit heißen könnte.


Ja, aber es hat ja such die Funktion der Abschaltung.
Lenovo M910Q Tiny Debian 12, FHEM 6.3, 2x Siemens Logo 0BA7, Homematic CCU3, Philips HUE, 6x SMA Wechselrichter, BYD HVM, BYD HVS, SMA EVCharger, KEBA Wallbox, 2x HMS800W, Daikin Wärmepumpe über CAN, viele ESPs

Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/MadMax

Prof. Dr. Peter Henning

Zitat@pah: Was eigentlich spricht - Deiner Meinung nach - gehen Einheitenpostfixe?
Alles spricht dagegen. Erstens ist das nicht konform mit den Regeln der Naturwissenschaft und der Technik - egal, welchen Bereich man betrachtet. Und auch wenn in FHEM erfreulicherweise viele fachliche Laien unterwegs sind: Das sollte man schon beachten.

Zweitens: Man sieht schon in dieser Diskussion, dass mancher seine Anzeige in "Wattstunden" haben will, der nächste lieber in kWh oder Joule. Das würde also zu einem wilden Zoo von Readingnamen führen.

Drittens: Auch kein Hersteller von mit FHEM zu bedienenden Geräten handhabt das so. Industriestandard ist eigentlich die Angabe der Einheit zusätzlich zum Wert, jedenfalls dort, wo es Abweichungen geben könnte. Kleines Beispiel, ich könnte etliche aufführen: VW liefert bei modernen BEV wie meinem ID7 über seine Server unter anderem die Innentemperatur des Fahrzeugs. Und zusätzlich ein Datum "unitInCar", das natürlich die Werte "F" und "C" annehmen kann. Gerade um sich diesem Industriestandard anzunähern, habe ich ja vorgeschlagen, etwas Ähnliches hier einzuführen.

Viertens, noch ein pragmatischer Grund: Ich halte es für nicht durchsetzbar, so etwas FHEM-weit einheitlich durch- oder einzuführen.

ZitatJa, aber es hat ja such die Funktion der Abschaltung.
Gute Idee: Wenn für ein Reading keine Einheit angegeben ist, wird es ggf. komplett unterdrückt. Allerdings würde ich mir wünschen, dass dieses Attribut nicht den Namen der gemessenen Größe trägt und diese dafür ein "Battery" davor gesetzt bekommt. Sondern das die gemessene Größe den einfachen Namen trägt, und das Attribut dafür ein "Unit" oder "_unit" dahinter oder davor gesetzt bekommt.

LG

pah

Parallix

#355
Zitat von: Prof. Dr. Peter Henning am 15 August 2025, 04:54:39.
...
ZitatJa, aber es hat ja such die Funktion der Abschaltung.
Gute Idee: Wenn für ein Reading keine Einheit angegeben ist, wird es ggf. komplett unterdrückt. Allerdings würde ich mir wünschen, dass dieses Attribut nicht den Namen der gemessenen Größe trägt und diese dafür ein "Battery" davor gesetzt bekommt. Sondern das die gemessene Größe den einfachen Namen trägt, und das Attribut dafür ein "Unit" oder "_unit" dahinter oder davor gesetzt bekommt.
...

Das wäre dann mein o.g. Vorschlag für den Namen des Attributs.
FHEM: Debian/Testing BananaPro - AVM: 7490 (7.59) und 7591 (8.02) - Goodwe: GW25K-ET (DSP V10 / ARM V12) - BYD: 2 x HVS 5.1 (BMS V3.29-A, BMU V3.23-A) - EnOcean - Z-Wave - FS20/HMS

Parallix

#356
Zitat von: Prof. Dr. Peter Henning am 15 August 2025, 04:54:39
Zitat@pah: Was eigentlich spricht - Deiner Meinung nach - gehen Einheitenpostfixe?
Alles spricht dagegen
....

:o Vergisst Du möglicherweise, dass es zu einem guten Programmierstiel gehört, Variablen so zu benennen, dass deren Bedeutung inhaltlich schnell und möglichst zweifelsfrei erfasst werden kann?

PS: In der Informatik - ist ja auch eine Wissenschaft  ;) - erfolgt jedenfalls eine deutlich kontroversere Diskussion über Einheitenpostfixe. Persönlich finde ich es ausgesprochen schade, dass Du (nicht immer, aber immer mal wieder) mit so extremen Aussagen wie oben einer kontroversen Diskussion aus dem Weg gehst.

PPS: Handelt es sich um inhaltlich schnell und eindeutig erfassbare Variablen, deren Inhalt in SI-prefixfreien SI-Basiseinheiten angegeben ist (z.B. voltage für eine Spannung in V, nicht aber kV), dann verlängern Einheitenpostfixe  nur den Variablennamen und könn(t)en weggelassen werden. Der hier ursprünglich besprochene Fall ist jedoch ein anderer. Die von MadMax vorgeschlagene Lösung ist hier sicher ein gangbarer Weg, auch ohne Einheitenpräfixe auszukommen, wenngleich (da nur optional) kein ganz sauberer Weg.
FHEM: Debian/Testing BananaPro - AVM: 7490 (7.59) und 7591 (8.02) - Goodwe: GW25K-ET (DSP V10 / ARM V12) - BYD: 2 x HVS 5.1 (BMS V3.29-A, BMU V3.23-A) - EnOcean - Z-Wave - FS20/HMS

Prof. Dr. Peter Henning

Zitat von: Parallix am 15 August 2025, 08:19:55Vergisst Du möglicherweise, dass es zu einem guten Programmierstiel gehört, Variablen so zu benennen, dass deren Bedeutung inhaltlich schnell und möglichst zweifelsfrei erfasst werden kann?
Soso. Möglicherweise vergisst Du, dass ich Informatik gelehrt habe.
Erstens geht es hier nicht um programminterne Variablen, sondern um Ausgabedaten zur Kommunikation zwischen Mensch und Maschine.
Und zweitens sehe ich keine "kontroverse Diskussion über Einheitenpostfixe" bei solchen Daten. Es gibt klare Richtlinien und Empfehlungen, wie sie dargestellt werden sollen.

Ich teile ja gerne meine Kenntnisse und Erfahrungen - aber in einer Diskussion, die sich immer nur um solche abwegigen Spezialwünsche dreht, sehe ich ehrlich gesagt keinen Sinn. Meine Lebenszeit kann ich sinnvoller einsetzen.

LG

pah