adamwelchuk / noderedepeverdashboard Goto Github PK
View Code? Open in Web Editor NEWA node red based dashboard for most EPEver/EPSolar solar charge controllers.
A node red based dashboard for most EPEver/EPSolar solar charge controllers.
Tried for hours to get information from this modbus register data. Couldn't find on other projects too.
Would be useful to include at least D3-2 (show the current status of charging). SOC shows 100% even at beginning of charge process (voltage calculated, I guess). I'm trying to think a more precise calculation using other methods
Hi Adam, Thanks for hard work.
for nubes like me who will came here i leave this issue record.
i have tracer 5420an + ebox-tcp-02 and with default settings i was unable to connect from nodered to get data. issue is that by default there is 23 port in modbus get profile and you need to specify 20108. it will work. perhabs Adam may add comment in workflow about it
I have started using you dashboard today, but I wonder if the graphs for solar & batt power need some adjustment, because sometimes they appear to report a value way lower than the values on left panel.
For example, sometimes my generation hits values higher than 500W, but the graph show values like 30 or 50W.
Hi,
is it possible to use one USB RS485 Adapter with two Epever in parallel?
I trying it for several hours now, but i´m failing ;)
My Raspi is not even starting if i don´t unplug the USB..
The Error Message i get is: Error: Client Not Ready To Read At State reconnecting
Sometimes one of the Units is working, but never both at the same time. Sometimes Unit-ID 1, sometimes ID 2
Emmpunkt
Hello Adam,
thank you for your hard work.
I have a connection problem.
I am using epever tracer 3210an, a RS485 USB cable and a RASPI 3b. I installed Node-Red yesterday following your instructions. But unfortunately I can't get in touch with EPEver.
Here is the event in /var/log/daemon.log:
{
Mar 20 16:00:50 rpi3 Node-RED[410]: payload: {
Mar 20 16:00:50 rpi3 Node-RED[410]: value: undefined,
Mar 20 16:00:50 rpi3 Node-RED[410]: unitid: 1,
Mar 20 16:00:50 rpi3 Node-RED[410]: fc: 4,
Mar 20 16:00:50 rpi3 Node-RED[410]: address: 12544,
Mar 20 16:00:50 rpi3 Node-RED[410]: quantity: 18,
Mar 20 16:00:50 rpi3 Node-RED[410]: emptyMsgOnFail: true,
Mar 20 16:00:50 rpi3 Node-RED[410]: keepMsgProperties: true,
Mar 20 16:00:50 rpi3 Node-RED[410]: messageId: new ObjectId("623741a2fcca8f991afd26ab")
Mar 20 16:00:50 rpi3 Node-RED[410]: },
Mar 20 16:00:50 rpi3 Node-RED[410]: topic: 'livestats',
Mar 20 16:00:50 rpi3 Node-RED[410]: _msgid: 'e897b8b8ad8aa219',
Mar 20 16:00:50 rpi3 Node-RED[410]: messageId: new ObjectId("623741a2fcca8f991afd26ab"),
Mar 20 16:00:50 rpi3 Node-RED[410]: error: {
Mar 20 16:00:50 rpi3 Node-RED[410]: message: 'Error: Client Not Ready To Read At State reconnecting',
Mar 20 16:00:50 rpi3 Node-RED[410]: source: {
Mar 20 16:00:50 rpi3 Node-RED[410]: id: '2c18fdaf.8153d2',
Mar 20 16:00:50 rpi3 Node-RED[410]: type: 'modbus-flex-getter',
Mar 20 16:00:50 rpi3 Node-RED[410]: name: 'Modbus Get',
Mar 20 16:00:50 rpi3 Node-RED[410]: count: 1
Mar 20 16:00:50 rpi3 Node-RED[410]: },
Mar 20 16:00:50 rpi3 Node-RED[410]: stack: 'Error: Client Not Ready To Read At State reconnecting\n' +
Mar 20 16:00:50 rpi3 Node-RED[410]: ' at Object. (/home/pi/.node-red/node_modules/node-red-contrib-modbus/modbus/maps/modbus-client.js:472:15)\n' +
Mar 20 16:00:50 rpi3 Node-RED[410]: ' at Object.emit (events.js:314:20)\n' +
Mar 20 16:00:50 rpi3 Node-RED[410]: ' at Object.emit (/usr/lib/node_modules/node-red/node_modules/@node-red/runtime/lib/nodes/Node.js:185:20)\n' +
Mar 20 16:00:50 rpi3 Node-RED[410]: ' at Object._inputCallback (/home/pi/.node-red/node_modules/node-red-contrib-modbus/modbus/maps/modbus-flex-getter.js:146:21)\n' +
Mar 20 16:00:50 rpi3 Node-RED[410]: ' at /usr/lib/node_modules/node-red/node_modules/@node-red/runtime/lib/nodes/Node.js:207:26\n' +
Mar 20 16:00:50 rpi3 Node-RED[410]: ' at Object.trigger (/usr/lib/node_modules/node-red/node_modules/@node-red/util/lib/hooks.js:149:13)\n' +
Mar 20 16:00:50 rpi3 Node-RED[410]: ' at Object.Node._emitInput (/usr/lib/node_modules/node-red/node_modules/@node-red/runtime/lib/nodes/Node.js:199:11)\n' +
Mar 20 16:00:50 rpi3 Node-RED[410]: ' at Object.Node.emit (/usr/lib/node_modules/node-red/node_modules/@node-red/runtime/lib/nodes/Node.js:183:25)\n' +
Mar 20 16:00:50 rpi3 Node-RED[410]: ' at Object.Node.receive (/usr/lib/node_modules/node-red/node_modules/@node-red/runtime/lib/nodes/Node.js:482:10)\n' +
Mar 20 16:00:50 rpi3 Node-RED[410]: ' at Immediate._onImmediate (/usr/lib/node_modules/node-red/node_modules/@node-red/runtime/lib/flows/Flow.js:814:52)'
Mar 20 16:00:50 rpi3 Node-RED[410]: }
Mar 20 16:00:50 rpi3 Node-RED[410]: }
I configured the modbus clients as follows:
My cable is recognized, a driver is loaded.
I checked that with lsusb and in dmesg.
Can you spot an error in the screenshot?
Many thanks in advance
Frank
New dashboard with several modifications such as rounding values to 2 digits after the dot. see daily, monthly, annual, total kwh generated and consumed. etc. and in French .csv file to improve see examples Excel file.
dashboard .6 fr.json.txt
It can be turned on and off from nordered.
great Job!!! Compliments.
flows.json.zip
Maybe adding http://localhost:1880/ui/ to the bottom of readme, or explain to add /ui to the end of their nodered url.
Sorry for posting as an issue (must be my config) and for my poor english writing
Thank you for the dashboard. I've been using it for an year. Since first config, I noticed it put more decimal (places?) at random, every refresh of data from solar controllers.
I assume it's should be rounded to 2 decimal by looking at config. May be a raspberry nodered problem?
Hi @AdamWelchUK ,
Thanks for the great work.
Please I need help to get the flow to work. I'm using the original Epever USB to RS485 cable. I have installed the cable driver and set the Modbus Get but the flows seems not working. I have previous used your EPEverDashboardv0.1.json with my old Raspberry Pi with same cable but can't find the old .json code again to try. Please I need help.
Thank you.
Femi
PS:
I'm not a programmer but can follow instruction to get things work.
Looking over this and it seems to make sense to update the unit's time and date when writing out the settings data.
Hello,
The solar generated power value going to influx is divided by 100. It's sending for instance 2.77W instead of 277W into influxdb. Attached is screenshot of my Node-red showing the value. The correct value is shown on the node-red dashboard.
Please I need help with this in multiplying the value by 100. I'm using Epever iTracer IT6415ND.
I boughtan Epever XTRA3210N charge controller and connect it to my node-red environment with an ebox-Wif-01.
Unfortunately I can't get it to work!!!! I put the IP-address of the ebox-wifi as a server in the modbus -Flex-getter node. It just don't get any answers back.
Maybe it doesn't work because the XTRA series are different?
Maybe I need a virtual com port (in my case a linux port).
I have tried everything.
Is there someone who can help me, did somebody with an XTRA series controller get it to work???
Hi Adam
thx for your well working nodes and dashboard. I can use it with an EPever XTRA4415N on Pi4 and 485-usb.direct successfully.
My question is, is there a way to integrate a control (set manually on/off) the load-switch?
Writing the settings is possible, so it should be a way there having the registers..
Some guys're using external switches to control by wire, but that's not I'm looking for...
best, Sascha
Hi Adam, many thanks for your code which I use with a Tracer 2210AN.
In my cabin, the temperature can fall below zero C in winter. I found the Tracer encodes negative values in 2's complement. To display temperatures correctly, I replaced the /100 Range nodes after Tbatt and Tcase with Function nodes, with the following code:
var t = msg.payload;
if (t >> 15) {
t -= 1 << 16;
}
msg.payload = t/100;
return msg;
Hi,
I am using this great dashboard for two of my AN controllers and it works really well but I want to be able to get some data from my IP-3000 inverter.
Ideally I would like to pull the Output Power(W) into nodered and then if it drops to 0 (if my system switches back to mains) setup some kind of email notification.
I just can't find anything about monitoring this Epever IP-3000 inverter anywhere. Any help?
FYI, I can use the Epever inverter software to monitor it but its lacking features
Changes made from v0.5 from dtabone
"name": "EPEver Dashboard",
field is where you can replace with your own dashboard name prefix - great if you have multiple sites.Hiya,
First, massive thank you. This library/setup is vastly better than the "official" apps for the eBox module. The directions below were pulled from a few places and figured newer folks might get the eBox-WIFI-01 module expecting plug and play like I did only to find a massive maze. Might be good for an addendum readme.
Note: If you haven't bought the "official" eBox WiFi module yet, consider the alternatives first, other options are more DIY but offer better setup and more options. Skip to 4. for the Serial connection directions.
socat
as a relay:sudo socat pty,link=/dev/ttyWiFi211,unlink-close=0,raw,echo=0,mode=777 tcp:[ipofeboxwifi]:8088&
sudo chmod 777 /dev/ttyWiFi211
/dev/ttyWiFi211
Why there is no solar power data on the csv file?
Hello,
first of all, many thanks to AdamWelchUK for this great dashboard.
This is my first Node RED project I've deployed so I'm learning a lot.
My setup: Raspi Buster, NodeRED 14.17.3, all palletes up to date.
I'm using Dashboard v0.5.
For historical data I'm trying to modify flow to send data using MQTT to my Home Assistant instead to save to Influxdb.
There are non properly filled payload messages from Switch Node starting from topic MonthConsumed to TotalGenerated.
Only topic TodayConsumed has array of two items.
array[2]
0: 4
1: 0
Topic MonthConsumed payload array:
array[4]
0: undefined
1: undefined
2: 283
3: 0
Topic Yearconsumed:
array[6]
0: undefined
1: undefined
2: undefined
3: undefined
4: 283
5: 0
As you can see, the array has not only 2 items as the function "32 bit register conversion /100" expect so correct output is only for topic TodayConsumed.
Is there a fix for this behaviour?
Thanks
Radek
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.