Skip to content

Feature: Mehrere „Virtual Batteries“ (VBat) als Komposit-Data-Devices – feldweise Quellenwahl (BMS + Shunt kombinieren) #276

@D3R-ST3FAN

Description

@D3R-ST3FAN

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions