Comments (10)
The example shows the raw values from the inverter only, the solar production values need to be multiplied by the scale as a fraction ( 10**scale )
There is an influxdb script from the great @nmakel that does this, and posts the data to an influxdb instance.
I use Emoncms, where my data from my inverters, batteries and meters are first posted to Emoncms, from there I post process certain data (I.e consumption = solar production + grid import/export)
From there, it goes to Emoncms mqtt, then telegraf > influxdb then the data is visualised with grafana. My public dashboard link is below, if you want to do something similar to me, I can help replicate it for you. This will take a few weeks if you want to do it yourself with my scripts etc. (a few weeks because I can't really help during the day)
from solaredge_modbus.
I appreciate your response. Your site looks great, I'm not a python guy but I'll def look at that more.
I do want to clarify what I'm trying to do here (because either I don't understand your response or I didn't ask my question correctly): with the data in my first post I expect that I'd be able to figure out how much power my home is using at any given moment, but I don't know what fields/values to use to make that happen.
from solaredge_modbus.
Unintentionally closed it
from solaredge_modbus.
thanks @pictureaday - you are reading only the data from the inverter itself, you also need to read the data from the solaredge meter. the meter usually has a different modbus ID, and different values.
Once you are reading both devices (inverter and meter) then you can calculate the consumption.
if you only read from the inverter, then you will only be able to get the solar production metric.
which in python, that will be:
power_ac * (10** power_ac_scale) = solar production in watt-hours
in your data above, that value from the calculation is 2,741.8 watts
27418 * (10**-1)
(10**-1) = 0.1
27418 * 0.1 = 2,741.8
this is important, because the scale will change throughout the day is the solar production goes above a certain value. the raw value will become something completely different, and that's where the scale calculation is needed.
from solaredge_modbus.
"Meter1": { "c_manufacturer": "SolarEdge", "c_model": "SE-RGMTR-1D-240C-B", "c_option": "Production", "c_version": "78", "c_serialnumber": "REDACTED", "c_deviceaddress": 1, "c_sunspec_did": 203,
Is this not my meter data?
from solaredge_modbus.
ah @pictureaday I didn't see that!
then your consumption based on that is:
GRID = "l3_power" * (10 ** "power_scale")
SCALE = (10** 0) = 0
GRID = (2643 * 0) * -1
the negative x1 is because solaredge data seems reversed (when exporting, by default is shows a positive number. when importing it shows a negative number. for simplicity of other calculations, I always multiply the GRID value by -1. then the data when exporting is a negative number etc. easier for future calculations)
GRID = -2,643 watt-hours
CONSUMPTION = SOLAR+GRID
CONSUMPTION = 2,741.8 + -2643 = 98 watt-hours, 0.098kwh
from solaredge_modbus.
Any chance it's off by a factor of 10 here? Our home is usually around 0.93-1.05 kw unless something big is on.
Also what is 10**?
from solaredge_modbus.
l3_power is used, because it looks like the Split core transformer was connected to Line #3 in the meter, instead of Line #1.
you can install and configure your own influx database, and post the data into influxdb (the influxdb script would need to be modified to change the l3_power to always include the *-1 calculation before posting into influxdb.
Then install and configure Grafana, connect grafana to influxdb. Create a dashboard, and have grafana do the calculation for consumption.
from solaredge_modbus.
from solaredge_modbus.
Any chance it's off by a factor of 10 here? Our home is usually around 0.93-1.05 kw unless something big is on.
with your power_scale being -1, then that becomes 10**-1, value of 0.1.
Also what is 10**?
the 10** means raising 10 to the power of power_scale. without this, you'll eventually see some crazy high and irrelevant solar production value as the l3_power value is dependant on the scale for us humans to understand.
try turning on a heavy consumption device and re-run the example.py and see if you get a larger consumption
from solaredge_modbus.
Related Issues (20)
- Support for Backup Interface HOT 3
- Isolation Resistance reporting? HOT 1
- Enums in __init__.py
- [Solved] - Error "ModuleNotFoundError: No module named 'pymodbus.client.sync'" HOT 1
- Data returned by example.py HOT 4
- Support for 3 x SolarEdge Home Battery HOT 1
- I dont know how to setup
- Which Parameter is which HOT 9
- BIG and LITTLE Endian vs Big and Little Endian HOT 3
- Incorrect address in __init__.py HOT 1
- How is the SolarEdge Wallbox integrated? HOT 3
- Module based information for SolarEdge Home Battery 48V HOT 1
- New storage control mode
- Grid Status, off/on grid - Found
- Third Battery is now available in modbus registers (+0x0200) - Please add support HOT 1
- Beginner question: where can I find a detailed description of modbus fields (e.g. different power values)? HOT 2
- KeyError "Status" HOT 1
- Batteries connected to Followers
- Solar Edge Modbus Meter, Importing or Exporting?
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from solaredge_modbus.