SolarEdge Modbus Multi config for Single Inverter, Battery and Backup Module/Meter

Energy Dashboard

For the Solar panels I use: Solar Panel Production Daily (sensor.solar_panel_production_daily)
For Battery export I use: Solaredge I1 M1 AC Energy Exported (sensor.solaredge_i1_m1_ac_energy_exported)
For Battery import I use: Solaredge I1 M1 AC Energy Imported (sensor.solaredge_i1_m1_ac_energy_imported)

In one of the post in Remko’s post (Solaredge Modbus Configuration for Single Inverter and Battery - #45 by Remko) it said to use “sensor.solaredge_i1_ac_energy_kwh” for your solar panels, but somewhere else I found that current sensor I’m using. Try for yourself what gives you the best result.

Sample Dashboard
In Remko’s first post he gives a sample of his “Energy Dashboard”. I edited it with the right entity names:

With this code:

type: sections
max_columns: 3
title: Solar
path: solar
sections:
  - type: grid
    cards:
      - type: energy-date-selection
      - type: energy-usage-graph
        title: Energy Usage
      - type: custom:apexcharts-card
        series:
          - entity: sensor.solar_panel_to_house_daily
            name: Direct Consumption
            color: var(--energy-solar-color)
          - entity: sensor.solar_battery_out_daily
            name: Battery Usage
            color: var(--energy-battery-out-color)
          - entity: sensor.solar_imported_power_daily
            name: Imported Power
            color: var(--energy-grid-consumption-color)
        update_interval: 1min
        chart_type: donut
        apex_config:
          plotOptions:
            pie:
              expandOnClick: false
              donut:
                size: 50%
                labels:
                  show: true
                  value:
                    fontSize: 32px
                    fontWeight: 900
                  total:
                    show: true
                    showAlways: true
                    label: Autarkierate
                    formatter: |
                      EVAL:function(w) {
                        let values = w.globals.seriesTotals;
                        let total = values[0] + values[1] + values[2];
                        let self = values[0] + values[1];
                        return ((self / total) * 100).toFixed(0) + "%";
                      }
          dataLabels:
            formatter: |
              EVAL:function(value) {
                return value.toFixed(0) + "%";
              }
          chart:
            selection:
              enabled: false
          tooltip:
            enabled: false
          states:
            normal:
              filter:
                type: none
                value: 0
            hover:
              filter:
                type: none
                value: 0
            active:
              filter:
                type: none
                value: 0
          legend:
            onItemClick:
              toggleDataSeries: false
            onItemHover:
              highlightDataSeries: false
      - type: custom:apexcharts-card
        series:
          - entity: sensor.solar_panel_to_house_daily
            name: Direct Usage
            color: var(--energy-solar-color)
          - entity: sensor.solar_battery_in_daily
            name: Battery Charging
            color: var(--energy-battery-in-color)
          - entity: sensor.solar_exported_power_daily
            name: Exported Power
            color: var(--energy-grid-return-color)
        update_interval: 1min
        chart_type: donut
        apex_config:
          plotOptions:
            pie:
              expandOnClick: false
              donut:
                size: 50%
                labels:
                  show: true
                  value:
                    fontSize: 32px
                    fontWeight: 900
                  total:
                    show: true
                    showAlways: true
                    label: Self Consumption
                    formatter: |
                      EVAL:function(w) {
                        let values = w.globals.seriesTotals;
                        let total = values[0] + values[1] + values[2];
                        let self = values[0] + values[1];
                        return ((self / total) * 100).toFixed(0) + "%";
                      }
          dataLabels:
            formatter: |
              EVAL:function(value) {
                return value.toFixed(0) + "%";
              }
          chart:
            selection:
              enabled: false
          tooltip:
            enabled: false
          states:
            normal:
              filter:
                type: none
                value: 0
            hover:
              filter:
                type: none
                value: 0
            active:
              filter:
                type: none
                value: 0
          legend:
            onItemClick:
              toggleDataSeries: false
            onItemHover:
              highlightDataSeries: false
  - type: grid
    cards:
      - type: energy-solar-graph
        title: Solar Production
      - type: custom:tesla-style-solar-power-card
        name: Home Energy Flow
        change_house_bubble_color_with_flow: 1
        threshold_in_k: 1
        show_gap: true
        grid_to_house_entity: sensor.solar_grid_to_house_w
        grid_to_battery_entity: sensor.solar_grid_to_battery_w
        generation_to_grid_entity: sensor.solar_panel_to_grid_w
        generation_to_battery_entity: sensor.solar_panel_to_battery_w
        generation_to_house_entity: sensor.solar_panel_to_house_w
        battery_to_house_entity: sensor.solar_battery_to_house_w
        battery_to_grid_entity: sensor.solar_battery_to_grid_w
        battery_extra_entity: sensor.solaredge_i1_b1_state_of_energy
      - type: gauge
        entity: sensor.solaredge_i1_b1_state_of_energy
        needle: true
        name: Batterij lading
        min: 0
        severity:
          green: 50
          yellow: 10
          red: 0
        max: 100
  - type: grid
    cards:
      - type: custom:power-distribution-card
        title: ""
        entities:
          - name: Grid
            preset: grid
            icon: mdi:transmission-tower
            entity: sensor.solaredge_i1_m1_ac_power
            unit_of_display: W
            decimals: 0
            invert_value: true
          - name: Solar
            preset: solar
            icon: mdi:solar-power
            entity: sensor.solar_panel_production_w
            unit_of_display: W
            decimals: 0
          - name: Home
            preset: home
            icon: mdi:home
            entity: sensor.solar_house_consumption_w
            unit_of_display: W
            decimals: 0
            invert_value: true
          - name: Battery
            preset: battery
            icon: mdi:battery-high
            entity: sensor.solaredge_i1_b1_dc_power
            unit_of_display: W
            decimals: 0
            invert_value: true
        center:
          type: bars
          content:
            - preset: custom
              name: INV
              bar_color: var(--paper-item-icon-color)
              entity: sensor.solar_inverter_effectiveness_int
            - preset: custom
              name: BAT
              bar_color: var(--paper-item-icon-color)
              entity: sensor.solar_battery_effectiveness_int
        animation: flash
      - type: entities
        entities:
          - entity: sensor.solar_panel_production_daily
            name: Produced
            icon: mdi:solar-power
          - entity: sensor.solar_house_consumption_daily
            name: Consumed
            icon: mdi:home-lightning-bolt-outline
          - entity: sensor.solar_imported_power_daily
            name: Imported
            icon: mdi:transmission-tower-export
          - entity: sensor.solar_exported_power_daily
            name: Exported
            icon: mdi:transmission-tower-import
          - entity: sensor.solar_battery_in_daily
            name: Charged
            icon: mdi:battery-positive
          - entity: sensor.solar_battery_out_daily
            name: Discharged
            icon: mdi:battery-negative
          - entity: sensor.solar_lifetime_production
        show_header_toggle: false
cards: []

You need the following HACS integrations for this dashboard:

  • apexcharts-cards
  • Power Flow Card Plus
  • template-entity-row
  • Tesla style solar power card
  • power-distribution-card

Apexcharts Cards:
In order to see what my solar panels and battery is doing, I created 3 Apexcharts cards. These reflect the SolarEdge Monitoring app. To get it exactly the same I believe you have to stack one or two entities, but I don’t how to do that. I also used the same colours as in the SolarEdge app in a previous version, but the visibility wasn’t great. So therefor the original HA colours

Edit: I discovered how to stack. When I did this I noticed that I didn’t use all the right sensors. I corrected this. Also went back to the colour scheme used in the SolarEdge Monitoring app. Also played some with ‘func: avg’, this one seems to give the best result.

SolarEdge Production:

type: custom:apexcharts-card
graph_span: 24h
update_interval: 5min
cache: false
apex_config:
  chart:
    stacked: true
    stackOnlyBar: false
  legend:
    show: false
  grid:
    show: true
    borderColor: "#666666"
all_series_config:
  stroke_width: 1
  type: area
  group_by:
    func: avg
    duration: 15m
header:
  show: true
  title: SolarEdge Productie
  show_states: true
  colorize_states: true
series:
  - entity: sensor.solar_panel_to_house_w
    color: "#009a40"
    name: Solar > Huis
  - entity: sensor.solar_panel_to_battery_w
    color: "#80ffb5"
    name: Solar > Batterij
  - entity: sensor.solar_panel_to_grid_w
    color: "#00a3b3"
    name: Solar > Net

SolarEdge Usage:

type: custom:apexcharts-card
graph_span: 24h
update_interval: 5min
cache: false
apex_config:
  chart:
    stacked: true
    stackOnlyBar: false
  legend:
    show: false
  grid:
    show: true
    borderColor: "#666666"
all_series_config:
  stroke_width: 1
  type: area
  group_by:
    func: avg
    duration: 15m
header:
  show: true
  title: SolarEdge Verbruik
  show_states: true
  colorize_states: true
series:
  - entity: sensor.solar_panel_to_house_w
    color: "#4774cc"
    name: Solar > Huis
  - entity: sensor.solar_battery_to_house_w
    color: "#a6c3ff"
    name: Batterij > Huis
  - entity: sensor.solar_grid_to_house_w
    color: "#ff8800"
    name: Net > Huis

Battery state:

type: custom:apexcharts-card
graph_span: 24h
apex_config:
  legend:
    show: false
  grid:
    show: true
    borderColor: "#666666"
all_series_config:
  stroke_width: 2
header:
  show: true
  title: Battery
  show_states: true
  colorize_states: true
series:
  - entity: sensor.solaredge_i1_b1_state_of_energy
    show:
      name_in_header: false

These 3 will give you the following cards:



This seems to correspond to the SolarEdge Monitoring app:


1 Like