PV-Anlage mit Huawei Komponenten

Interessant ist am Ende die gewandelte Energie die du dann tatsächlich verbrauchst und die in der Batterie gespeicherte Leistung ja auch vom Dach gekommen.

Aber hier mal ein Beispiel von Daily Solar Yield · wlcrs/huawei_solar Wiki · GitHub - daraus kannst du dir einen Sensor für deinen Bedarf mit/ohne Batterie basteln.

      - name: "energy_pv"
        unique_id: "PV Energy"
        state: >
          {{ (states('sensor.inverter_total_yield') | float) - (states('sensor.battery_total_discharge') | float) + (states('sensor.battery_total_charge') | float) }}
        device_class: energy
        state_class: total_increasing
        unit_of_measurement: 'kWh'

      - name: "energy_pv_daily"
        unique_id: "PV Energy daily"
        state: >
          {{ (states('sensor.inverter_daily_yield') | float) - (states('sensor.battery_day_discharge') | float) + (states('sensor.battery_day_charge') | float) }}
        device_class: energy
        state_class: total_increasing
        unit_of_measurement: 'kWh'

Alternativ könntest du noch Sensoren für deine Strings basteln und darauf einen Zähler aufbauen. In dem Fall hättest den von dir gewünschten Effekt das die Leistung auf 0 fällt sobald die Sonne weg ist.

  ### pv Strings kW berrechnen
  - sensor:
      - name: "PV String 01 Power"
        unique_id: "pv_string_01_power"
        unit_of_measurement: "kW"
        state: "{{ states('sensor.inverter_pv_1_voltage') |float * states('sensor.inverter_pv_1_current') | float / 1000|round(2) }}"
  - sensor:
      - name: "PV String 02 Power"
        unique_id: "pv_string_02_power"
        unit_of_measurement: "kW"
        state: "{{ states('sensor.inverter_pv_2_voltage') |float * states('sensor.inverter_pv_2_current') | float / 1000|round(2) }}"