Aus einer früheren Diskussion mit @shining-man
Motivation / Problemstellung
In realen Multi-Pack-Setups existieren pro Pack oft zwei (oder mehr?) Datenquellen:
BMS: Zellspannungen, Temperaturen, Errors, FET-Status, Balancer-Daten
SmartShunt: deutlich bessere Genauigkeit bei Strom und daraus abgeleitetem SoC (Coulomb Counting), häufig auch Spannung
Aktuell ist ein Data Device typischerweise „ein Pack“ und liefert alle Werte.
Das ist in gemischten Setups unpraktisch, weil man für ein Pack die „besten Sensoren“ aus unterschiedlichen Data Devices beziehen möchte.
Ziel
Ein neues Konzept „Virtual Battery (VBat)“ als Komposit-Device, das nach außen wie ein normales Batterie-/Pack-Device wirkt, dessen Werte aber feldweise aus anderen Data Devices zusammengesetzt werden können.
Wichtig: Es sollen mehrere VBats möglich sein, typischerweise eine VBat pro physischem Pack.
Beispiel (mehrere VBats)
Ich habe 10 Data Devices:
5× BMS (Batterie01..05)
5× SmartShunt (Shunt01..05)
Je Shunt ist elektrisch einem Pack zugeordnet.
VBat01
Basis: Data device 1 (Batterie01/BMS)
Overrides:
soc = Data device 7 (Shunt01)
current = Data device 7 (Shunt01)
voltage = konfigurierbar, z. B. max(BMS.voltage, Shunt.voltage) oder direkte Quelle
Zellwerte/Temps/Errors/FET weiterhin aus Batterie01
VBat02 analog: Batterie02 + Shunt02
…
VBat05 analog: Batterie05 + Shunt05
Ziel ist, dass im System nicht „BMS und Shunt parallel“ als zwei konkurrierende Packs erscheinen, sondern pro Pack eine konsolidierte Sicht.
@shining-man
Du hattest erwähnt, dass du über eine Verknüpfung nachdenkst, bei der man „für jedes Data Device SoC/Gesamtstrom/Spannung aus einem anderen Data Device verknüpfen kann“.
Die VBat-Idee geht in genau diese Richtung.
Wie könnte man das umsetzen?
Statt bestehende Data Devices „umzubiegen“, erzeugt man zusätzliche, virtuelle Devices, die Werte übernehmen/aggregieren.
Pro VBat:
Base source (Standardquelle für alle Werte, typischerweise ein BMS-Device)
Overrides nur für wenige Felder (Start klein):
SoC source: [ein Data Device]
Current source: [ein Data Device]
Voltage source: [ein Data Device] oder Aggregation (min/mean/max) über eine definierte Quellenliste (z. B. Base + Shunt)
Fallback-Regel:
wenn Override-Quelle invalid/offline → Base source verwenden oder „invalid“ (konfigurierbar).
Vielleicht kann man das auch grafisch entspannen indem man ein Attribut einfügt, dass ein DD "nur" Datenquelle oder Pack ist.
Wäre in Verbindung mit #275 einsetzbar
Aus einer früheren Diskussion mit @shining-man
Motivation / Problemstellung
In realen Multi-Pack-Setups existieren pro Pack oft zwei (oder mehr?) Datenquellen:
BMS: Zellspannungen, Temperaturen, Errors, FET-Status, Balancer-Daten
SmartShunt: deutlich bessere Genauigkeit bei Strom und daraus abgeleitetem SoC (Coulomb Counting), häufig auch Spannung
Aktuell ist ein Data Device typischerweise „ein Pack“ und liefert alle Werte.
Das ist in gemischten Setups unpraktisch, weil man für ein Pack die „besten Sensoren“ aus unterschiedlichen Data Devices beziehen möchte.
Ziel
Ein neues Konzept „Virtual Battery (VBat)“ als Komposit-Device, das nach außen wie ein normales Batterie-/Pack-Device wirkt, dessen Werte aber feldweise aus anderen Data Devices zusammengesetzt werden können.
Wichtig: Es sollen mehrere VBats möglich sein, typischerweise eine VBat pro physischem Pack.
Beispiel (mehrere VBats)
Ich habe 10 Data Devices:
5× BMS (Batterie01..05)
5× SmartShunt (Shunt01..05)
Je Shunt ist elektrisch einem Pack zugeordnet.
VBat01
Basis: Data device 1 (Batterie01/BMS)
Overrides:
soc = Data device 7 (Shunt01)
current = Data device 7 (Shunt01)
voltage = konfigurierbar, z. B. max(BMS.voltage, Shunt.voltage) oder direkte Quelle
Zellwerte/Temps/Errors/FET weiterhin aus Batterie01
VBat02 analog: Batterie02 + Shunt02
…
VBat05 analog: Batterie05 + Shunt05
Ziel ist, dass im System nicht „BMS und Shunt parallel“ als zwei konkurrierende Packs erscheinen, sondern pro Pack eine konsolidierte Sicht.
@shining-man
Du hattest erwähnt, dass du über eine Verknüpfung nachdenkst, bei der man „für jedes Data Device SoC/Gesamtstrom/Spannung aus einem anderen Data Device verknüpfen kann“.
Die VBat-Idee geht in genau diese Richtung.
Wie könnte man das umsetzen?
Statt bestehende Data Devices „umzubiegen“, erzeugt man zusätzliche, virtuelle Devices, die Werte übernehmen/aggregieren.
Pro VBat:
Base source (Standardquelle für alle Werte, typischerweise ein BMS-Device)
Overrides nur für wenige Felder (Start klein):
SoC source: [ein Data Device]
Current source: [ein Data Device]
Voltage source: [ein Data Device] oder Aggregation (min/mean/max) über eine definierte Quellenliste (z. B. Base + Shunt)
Fallback-Regel:
wenn Override-Quelle invalid/offline → Base source verwenden oder „invalid“ (konfigurierbar).
Vielleicht kann man das auch grafisch entspannen indem man ein Attribut einfügt, dass ein DD "nur" Datenquelle oder Pack ist.
Wäre in Verbindung mit #275 einsetzbar