Skip to content

Conversation

@Maschga
Copy link
Collaborator

@Maschga Maschga commented Nov 8, 2025

Depends on evcc-io/rct#5
Ref #23450 (comment)

2️⃣ support second battery power
🏃‍➡️ use concurrent calls whenever possible
🖱 add battery parameter

TODO:

  • rename battery to batterynumber (?)

\cc @andig

@Maschga Maschga added the devices Specific device support label Nov 8, 2025
@zeitisen
Copy link

zeitisen commented Nov 8, 2025

Wow 🤩. Wenn das im nightly drin ist, teste ich das

@premultiply
Copy link
Member

Üblicherweise adressieren und Instanzieren wir die Batterien einzeln über eine Art Index oder Umschalter, da sie ggf. unterschiedliche Eigenschaften wie z.B. soc und auch capacity haben können.

Der Gesamt-SoC wird automatisch über die site berechnet.

Wäre das hier im Sinne der Einheitlichkeit auch möglich?

@zeitisen
Copy link

zeitisen commented Nov 9, 2025

Dazu müsste die zweite Software Instanz Batterie wissen, dass sie immer die Nr. 2 auf dieser Adresse ist. Nur zu wissen, dass es zwei gibt, reicht nicht.
Ich weiß nicht, ob das die Struktur hergibt. Das müssen die wissen, die das programmiert haben.

@zeitisen
Copy link

zeitisen commented Nov 9, 2025

Ich habe jetzt gerade eine zweite Batterie angelegt.
Da hier auch Power angezeigt wird, müsste die dann auch berücksichtigt werden.

	case "battery":
		return m.queryFloat(rct.BatteryPowerW)

This is the total power of batteries as in https://rctclient.readthedocs.io/en/latest/inverter_registry.html#g-sync
0x400F015B g_sync.p_acc_lp Battery power

siehe auch weltenwort/home-assistant-rct-power-integration#396 (comment)

Hier nochmal die bekannten Werte für die zweite Batterie:

key="battery_placeholder[0].bms_sn",
key="battery_placeholder[0].bms_software_version",
key="battery_placeholder[0].module_sn[0]",
key="battery_placeholder[0].module_sn[1]",
key="battery_placeholder[0].module_sn[2]",
key="battery_placeholder[0].module_sn[3]",
key="battery_placeholder[0].module_sn[4]",
key="battery_placeholder[0].module_sn[5]",
key="battery_placeholder[0].current",
key="battery_placeholder[0].voltage",
key="battery_placeholder[0].maximum_charge_voltage",
key="battery_placeholder[0].minimum_discharge_voltage",
key="battery_placeholder[0].maximum_discharge_current",
key="battery_placeholder[0].temperature",
key="battery_placeholder[0].ah_capacity",
key="battery_placeholder[0].soc",
key="battery_placeholder[0].soh",
key="battery_placeholder[0].status2",                            

@Maschga
Copy link
Collaborator Author

Maschga commented Nov 9, 2025

Das ist der aktuelle Stand. Diese Register werden derzeit von evcc verwendet.
Ich muss wissen, welche Register für den zweiten Batterieturm gleich bleiben und welche ersetzt werden müssen.
Ich habe keinen zweiten Batterieturm und kann hier leider nichts testen und nur beschränkt helfen.

@zeitisen Kannst du diese Tabelle vervollständigen? Ich hoffe, dass hierfür die RCT Power App mit der Darstellung der Batterie-Werte helfen kann.

evcc-io/rct Registry Naming Usage Identifier for first Battery tower Replace for second battery tower (?) Identifier for second battery tower (?)
BatteryBatStatus Read 0x70A2AF4F
PowerMngSocStrategy Write 0xF168B748
BatterySoCTargetMin Write 0xCE266F0F
PowerMngBatteryPowerExternW Write 0xBD008E29
PowerMngUseGridPowerEnable Write 0x36A9E9A6
BatteryPowerW Read 0x400f015b
TotalEnergyBattInWh Read 0x5570401B
TotalEnergyBattOutWh Read 0xA9033880
BatterySoC Read 0x959930BF battery_placeholder[0].soc 0x8B4BE168

@andig
Copy link
Member

andig commented Nov 10, 2025

Entweder: wir lesen alle Batterien immer aus. Oder: wir machen die Batterie konfigurierbar. Bei WW-Speichern funktioniert das über tempsource. Für Batterien haben ich bisher nichts gefunden.

@andig
Copy link
Member

andig commented Nov 10, 2025

Gefunden:

  - name: battery
    default: 1
    type: choice
    description:
      en: Battery number
      de: Batteriespeichernummer
    choice: [1, 2]
    usages: ["battery"]

@Maschga
Copy link
Collaborator Author

Maschga commented Nov 10, 2025

Ich würde es gerne konfigurierbar machen. Auch, damit nicht unnötige Requests gestellt werden, wenn man nur einen Batterieturm hat.
Und weil es eine schönere Darstellung ist beide Batterien im evcc Dashboard angezeigt zu bekommen.

@zeitisen
Copy link

evcc-io/rct Registry Naming Usage Identifier for first Battery tower Replace for second battery tower (?) Identifier for second battery tower (?)
BatteryBatStatus Read 0x70A2AF4F  this is only for both   (1)
PowerMngSocStrategy Write 0xF168B748  only one strategy for both  --
BatterySoCTargetMin Write 0xCE266F0F  only one value for both  --
PowerMngBatteryPowerExternW Write 0xBD008E29  only one value for both  --
PowerMngUseGridPowerEnable Write 0x36A9E9A6  only one value for both  --
BatteryPowerW Read 0x400f015b this is only the sum of both   (2)
TotalEnergyBattInWh Read 0x5570401B  only one value for both  --
TotalEnergyBattOutWh Read 0xA9033880 only one value for both   --
BatterySoC Read 0x959930BF battery_placeholder[0].soc 0x8B4BE168

(1) There is a better status, which is available for both batteries (see weltenwort/home-assistant-rct-power-integration#396 (comment)) and here svalouch/python-rctclient#39
BatteryBatStatus2 | READ | 0xDE3D20D | battery_placeholder[0].status2 | 0x5C93093B,

(2) Battery power has to be calculated from current * voltage
battery.current | 0x21961B58 | battery_placeholder[0].current | 0x79D7D617 |
battery.voltage | 0x65EED11B | battery_placeholder[0].voltage | 0xFCA1CBB5 |

(3) You can get the number of batteries: power_mng.n_batteries 0x663F1452

@Maschga
Copy link
Collaborator Author

Maschga commented Nov 10, 2025

@zeitisen Danke für die hilfreichen Informationen.
Kannst du diesen PR bei dir ausprobieren?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

devices Specific device support

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants