[CUSTOM INTEGRATION] EP Cube – Home Assistant Integration

Here’s the three cards that I’m using basically.

type: custom:power-flow-card-plus
entities:
  battery:
    state_of_charge: sensor.epcube_batterycurrentelectricity
    state_of_charge_unit: kWh
    show_state_of_charge: true
    state_of_charge_unit_white_space: true
    invert_state: true
    display_state: one_way
  grid:
    entity: sensor.epcube_gridpower
    secondary_info:
      decimals: 2
      unit_white_space: true
    color_value: false
    display_state: one_way
    power_outage:
      entity: sensor.epcube_status
      state_alert: "0"
      icon_alert: mdi:transmission-tower-off
    color_circle: true
    color_icon: true
  solar:
    entity: sensor.epcube_solarpower
    display_zero_state: true
    secondary_info: {}
    color_value: false
    color_icon: true
    use_metadata: false
    color:
      - 243
      - 183
      - 18
  home:
    secondary_info:
      entity: sensor.epcube_batterycurrentelectricity
      unit_of_measurement: kWh
      decimals: 1
      color_value: false
    override_state: false
    subtract_individual: true
    name: EP Cube
    hide: false
    icon: mdi:battery
    circle_animation: false
    tap_action:
      action: none
    color_icon: battery
  fossil_fuel_percentage:
    secondary_info: {}
  individual:
    - entity: sensor.epcube_backupflowpower
      secondary_info: {}
      unit_white_space: true
      calculate_flow_rate: false
      inverted_animation: false
      show_direction: false
      use_metadata: false
      icon: mdi:home
      name: Home
      color_value: false
      color_icon: true
      display_zero: false
      decimals: 2
      color:
        - 0
        - 128
        - 192
clickable_entities: true
display_zero_lines:
  mode: show
  transparency: 50
  grey_color:
    - 189
    - 189
    - 189
use_new_flow_rate_model: true
w_decimals: 0
kw_decimals: 1
min_flow_rate: 0.75
max_flow_rate: 6
max_expected_power: 7000
min_expected_power: 0.01
watt_threshold: 1000
transparency_zero_lines: 0
sort_individual_devices: false
disable_dots: false

type: custom:plotly-graph
hours_to_show: 24
refresh_interval: 60
layout:
  showlegend: false
  xaxis:
    tickformat: "%H:%M"
    showgrid: true
    gridcolor: "#333"
    automargin: true
    tick0: 0
    dtick: 10800000
    minor:
      showgrid: true
      gridcolor: "#222"
      ticklen: 4
      tickcolor: "#555"
      dtick: 3600000
  yaxis:
    showgrid: true
    gridcolor: "#333"
    automargin: true
    fixedrange: true
    range:
      - -6000
      - 11000
  yaxis2:
    overlaying: "y"
    side: right
    showgrid: false
    fixedrange: true
    range:
      - 0
      - 21
  margin:
    l: 40
    r: 40
    t: 30
    b: 30
entities:
  - entity: sensor.epcube_gridpower
    mode: lines
    line:
      width: 2
      color: "#0000FF"
    connectgaps: true
  - entity: sensor.epcube_solarpower
    mode: lines
    line:
      width: 2
      color: "#FFD700"
    connectgaps: true
  - entity: sensor.epcube_backupflowpower
    mode: lines
    line:
      width: 2
      color: "#006400"
    connectgaps: true
  - entity: sensor.epcube_batterycurrentelectricity
    mode: lines
    line:
      width: 2
      color: "#FF0000"
    connectgaps: true

type: vertical-stack
cards:
  - type: heading
    icon: mdi:solar-panel
    heading: EP Cube
    heading_style: title
    badges:
      - type: entity
        show_state: true
        show_icon: true
        entity: sensor.general_state_text
      - type: entity
        show_state: true
        show_icon: true
        entity: sensor.system_state_text
      - type: entity
        show_state: true
        show_icon: true
        entity: sensor.epcube_batterycurrentelectricity
        icon: mdi:battery
  - type: custom:entity-progress-card
    entity: sensor.epcube_batterysoc
    layout: horizontal
    bar_size: small
    name: Battery SOC
    min_value: 0
    max_value: 100
    decimal: 0
    hide:
      - name
grid_options:
  columns: 12
  rows: auto
1 Like

If I have this error during configuring the extension access??I put EU and my token generated:
sn_not_found

Hi Im really new to this and have started using HA to try and fix my issue. My EP Cube system discharges into my EV when Octopus Energy start it charging. Is there anyway to trigger my EP Cube to charge when the EV does?

@adamjs90 I’m currently weighing up whether to buy this system. This is the kind of automation I need, so I’m glad this integration exists. I’m coming from a FoxESS system which has full API control.

Do you want it to charge the EV and the Cube simultaneously?

Sounds like your system is set to prioritise usage as solar > battery > grid, so when you charge the EV, it pumps in from the Cube to avoid any grid consumption. If I’m right, you would need to change that priority to consume grid first, and therefore to force charge of battery. I do this overnight with Octopus Go at cheap rates.

For HA, you might have to detect a recognisable spike in the usage when you plug in the EV (presumably that’s at around 7kW – mine is only 10A so not as easy to detect) and use that event to switch the mode to grid first.

You might also want to prevent it charging the EV at all, and use the battery for your house, when prices are expensive. 7kW EV chargers will usually have this capability so your inverter priority is probably the only thing you need to change.

Great integration - thank you.

One thing I'm trying to do with it is to have a trigger change the EP Cube operational mode from TOU to Backup for certain triggers (and then back again without removing the TOU times). However, using this integration it doesn't seem to want to make the change in operational mode.

Any suggestions?

Many thanks, Geoff

@adamjs90 Have you had any luck with this? I'm considering getting an EP Cube system, and your example is one of the things I want to make sure I can deal with.

Is there an option in the EP Cube app to "force charge" the battery? I know that with other inverters, if the battery is set to force charge, then it won't discharge while in that mode. This would allow our EV to pull from the grid instead of the battery. If there isn't a specific mode for this, it's often found as one of the Time Of Use (TOU) options. I'd be very interested to hear from you if this is present and if it works as I'd hope.