Epever Solar Charge Controller API

I’m following this this tutorial to set up my Energy Management System.

My setup:

  • 100W solar panel
  • EPEVER MPPT 40A Solar Charge Controller
  • 100Ah 12V Battery

I scrape the data from the charge controller with a custom utility.

The Epever api data can be read from register / address:

   // register 0x04, for the following addresses
    0x3100: { number: 'B1',  name: 'PV array input voltage', unit: 'V', times: 0.01, description: '' },
    0x3101: { number: 'B2',  name: 'PV array input current', unit: 'A', times: 0.01, description: '' },

The custom utility let’s me get the readings from: \http://10.10.10.19:3000/json/0x3100

{
  "0x3100":{
    "register":"0x4",
    "spec":{
      "number":"B1",
      "name":"PV array input voltage",
      "unit":"V",
      "times":0.01,
      "description":""
    },
    "value":2156,
    "computed_value":21.56
  }
}

E.g. I am able to get 0x3100 Input Voltage:

And similar for 0x3101 Input Current

The EPever does not output PV Power.

I added the values for inputCurrent and inputVoltage
[can’t add another image as I’m a ‘new’ user…]

I need to combine the voltage and current to calculate the Power.
Is there a way to do this in a formula/rule?
I also want this Power value to be valid/used in the solar power forecast.

The solution seems simple enough:
I created a rule that reads current and voltage and updates the power value.
This script seems to run each time the input values are updated.

4 Likes