    - name: "GoodWe PV1 Power"
      unique_id: goodwe_gw5k_pv1_power
      unit_of_measurement: "W"
      device_class: power
      state_class: measurement
      availability: >
        {{ states('sensor.goodwe_pv1_voltage') not in ['unavailable', 'unknown'] }}
      state: >
        {% set v = states('sensor.goodwe_pv1_voltage') | float(0) %}
        {% set i = states('sensor.goodwe_pv1_current') | float(0) %}
        {{ (v * i) | round(0) | int }}
    
    - name: "GoodWe PV2 Power"
      unique_id: goodwe_gw5k_pv2_power
      unit_of_measurement: "W"
      device_class: power
      state_class: measurement
      availability: >
        {{ states('sensor.goodwe_pv2_voltage') not in ['unavailable', 'unknown'] }}
      state: >
        {% set v = states('sensor.goodwe_pv2_voltage') | float(0) %}
        {% set i = states('sensor.goodwe_pv2_current') | float(0) %}
        {{ (v * i) | round(0) | int }}
    
    - name: "GoodWe PV Power"
      unique_id: goodwe_gw5k_pv_power
      unit_of_measurement: "W"
      device_class: power
      state_class: measurement
      availability: >
        {{ states('sensor.goodwe_pv1_voltage') not in ['unavailable', 'unknown']
           and states('sensor.goodwe_pv2_voltage') not in ['unavailable', 'unknown'] }}
      state: >
        {% set v1 = states('sensor.goodwe_pv1_voltage') | float(0) %}
        {% set i1 = states('sensor.goodwe_pv1_current') | float(0) %}
        {% set v2 = states('sensor.goodwe_pv2_voltage') | float(0) %}
        {% set i2 = states('sensor.goodwe_pv2_current') | float(0) %}
        {{ ((v1 * i1) + (v2 * i2)) | round(0) | int }}
    
    - name: "GoodWe Energy Total"
      unique_id: goodwe_gw5k_energy_total
      unit_of_measurement: "kWh"
      device_class: energy
      state_class: total_increasing
      availability: >
        {{ states('sensor.goodwe_energy_total_h') not in ['unavailable', 'unknown']
           and states('sensor.goodwe_energy_total_l') not in ['unavailable', 'unknown'] }}
      state: >
        {% set h = states('sensor.goodwe_energy_total_h') | float(0) %}
        {% set l = states('sensor.goodwe_energy_total_l') | float(0) %}
        {{ ((h * 6553.5) + l) | round(1) }}
    
    - name: "GoodWe Inverter Status"
      unique_id: goodwe_gw5k_inverter_status
      availability: >
        {{ states('sensor.goodwe_inverter_status_code') not in ['unavailable', 'unknown'] }}
      state: >
        {% set code = states('sensor.goodwe_inverter_status_code') | int(-1) %}
        {% if code == 0 %}Waiting
        {% elif code == 1 %}Working
        {% elif code == 2 %}Fault
        {% else %}Unknown{% endif %}