High voltage hybrid inverter (GW6000-EH) with EV battery (Chevy Volt)

So now i have the goodwe inverter with one PV string, and a 300V battery charging and discharging and look what i have found:

1620077316989.png

The PV is generating 0,8kW and the battery is charging 1,35kW.... where's the extra energy coming from? House is zero?? and grid is 20W??

My other PV string is still pumping solar energy through it's dedicated grid tie inverter to the house. The goodwe inverter is charging the battery with that extra energy too! The goodwe is always trying to zero out the grid meter, in either direction!

So there's no need to plug the solar panels to the goodwe inverter, it can act as a standalone battery inverter charging and discharging the battery in a continuous effort to zero out the grid meter readings.
 
With a simple node-red flow all the monitoring data is requested at once from the inverter every 10seconds.

The request: 120 registers starting from register 35100
Code:
f7 03 89 1c 00 78 ba e4


1620164069962.png
The code to import to node-red, only need to adjust the goodwe inverter IP and mqtt/emoncms servers:

Code:
[{"id":"53deaa97.dc54d4","type":"udp in","z":"ad27c33e.22c658","name":"","iface":"","port":"8899","ipv":"udp4","multicast":"false","group":"","datatype":"buffer","x":100,"y":1100,"wires":[["c87fdbb6.c021d8","a970b4ba.9a1428"]]},{"id":"a970b4ba.9a1428","type":"debug","z":"ad27c33e.22c658","name":"","active":false,"console":"false","complete":"true","x":250,"y":1160,"wires":[]},{"id":"6471bc3d.8d6744","type":"udp out","z":"ad27c33e.22c658","name":"","addr":"","iface":"","port":"8899","ipv":"udp4","outport":"8899","base64":false,"multicast":"false","x":650,"y":980,"wires":[]},{"id":"108de66.72b1e9a","type":"function","z":"ad27c33e.22c658","name":"Request","func":"msg.payload = Buffer.from(\"f703891c0078bae4\", \"hex\");\nreturn msg;\n\n","outputs":1,"noerr":0,"x":360,"y":980,"wires":[["6471bc3d.8d6744"]]},{"id":"51e8bd17.fe18ec","type":"inject","z":"ad27c33e.22c658","name":"10s","topic":"","payload":"","payloadType":"date","repeat":"10","crontab":"","once":false,"x":110,"y":980,"wires":[["108de66.72b1e9a"]]},{"id":"c87fdbb6.c021d8","type":"function","z":"ad27c33e.22c658","name":"Parse data","func":"\nvar data =  {};\n\ndata.PV1_V                = msg.payload.readInt16BE(11) / 10;\ndata.PV1_I                = msg.payload.readInt16BE(13) / 10;\ndata.PV1_P                = msg.payload.readInt32BE(15);\n// data.PV2_V                = msg.payload.readInt16BE(19) / 10;\n// data.PV2_I                = msg.payload.readInt16BE(21) / 10;\n// data.PV2_P                = msg.payload.readInt32BE(23);\n// data.PV3_V                = msg.payload.readInt16BE(27) / 10;\n// data.PV3_I                = msg.payload.readInt16BE(29) / 10;\n// data.PV3_P                = msg.payload.readInt32BE(31);\n// data.PV4_V                = msg.payload.readInt16BE(35) / 10;\n// data.PV4_I                = msg.payload.readInt16BE(37) / 10;\n// data.PV4_P                = msg.payload.readInt32BE(39);\ndata.PV_MODE              = msg.payload.readInt16BE(43);\n// data.UNKNOWN              = msg.payload.readInt16BE(45);\ndata.V_L1                 = msg.payload.readInt16BE(47) / 10;\ndata.I_L1                 = msg.payload.readInt16BE(49) / 10;\ndata.F_GRID_R             = msg.payload.readInt16BE(51) / 100;\ndata.POWER_L1             = msg.payload.readInt32BE(53);\n// data.V_L2                 = msg.payload.readInt16BE(57) / 10;\n// data.I_L2                 = msg.payload.readInt16BE(59) / 10;\n// data.F_GRID_S             = msg.payload.readInt16BE(61) / 100;\n// data.P_L2                 = msg.payload.readInt32BE(63);\n// data.V_L3                 = msg.payload.readInt16BE(67) / 10;\n// data.I_L3                 = msg.payload.readInt16BE(69) / 10;\n// data.F_GRID_T             = msg.payload.readInt16BE(71) / 100;\n// data.P_L3                 = msg.payload.readInt32BE(73);\ndata.GRID_MODE            = msg.payload.readInt16BE(77);\ndata.TOTAL_INV_POWER      = msg.payload.readInt32BE(79);\ndata.AC_ACTIVE_POWER      = msg.payload.readInt32BE(83);\ndata.AC_REACTIVE_POWER    = msg.payload.readInt32BE(87); //???\ndata.AC_APPARENT_POWER    = msg.payload.readInt32BE(91); //???\ndata.BACK_UP_V_LOAD_R     = msg.payload.readInt16BE(95);\ndata.BACK_UP_I_LOAD_R     = msg.payload.readInt16BE(97);\ndata.BACK_UP_F_LOAD_R     = msg.payload.readInt16BE(99);\ndata.LOAD_MODE_R          = msg.payload.readInt16BE(101);\ndata.BACK_UP_P_LOAD_R     = msg.payload.readInt32BE(103);\ndata.BACK_UP_V_LOAD_S     = msg.payload.readInt16BE(107);\ndata.BACK_UP_I_LOAD_S     = msg.payload.readInt16BE(109);\ndata.BACK_UP_F_LOAD_S     = msg.payload.readInt16BE(111);\ndata.LOAD_MODE_S          = msg.payload.readInt16BE(113);\ndata.BACK_UP_P_LOAD_S     = msg.payload.readInt32BE(115);\ndata.BACK_UP_V_LOAD_T     = msg.payload.readInt16BE(119);\ndata.BACK_UP_I_LOAD_T     = msg.payload.readInt16BE(121);\ndata.BACK_UP_F_LOAD_T     = msg.payload.readInt16BE(123);\ndata.LOAD_MODE_T          = msg.payload.readInt16BE(125);\ndata.BACK_UP_P_LOAD_T     = msg.payload.readInt32BE(127);\ndata.P_LOAD_R             = msg.payload.readInt32BE(131);\ndata.P_LOAD_S             = msg.payload.readInt32BE(135);\ndata.P_LOAD_T             = msg.payload.readInt32BE(139);\ndata.TOTAL_BACK_UP_LOAD   = msg.payload.readInt32BE(143);\ndata.TOTAL_LOAD_POWER     = msg.payload.readInt32BE(147);\ndata.UPS_LOAD_PERCENT     = msg.payload.readInt16BE(151);\n\ndata.AIR_TEMPERATURE      = msg.payload.readInt16BE(153) / 10;\ndata.MODULE_TEMPERATURE   = msg.payload.readInt16BE(155) / 10;\ndata.RADIATOR_TEMPERATURE = msg.payload.readInt16BE(157) / 10;\n\ndata.FUNCTION_BIT_VALUE   = msg.payload.readInt16BE(159);\n\ndata.BUS_VOLTAGE          = msg.payload.readInt16BE(161) / 10;\ndata.NBUS_VOLTAGE         = msg.payload.readInt16BE(163);\n\ndata.V_BATTERY1           = msg.payload.readInt16BE(165) / 10;\ndata.I_BATTERY1           = msg.payload.readInt16BE(167) / 10;\ndata.P_BATTERY1           = msg.payload.readInt32BE(169);\n\ndata.BATTERY_MODE         = msg.payload.readInt16BE(173);\ndata.WARNING_CODE         = msg.payload.readInt16BE(175);\ndata.SAFETY_COUNTRY       = msg.payload.readInt16BE(177);\ndata.WORK_MODE            = msg.payload.readInt16BE(179);\ndata.OPERATION_MODE       = msg.payload.readInt16BE(181);\ndata.INV_ERR_H            = msg.payload.readInt16BE(183);\ndata.INV_ERR_L            = msg.payload.readInt16BE(185);\n\ndata.PV_E_TOTAL           = msg.payload.readInt32BE(187) / 10;\ndata.PV_E_DAY             = msg.payload.readInt32BE(191) / 10;\ndata.E_TOTAL              = msg.payload.readInt32BE(195) / 10;\n\ndata.H_TOTAL              = msg.payload.readInt32BE(199) / 10;\ndata.E_DAY_SELL           = msg.payload.readInt16BE(203) / 10;\ndata.E_TOTAL_BUY          = msg.payload.readInt32BE(205) / 10;\ndata.E_DAY_BUY            = msg.payload.readInt16BE(209) / 10;\ndata.E_TOTAL_LOAD         = msg.payload.readInt32BE(211) / 10;\ndata.E_LOAD_DAY           = msg.payload.readInt16BE(215) / 10;\ndata.E_BATTERY_CHARGE     = msg.payload.readInt32BE(217) / 10;\ndata.E_CHARGE_DAY         = msg.payload.readInt16BE(221) / 10;\ndata.E_BATTERY_DISCHARGE  = msg.payload.readInt32BE(223) / 10;\ndata.E_DISCHARGE_DAY      = msg.payload.readInt16BE(227) / 10;\n\ndata.BATT_STRINGS         = msg.payload.readInt16BE(229);\ndata.CPLD_WARNING_CODE    = msg.payload.readInt16BE(231);\ndata.W_CHARGER_CTRL_FLAG  = msg.payload.readInt16BE(233);\ndata.DERATE_FLAG          = msg.payload.readInt16BE(235);\ndata.DERATE_FROZEN_POWER  = msg.payload.readInt16BE(237);\ndata.DIAG_STATUS_H        = msg.payload.readInt16BE(239);\ndata.DIAG_STATUS_L        = msg.payload.readInt16BE(241);\n\nmsg.payload = data;\nmsg.topic = \"goodwedata\";\nmsg.nodegroup = \"goodwedata\";\n\nreturn msg;","outputs":1,"noerr":0,"x":370,"y":1100,"wires":[["35d6e082.5d68c8","2941a42.2eb1edc","1506434.3749e3d"]]},{"id":"35d6e082.5d68c8","type":"mqtt out","z":"ad27c33e.22c658","name":"","topic":"","qos":"","retain":"","broker":"13b7e580.da6483","x":590,"y":1040,"wires":[]},{"id":"2941a42.2eb1edc","type":"emoncms","z":"ad27c33e.22c658","name":"Emoncms Push","emonServer":"ca9051bf.f69eb8","nodegroup":"","datatype":"legacy","x":620,"y":1100,"wires":[]},{"id":"1506434.3749e3d","type":"debug","z":"ad27c33e.22c658","name":"","active":false,"console":"false","complete":"false","x":610,"y":1160,"wires":[]},{"id":"13b7e580.da6483","type":"mqtt-broker","z":"","broker":"","port":"1883","clientid":"","usetls":false,"compatmode":true,"keepalive":"15","cleansession":true,"willTopic":"","willQos":"0","willPayload":"","birthTopic":"","birthQos":"0","birthPayload":""},{"id":"ca9051bf.f69eb8","type":"emoncms-server","z":"","server":"","name":"emoncms"}]


@yasko i've used your excel sheet to get the names of the registers there's a significant percentage of them that give some strange values but the most important ones are OK.
 
@apr, Nice setup with node-red. I don't have an original MODBUS specification, so I can't guarantee its accuracy. The description is extracted from these files.
I'm glad to hear that your inverter is working. Did you notice some extra consumption from the grid when the inverter charges the battery from PV panels?
 
Last edited:
Hi @yasko i have a external AC energy meter connected to the AC side of the inverter and a DC current sensor on the battery pack so i have that information. Fortunately last night i finally routed all PV to the goodwe so today is the first time i can check how the goodwe interact with the grid.

1620314018992.png

The graph above shows that the PV energy is being stored in the battery pack and most of the time also being fed to the grid to cover the house consumption. You can see the inverter being maxed out @~13h.

The next graph shows how much the inverter is consuming from the grid:

1620314217984.png

not bad :)


If i navigate the graph to yesterday the goodwe inverter was consuming from the grid, but that's only the surplus PV energy that was being generated from another grid tie inverter:
1620314764072.png


The more i explore this inverter the more i like it.


@yasko did you explore the offgrid output of the inverter? i made some grid disconnect tests but the offgrid turned off too. I have both offgrid options enabled on the APP. Are you aware of any CAN message that enables this offgrid funcionality? I read somewhere on the documentation that only a subset of supported packs provide this feature.
 
@apr, thanks for the data. I will write about this later.
Regarding the off-grid output of the inverter, I'm still not using it ( the grid is relatively stable here). But it's working as expected, and I've only enabled it via the app. I also have some initial problems with it because I forgot to connect the PE wire of the backup port. After joining PE to system ground, everything worked OK. Check the inverter manual because there is some particularity for the PE wire of backup output.
 
Hi @yasko , you are correct (as always :) )

1620379203917.png


Regarding the grid consumption i've been thinking about what you have posted earlier and i also find that there is import and export on the connection to the grid and on my graphs, where i average import and export the result is very close to zero watts. However if the export to the grid is not accounted and the import has to be bought from the utility, as it is in my country, the import energy has a positive value, according to my short records, about 0,4kWh in one day.

I think this comes down to how every AC battery works, in a reactive behavior:
The load start -> the meter detects -> grid import while the inverter is adjusting
The load stops -> the meter detects -> grid export while the inverter is adjusting

Still no import happens due to inverter consumption as i showed in the graphs on my last post.
 
I've captured the data from the APP and it keeps polling the inverter with the following requests, every 3 seconds:

Code:
aa 55 c0 7f 01 02 00 02 41
f7 03 88 b8 00 21 3a c1
f7 03 b9 99 00 02 25 ee
f7 03 b9 90 00 01 b5 ed
f7 03 90 8a 00 08 5c 70
f7 03 89 1c 00 7d 7a e7
f7 03 8c a0 00 11 bb e2
f7 03 90 88 00 0b bd b1
f7 03 b0 c0 00 07 36 62

Also i've charged the battery by changing to economical mode and the following write registers were sent:

1620773417877.png

Code:
f7 06 b7 98 00 03 7b 06
f7 10 b9 97 00 02 04 00 01 00 00 98 f9    
f7 10 b9 9b 00 04 08 16 00 16 3b ff ce ff 7f  72 70
f7 06 b0 94 00 01 3b bf

The charging went OK but it's a bit awkward to set up charging like this, using the APP to change operation modes. I have to change back again when i'm done.

I already stop the inverter from discharging the battery futher into cheap tariff periods by setting the allowed discharge amps to zero in the CAN communication if the SOC is below a certain %. Now i'm tring to find a way to charge the battery on demand in a programatic way.
 
Last edited:
@apr, I think that the key to charging the battery on demand lies in my previous post.
You can use register 47511 to switch the inverter to battery charge mode (value 11), then in register 47512, you can set desired power level.
The inverter first uses available PV power for charging, and if it's not enough, it starts to draw power from the grid. Obviously, during the night, the battery is charged only from the grid. That is my brief observations from the past days. Of course, remains a lot of things to test.
 
  • Like
Reactions: apr
Hi @yasko yes i saw your post but i was unsure about what messages to send to the inverter. FC06 single modbus register write did the trick!

I've tried and it works great,

1620859834375.png



Mode: Charge
Code:
f7 06 b9 97 00 0b 48 2B

Mode: Normal
Code:
f7 06 b9 97 00 01 c8 2c

Request 100W
Code:
f7 06 b9 98 00 64 38 04

Request 1000W
Code:
f7 06 b9 98 03 e8 39 51

Request 2500W
Code:
f7 06 b9 98 09 c4 3e 2c


an so on


The inverter responds instantly to the commands, really impressive!!
 
In the last few weeks, I've monitored the inverter's work (I have tons of logs) and tried to understand the algorithm of the self-usage mode. What I've found so far:
  • When the PV voltage rises above 100V, the inverter stops battery discharging and starts charging, no matter if there is still no enough PV power. That results in some additional grid consumption around 180W. If some big load appears, the inverter starts discharging the battery, but it still uses around 100W from the grid.
  • During the day, the inverter charges the battery and supply the loads. When Ppv<Pchg+Pload, then there is again the same grid consumption (180W). I've initially set the charging current to 10A, giving around 3600W requested Pchg. But my array is only 1700W, and there is a regular grid consumption during the charge cycle. The grid usage goes to zero when I've reduced the requested charging power to 1000W (Ichg=3A). The same is true when the inverter finished charging the battery.
  • In the evening, when PV voltage drops below 100V, the inverter switch to battery discharge mode and keeps grid consumption at zero.
Here is a picture from today charge cycle:

inveter_chg.png

My impression is that the inverter always tries to charge the battery, and when there is no enough PV, it consumes a small amount from the grid. That results in 1-3 kWh per day from the grid and comprises the self-usage algorithm. It's not a big issue if the inverter is fully loaded.
Maybe a solution to this behavior is to control the inverter in manual mode, as I described in the previous posts. I need to do some tests.
 
Thanks @yasko for sharing.
To understand your picture of energy consumption, you have a low power supply between 11 a.m. and 12 p.m. (green line, counter)? Do you have an explanation for this?

P.S. I ordered a GW10K-ET in the meantime, but the delivery time is mid-July.:(
 
@bikefish, you are correct. The green line is the energy meter for the grid. I'm trying to keep it at zero. I don't have a license for energy export, so the best I can do is maximize my self-consumption. I have a low consumption during the mentioned period because I've limited the charging power to 750W. I've found a magic formula that explains the inverter behavior during the charge cycle. :)
Ppv> Pchg + Pload + Ploss
Suppose the above condition true - grid consumption is zero. Otherwise, the inverter begins supply from the grid up to 180W, and then it starts reducing Pchg. I'm attaching a graph from today which explains the statement above:

Screenshot_2021-05-31 power dashboard - Grafana.png
A brief legend:
green - energy meter (negative - supply form grid)
blue - house load
yellow - inverter output
orange - PV power
red - battery power (negative - charging)

P.S. GW10K-ET looks promising. I'm interested to see it in action. :)
 
Last edited:
  • Like
Reactions: apr
Hey Guys - you have done some great work here. Very impressed !! @apr - i assume the same from the Whirlpool forums?

I am about to purchase on July 1st 3 of the GoodWe SBP 5000 inverters and couple them to LV Alpha ESS battery packs.

Have either of you tried dumping power from the batteries to the grid yet ? i.e. no Net Zero but actually force excess power out ? I use an electricity provider here in Australia that will pay me some very high rates if we push power in when the grid needs it - as my units will be AC coupled only i will need to control the charge/discharge programatically (i use Solis inverters for my PV arrays)

I too use Node Red so will keep following this thread to see how you advance APR - will also report back if the same modbus maps work on the SBP5000.

Craig
 
Hello @curto no i'm not registered on the Whirlpool forum.

I am kind of happy now, the system is working great even with a ocasional hickup that happens because all inverter communications are done over unreliablle wifi, both the CAN stuff and the energy meter readings. I will start to explore the second CAN over the esp32 soon to simplify my setup.

With the info on this thread you can completely control the goodwe inverter, to dump energy on the grid you could for instance feed the inverter with custom set of energy meter data to trick the inverter.

If you have any specific question feel free to ask.

regards
 
Hello @curto no i'm not registered on the Whirlpool forum.

I am kind of happy now, the system is working great even with a ocasional hickup that happens because all inverter communications are done over unreliablle wifi, both the CAN stuff and the energy meter readings. I will start to explore the second CAN over the esp32 soon to simplify my setup.

With the info on this thread you can completely control the goodwe inverter, to dump energy on the grid you could for instance feed the inverter with custom set of energy meter data to trick the inverter.

If you have any specific question feel free to ask.

regards
Hey thanks for the quick reply.

That was my other thought was to get in front of the energy meter that the Inverter talks to and basically fake it out into thinking i was the energy meter - i could then feed the inverter the info from my IOTAWATT which monitors the whole of house power and all my individual circuits.

So do you have a standalone energy meter that is coupled to the Inverter - i could not see mention of that anywhere in here - the reason that i ask is that with 3 inverters i am going to need 3 seperate energy meters (they will not share one) and i would prefer not to do that.

I am being told by Goodwe that the units will not work without an energy meter though - so as per above i was thinking of faking one with something on an ESP32 or similar - or even a RPi running node-red - have you gone down this path ?

Craig
 
A quick update from the last days:
Communication via UDP port works well, but the inverter adds a two-byte header - 0xAA, 0x55 to the reply message.
I've done some research regarding the power control of the inverter, and it's possible to control it in real-time. So, the inverter can be used as part of an energy management system (EMS). What I've found so far - there is a set of registers:
Code:
FEED_POWER_ENABLE - 47509
FEED_POWER_PARA - 47510
EMS_POWER_MODE - 47511
EMS_POWER_SET-  47512
The first enables/disables power feeding to the grid, and the second sets the power limits. The third sets EMS mode according to this description:
Code:
    UNDEFINED(-1, "Undefined"), //
    STOPPED(255, "Stop connection to grid and turn to wait mode"), //
    AUTO(1, "Self-Use mode, Smart Meter Com. Normal, and battery power is controlled based on Meter power"), //
    CHARGE_PV(2, "Charge Mode"), //
    DISCHARGE_PV(3, "Discharge Mode "), //
    IMPORT_AC(4, "Import Mode means buying power from grid"), //
    EXPORT_AC(5, "Export Mode means power export to grid,"), //
    CONSERVE(6, "Back-Up Mode"), //
    OFF_GRID(7, "cut off from grid connection and turns to off-grid mode "), //
    BATTERY_STANDBY(8, "Battery Standby Mode "), //
    BUY_POWER(9, "Buying Mode"), //
    SELL_POWER(10, "Selling Mode"), //
    CHARGE_BAT(11, "Charge Mode"), //
    DISCHARGE_BAT(12, "DisCharging Mode"); //
The last register sets the amount of power generated/received by the inverter.
I don't have a detailed description of these modes, so I need to do more testing. Also, I've updated the Modbus register map on GitHub.
Hey Yasko,

Can you point me to the Modbus register map please - i have looked in your repo and can not see anything spreadsheet wise in there ?

Craig
 
Hey thanks for the quick reply.

That was my other thought was to get in front of the energy meter that the Inverter talks to and basically fake it out into thinking i was the energy meter - i could then feed the inverter the info from my IOTAWATT which monitors the whole of house power and all my individual circuits.

So do you have a standalone energy meter that is coupled to the Inverter - i could not see mention of that anywhere in here - the reason that i ask is that with 3 inverters i am going to need 3 seperate energy meters (they will not share one) and i would prefer not to do that.

I am being told by Goodwe that the units will not work without an energy meter though - so as per above i was thinking of faking one with something on an ESP32 or similar - or even a RPi running node-red - have you gone down this path ?

Craig

I've had a couple of times where i needed to reboot my wifi router, where the CAN info and the energy meter do not reach the inverter. In that scenario the goodwe works as a simple grid tie inverter.

I've never tested a single energy meter fault to see how the inverter reacts, with a valid battery i suppose it will charge it instead of injecting? I could test this.

Regarding my setup i have the original goodwe energy meter installed on the mains and then a small esp8266 dongle simulating the inverter and requesting the data every 200ms. The data i receive i then udp broadcast "as is" + parsing some instantaneous values it to post to emoncms. Several floors below there's a esp32 feeding the broadcasts to the inverter.

If you want to replace the original energy meter you should get one that can provide instantaneous values every 200ms, if you ignore that the inverter may degrade the "real time" response of the consumption.
 
Hi Guys!

I'm currently working on my Setup with a Goodwe GW8K-ET on 10 Saft Modules with a Raspberry in between. Thanks to Yasko nearly everything worked fine.

At this moment i'm getting a little confused because at first i started with my batteries in the Selfdefine Mode - everything worked, the Voltage rises to 539,9 V and the Inverter stops with charging. Discharging also worked fine. 539,9V is the highest value you could enter in the Selfdefine Mode, and that's my problem...

The 10 SAFT Modules I'm using, have their upper Limit at 560V and can be discharged to 420V - they have their own BMS on them, so they stay in a safe area whatever the inverter does.

By using Yasko's Can Bus Protocol i was able to send the Values to the inverter and i can see them in the PV Master App - but in the App i can't switch from self define to the Default Battery. Has anyone experienced that too, after choosing self define you can't go back?

Best regards,
 
I've had a couple of times where i needed to reboot my wifi router, where the CAN info and the energy meter do not reach the inverter. In that scenario the goodwe works as a simple grid tie inverter.

I've never tested a single energy meter fault to see how the inverter reacts, with a valid battery i suppose it will charge it instead of injecting? I could test this.

Regarding my setup i have the original goodwe energy meter installed on the mains and then a small esp8266 dongle simulating the inverter and requesting the data every 200ms. The data i receive i then udp broadcast "as is" + parsing some instantaneous values it to post to emoncms. Several floors below there's a esp32 feeding the broadcasts to the inverter.

If you want to replace the original energy meter you should get one that can provide instantaneous values every 200ms, if you ignore that the inverter may degrade the "real time" response of the consumption.

Good news thanks APR. This sounds like it could work for me - use an ESP8266 (or ESP32) to talk to the 3 phase energy meter and then broadcast that to the Raspberry PI that is connected to each of my 3 inverters.

What did you program the ESP8266 in ? Platform.io, Arduino IDE etc ?

Which model of the energy meter did you end up with ?

Would you mind sharing the code ?

Craig
 
Back
Top