diy solar

diy solar

Modbus and epever

frankz66

New Member
Joined
Sep 6, 2022
Messages
655
Location
Aci Sant'Antonio Catania
Hi everyone, I've seen around the internet the possibility of connecting a MODBUS (I think it's an interface that converts rs485 to ethernet or wifi with http server) for epever. I would like to interface epever 4210 AN with this interface and be able to monitor via home assistant . Also, what possibilities would modbus interface offer me for use with other software, and what are the alternative programs to the default one for windows? Thank you all .
 
Modbus is more like the language spoken over the wires. You can have Modbus over RS485 or Modbus over IP (Ethernet)
Modbus would allow you to communicate/control any device that has a published modbus register map

Here's a Home Assistant post about connection an Epever 4210an to home assistant, might help.

 
Modbus is more like the language spoken over the wires. You can have Modbus over RS485 or Modbus over IP (Ethernet)
Modbus would allow you to communicate/control any device that has a published modbus register map

Here's a Home Assistant post about connection an Epever 4210an to home assistant, might help.

Thank you for answering . I wanted to ask you if beyond what is required you know a software that can replace the one that provides epever . Thank you
 
Sorry, I can't help there. I know nothing about Epever or their product line. But, if you do deploy modbus, that should avoid the external software and run on the inverter and your controller (raspberry pi, PC, whatever)
 
Sorry, I can't help there. I know nothing about Epever or their product line. But, if you do deploy modbus, that should avoid the external software and run on the inverter and your controller (raspberry pi, PC, whatever)
Ok, thanks anyway for intervening and expressing your opinion.
 
I wrote up a similar setup to the one in the video, except with the ESP8266 and powered by the EPever unit: https://symbioquine.net/2020-10-27-epever-esp-8266-controller/
Speaking of alternative software with other hardware, today with the software for windows monitor solar, an unusual fact happened. What happened is the zeroing of daily production. Usually the daily production is reset the next day, but this time in the hours near sunset I saw the reset. I checked epever 6314 an (10 days of life) and no alarm light on or anything else. I checked the time and it was in line with that of the system. The only doubt is that in the system parameters of the software there is a schedule to update the time and therefore I believe, that it coincides with my purchase made on June 16 and today's date June 27 (10 days, how many are expected for the update). Could it be this or do I have to consider it a sporadic case and that's it? Thank you .
 

Attachments

  • timr.PNG
    timr.PNG
    970 KB · Views: 10

all.jpg

Runs on all Raspberry Pi's down to the $15 Zero 2W, therefore doesn't need Winblows. Using two cheap CH340 based USB to MODBUS converters from Amazon to get the data from the 4210's.

I prefer a scalpel to a Swiss Army Knife so I re-wrote this to lose the way-too-many "eye-candy" gauges shown on the link above and monitor two EPEVER 4210's. Stats are taken every ten minutes (graph X axis is not fully expanded in the screenshot) but interval can be adjusted by changing the cronjob. Every reading that has been taken since I took the first iteration online in late 2018 is still in the MariaDB database so I can go back in time and create charts, etc. in LibreOffice Calc. or use other analysis tools.

Can get real-time info by refreshing the page as often as needed. The data going to the db is completely separate.

Does just what I need and not too much. Fully extensible should I ever need to do so.

Not for the faint of heart and has a learning curve. Requires understanding of SQL, PHP, NGINX and Linux networking via the CLI. But going this route gets me exactly what I want. And it is FAST and light on system resources.

As a side benefit I learned a BUNCH of stuff that has proven to be very useful in lots of ways.
 
Speaking of alternative software with other hardware, today with the software for windows monitor solar, an unusual fact happened. What happened is the zeroing of daily production. Usually the daily production is reset the next day, but this time in the hours near sunset I saw the reset. I checked epever 6314 an (10 days of life) and no alarm light on or anything else. I checked the time and it was in line with that of the system. The only doubt is that in the system parameters of the software there is a schedule to update the time and therefore I believe, that it coincides with my purchase made on June 16 and today's date June 27 (10 days, how many are expected for the update). Could it be this or do I have to consider it a sporadic case and that's it? Thank you .
Do not understand all the details + do not use the Windows app.
I have seen unexpected reset of statistics on my xtra probably related to bms ovp = stop charge that results in controller charge ov.
Note not verified and only seen once.

It was before adjusting charging/battery settings. Was using battery settings lifepo4 (8s) unmodified then.
 
Do not understand all the details + do not use the Windows app.
I have seen unexpected reset of statistics on my xtra probably related to bms ovp = stop charge that results in controller charge ov.
Note not verified and only seen once.

It was before adjusting charging/battery settings. Was using battery settings lifepo4 (8s) unmodified then.
Thank you for your opinion.
 

View attachment 154698

Runs on all Raspberry Pi's down to the $15 Zero 2W, therefore doesn't need Winblows. Using two cheap CH340 based USB to MODBUS converters from Amazon to get the data from the 4210's.

I prefer a scalpel to a Swiss Army Knife so I re-wrote this to lose the way-too-many "eye-candy" gauges shown on the link above and monitor two EPEVER 4210's. Stats are taken every ten minutes (graph X axis is not fully expanded in the screenshot) but interval can be adjusted by changing the cronjob. Every reading that has been taken since I took the first iteration online in late 2018 is still in the MariaDB database so I can go back in time and create charts, etc. in LibreOffice Calc. or use other analysis tools.

Can get real-time info by refreshing the page as often as needed. The data going to the db is completely separate.

Does just what I need and not too much. Fully extensible should I ever need to do so.

Not for the faint of heart and has a learning curve. Requires understanding of SQL, PHP, NGINX and Linux networking via the CLI. But going this route gets me exactly what I want. And it is FAST and light on system resources.

As a side benefit I learned a BUNCH of stuff that has proven to be very useful in lots of ways.
I wanted to ask you which minina hardware version of raspberry can make the program work. PI 3 A can it be okay?
 
I wanted to ask you which minina hardware version of raspberry can make the program work. PI 3 A can it be okay?

Do you mean 3A+?

If so, it should. Slightly more processor speed and 512M RAM as a Zero 2W.

I have a Zero 2W here at the shop monitoring my evaluation solar system using the same monitoring scheme. It's where I burn things in and test new tech. Overclocked to 1200. It's using 106M of the 512M:
==================================
pi@zero2w1:~ $ vmstat -s
436980 K total memory
113216 K used memory
129324 K active memory
146340 K inactive memory
91136 K free memory
22400 K buffer memory
210228 K swap cache
1048572 K total swap
222720 K used swap
825852 K free swap
1065682 non-nice user cpu ticks
822 nice user cpu ticks
725400 system cpu ticks
313809696 idle cpu ticks
95096 IO-wait cpu ticks
0 IRQ cpu ticks
17000 softirq cpu ticks
0 stolen cpu ticks
2361166 pages paged in
8109732 pages paged out
33126 pages swapped in
79797 pages swapped out
191194775 interrupts
130206017 CPU context switches
1687194894 boot time
1725169 forks
==================================

Raspbian GNU/Linux 11 (bullseye).

I haven't bothered with the 3A+ as it isn't different enough from the 2W to justify spending $10 more for it. And besides it's soooo damn CUTE.

test_bed.jpg
 
Last edited:
Solar Assistant is supposed to have epever support this year. I waiting on them to release it and I will be adding another orange pi 3 lts with SA on it for handling my dual 4215bn's.
 
Ya, SA looks like a pretty good solution for those who don't wanna fool around and learn stuff by getting their hands dirty.

That's not me.

And it appears to exclusively tie up its host machine (unless I missed that it doesn't somewhere). All my remotely deployed Pis are doing other things like running remote ultrasonic water level meters in storage tanks. Sure, you could just deploy multiple Pis to accomplish the same thing but that offends my sense of efficiency...

Does anybody know if you can port forward SA's 10.0.0.100 LAN address out to the wild? And whether or not you get a full UI or just a data stream when you do? I'm never comfortable with depending on someone else's hardware (SA proxy servers) to access critical infrastructure.
 
Ya, SA looks like a pretty good solution for those who don't wanna fool around and learn stuff by getting their hands dirty.

That's not me.

And it appears to exclusively tie up its host machine (unless I missed that it doesn't somewhere). All my remotely deployed Pis are doing other things like running remote ultrasonic water level meters in storage tanks. Sure, you could just deploy multiple Pis to accomplish the same thing but that offends my sense of efficiency...

Does anybody know if you can port forward SA's 10.0.0.100 LAN address out to the wild? And whether or not you get a full UI or just a data stream when you do? I'm never comfortable with depending on someone else's hardware (SA proxy servers) to access critical infrastructure.
It actually port forwards for you via their website. Very hand. Nothing to do as they create the address for you and you just go to it from anywhere in the world to see your stuff. You can disable that feature or password protect it.

As for multiple pi's just get a big pi like the orange pi 5 and run sa in a docker or proxmox container on it along with whatever else you need on it.

Its 8 core and faster than anything pi themselves offer last time I checked. Was around $130 or something.

I'm sticking with the orange pi 3 lts's myself since they run sa great and are about $60 a pop for the board, case, heatsink and power supply so ready to use. This way is one goes out it doesn't effect the others and you don't run out of usb ports for stuff on it.
 
I made a code in Micropython where an ESP-32 reads the Modbus registers of an INGETEAM inverter in the TCP protocol
I try to put it working with node red, but was impossible for me. And with tutorial from yt..
I want to integrate it to HA. Can you send me this code please, i have some ESP32 at home nd it will solve it to me. Too many thanks, i have one ingeteam 6tl m, but i believe that at will go with the same adreess of modbus data.
To many thanks
 
Modbus is more like the language spoken over the wires. You can have Modbus over RS485 or Modbus over IP (Ethernet)
Modbus would allow you to communicate/control any device that has a published modbus register map

Here's a Home Assistant post about connection an Epever 4210an to home assistant, might help.

Hi, considering you've done a great job, so I assume you can help me.

I am attaching part of my yaml file, where I was able to report the decimal values of the conditions of the load state of the panels, but that I can't decode or rather what the decimal state "19" means. Can you help me? Thank you
Code:
sensor:                         
  - platform: template
    sensors:
      epeverstatustext:
        friendly_name: "STATO REG1 battery"
        value_template: >-
          {% set mapper =  {
              '0' : 'NORMAL',
              '1' : 'NOT CHARGING',
              '2' : 'UNDER VOLTAGE',
              '3' : 'NONE',
              '4' : 'FAULT',
              '5' : 'NONE',
              '6' : 'NONE',
              '7' : 'NONE' } %}
          {% set state =  states.sensor.PV_Battery_Status_1.state %}
          {{ mapper[state] if state in mapper else 'Unknown' }}
  - platform: template
    sensors:
      epeverstatustext:
        friendly_name: "STATO REG1 charging"
        value_template: >-
          {% set mapper =  {
              '0' : 'NORMAL',
              '1' : 'NOT CHARGE',
              '2' : 'none',
              '3' : 'none',
              '4' : 'none',
              '5' : 'FLOAT',
              '6' : 'none',
              '7' : 'none',
              '9' : 'BOOST CHARGHING',
              '35' : 'OVER VOLTAGE',
              '10' : 'NONE',
              '11' : 'NONE' } %}
          {% set state =  states.sensor.PV_Charging_Status_1.state %}
          {{ mapper[state] if state in mapper else 'Unknown' }}
What I'm missing to enter is the status "19" . what does it mean ?
 
I don't know anything about Home Assistant, but assuming you're talking about the "Charging equipment status" (0x3201) register, you can't just map from the number to a single status value in most cases since "different parts of the number" mean different things.

There are lots of ways to convert, but the decimal number "19" is 10011 in binary.

1714052323558.png

Looking at the protocol documentation...

1714051704311.png

So in this case, that means:

1714052799985.png
 
Back
Top