Open speculatrix opened 3 years ago
You might find further assistance within the following Facebook group https://www.facebook.com/groups/2477195449252168 We use a mixture of Python scripts and Node Red to create custom home automation. For example, I use Node-Red to control my Sofar Inverter including charging it overnight from the cheap nighttime electricity and you can create rules and bring in other factors such as sunrise and following day's forecast.
thanks, yes, I'm on that facebook group. I was hoping to better document the low level stuff.
Anyone know what the different topics are. I'm looking for some realtime info so I can recreate the front panel graphic if possible.
Address | Define | Variable types | Length | Range | Default value | unit |
---|---|---|---|---|---|---|
0x0206 | Grid A Voltage | Uint | 16 | 0-1000V | 0.1V | |
0x0207 | Grid A Current | int | 16 | -20-20A | 0.01A | |
0x0208 | Grid B Voltage | Uint | 16 | 0-1000V | 0.1V | |
0x0209 | Grid B Current | int | 16 | -20-20A | 0.01A | |
0x020A | Grid C Voltage | Uint | 16 | 0-1000V | 0.1V | |
0x020B | Grid C Current | int | 16 | -20-20A | 0.01A | |
0x020C | Grid Frequency | Uint | 16 | 0-1000V | 0.01Hz | |
0x020D | Charge/Discha rge power | int | 16 | -10-10 KW | 0.01KW | |
0x020E | Battery Voltage | Uint | 16 | 0-100V | 0.1V | |
0x020F | Battery Charge/Discha rge current | int | 16 | -100-100 A | 0.01A | |
0x0210 | The residual capacity of battery | Uint | 16 | 0-100 | 1ï¼… | |
0x0211 | Battery | |||||
temperature | ||||||
0x0212 | Feed in/out power | int | 16 | -10-10 KW | 0.01KW | |
0x0213 | The power of the load | Uint | 16 | 0-10 KW | 0.01KW | |
0x0214 | Input/Output power | Int | 16 | -10-10KW | 0.01KW | |
0x0215 | The power of generation | Uint | 16 | 0-10 KW | 0.01KW | |
0x0216 | EPS output voltage | Uint | 16 | 0.1V | ||
0x0217 | EPS output power | Uint | 16 | 0.01KW | ||
0x0218 | Generation of one day | Uint | 16 | 0-65536 | 0.01KWh | |
0x0219 | The power sell to grid of today | Uint | 16 | 0-65536 | 0.01KWh | |
0x021A | The power buy from grid of today | Uint | 16 | 0-65536 | 0.01KWh | |
0x021B | Today consumption of the load | Uint | 16 | 0-65536 | 0.01KWh | |
0x021C | Total generation High-Byte | Uint | 16 | 0-65536 | 1KWh | |
0x021D | Total generation Low-Byte | Uint | 16 | 0-65536 | 1KWh | |
0x021E | Total power sell to grid,High-Byte | Uint | 16 | 0-65536 | 1KWh | |
0x021F | Total power sell to grid,Low-Byte | Uint | 16 | 0-65536 | 1KWh | |
0x0220 | Total energy buy from grid,High-Byte | Uint | 16 | 0-65536 | 1KWh | |
0x0221 | Total energy buy from grid,Low-Byte | Uint | 16 | 0-65536 | 1KWh | |
0x0222 | Total consumption of the load,High-Byte | Uint | 16 | 0-65536 | 1KWh | |
0x0223 | Total | Uint | 16 | 0-65536 | 1KWh | |
consumption of the load,Low-Byte | ||||||
0x0224 | reserved | |||||
0x0225 | reserved | |||||
0x0226 | reserved | |||||
0x0227 | reserved | |||||
0x0228 | reserved | |||||
0x0229 | reserved | |||||
0x022A | The countdown time | Uint | 16 | |||
0x022B | Inverter message | alert | Uint | 16 | ||
0x022C | Battery times | cycle | Uint | 16 | 0-65536 | |
0x022D | INV voltage | bus | int | 16 | ||
0x022E | LLC voltage | bus | Uint | 16 | ||
0x022F | Buck current | Uint | 16 | |||
0X0230 | Grid R Voltage | Uint | 16 | 0.1V | ||
0X0231 | Grid R Current | Uint | 16 | 0.01A | ||
0X0232 | Grid S Voltage | Uint | 16 | 0.1V | ||
0X0233 | Grid S Current | Uint | 16 | 0.01A | ||
0X0234 | Grid T Voltage | Uint | 16 | 0.1V | ||
0X0235 | Grid T Current | Uint | 16 | 0.01A | ||
0X0236 | Generation current | Uint | 16 | 0-100 | ||
0X0237 | Battery power | int | 16 | reserved | ||
0X0238 | Inner temperature | int | 16 | -254 | 1℃ | |
0X0239 | Heat sink temperature | int | 16 | -254 | 1℃ | |
0X023A | Country | Uint | 16 | |||
0X023B | Current dc component | int | 16 | 1mA | ||
0X023C | Voltage dc component | int | 16 | 0.1V | ||
0X023D | Battery fault message 1 | Uint | 16 | High-Byte:byte1,Lo w-Byte:byte0 | ||
0X023E | Battery fault message 2 | Uint | 16 | High-Byte:byte3,Lo w-Byte:byte2 | ||
0X023F | Battery fault message 3 | Uint | 16 | High-Byte:byte5,Lo w-Byte:byte4 | ||
0X0240 | Battery fault message 4 | Uint | 16 | High-Byte:byte7,Lo w-Byte:byte6 | ||
0x0241 | Battery fault message 5 | Uint | 16 | High-Byte:byte9,Lo w-Byte:byte8 | ||
0x0242 | Communicatio n board inner message | Uint | 16 | High-Byte:byte1,Lo w-Byte:byte0 | ||
0x0243 | Today generation time | Uint | 16 | 1min | ||
0x0244 | Total generation time High-Byte | Uint | 16 | 1hour | ||
0X0245 | Total generation time,Low-Byte | Uint | 16 | 1hour |
Copy and paste this lot into excel. There are lots of addresses you can use to get information from.
Thanks, I think i'm looking for the relation to the numbers so in the myME3000.py file there is a number preceding the topic description ... (15, 'batt_current', 'h'), (16, 'batt_capacity', 'H'), (17, 'batt_temp', 'H'), (25, 'sell_grid', 'H'),
Do we have a list of what number relates to which address as per the above, or am I off course .
The numbers (6,7,14,15) are related to the script and not directly to the inverter. The MODBUS addresses that relate to those are the ones below. batt_current = 0x020F - Battery Charge/Discharge current batt_capacity = 0x0210 - The residual capacity of battery batt_temp = 0x0211 - Battery temperature sell_grid = 0x0219 - The power sell to grid of today There is so much you can do with the whole list. We are just working with Node-Red and using Modbus directly retrieving all the data from the inverter without using Python scripts. The refresh rate is down to 5 seconds and that is when requesting lots of data. I am not expert on the Python scripts but I have been using them and learning more about MODBUS over the past 6 months.
Hi all, I am currently using the excellent work by greentangerine to dynamically control the Sofar in passive mode so eliminating the need for the CT sensors (see below for reason). I am however occasionally getting a 'perm fault' come up which entails power cycling the inverter to fix. Does anyone know a. The reason why these perm faults occur and b. is there a way to reset the Sofar in software?
I have a seperate modbus grid meter so I can see in real time the grid status, I also have some extra PV panels not able to go through the CT sensors, My program therefore allows me to dynamically adjust the sofar to charge or discharge with respect to the grid. I am sending a command to the Sofar every 0.5 seconds to basically keep the grid close to zero.
Ive managed to piece this python and nodered together and have got my rpi reading data. As timecmdr says is there a link between the address numbers and the names. Ideally want to display more than the five lines.
davies8172 how do i use modbus instead of python?
ps. this is amazing that you guys take the time to put this together and share. Ive saved 3 yrs by googling and facebooking today alone. 👍
For more info and full instructions (and lots of other guides), go to https://www.facebook.com/groups/2477195449252168 on Facebook and check out the guides there. We are all on there to help.
Hi, I have a Sofar HYD5000 and someone drew my attention to your repo.
I would be happy to write some documentation and instructions for it if you will help me understand it better, would you be willing to do that?
What I want to do is charge my Sofar from octopus go, and also use the weather forecast to determine how much charge to put into the battery before the 0430 cut-off. e.g. if the weather predicts murky rainy day, fill the battery completely, but if the morning will be bright, then maybe only fill it to 50%. Also, use sun-rise time as another factor, so in winter you charge more than summer.
thanks, Paul