jmccrohan / pysolarmanv5

A python module to interact with Solarman Data Logging Sticks
MIT License
116 stars 24 forks source link

Known working Inverter/Data Logging Sticks #11

Open RaoulSargent opened 2 years ago

RaoulSargent commented 2 years ago

Thought I would share what DOES WORK: (so not really an issue, but thought might be beneficial to list known to work)

Information captured from the Data Logger Status Screen:

Inverter Model                    SOLIS RHI-5K-48ES-5G
Inverter serial number            160F.......
Firmware version (main)           0033
Firmware version (slave)          0022
Inverter model                    00F3

Data Logger                       WIFI (EN2-8M)
Device serial number              4039......
Firmware version                  MW_08_512_0501_1.82
jmccrohan commented 2 years ago

Thanks @RaoulSargent. This is a good idea. Can you amend your original post to include details of whether this is a wifi or ethernet logger?

bloodygoodbloke commented 1 year ago

@RaoulSargent what user/pass did you use?

RaoulSargent commented 1 year ago

I am using a container based on Solismon3 (https://github.com/NosIreland/solismon3) which itself uses this pysolarmanv5 My understanding is pysolarmanv5 is 'sniffing' the modbus data traffic and therefore does not require any username/password as it is not 'logging in' to the data logger itself.

Are you trying to login to the data logger to perform web-scraping instead? That is a different approach to what pysolarmanv5 and solismon3 are doing.

RaoulSargent commented 1 year ago

I share the following to demonstrate how FANTASTIC this pysolarmanv5 project is :-) Just want to say that again, this is a FANTASTIC project, THANK YOU jmccrohan

I am using:

This means my solar/battery monitoring is totally disconnected from the Internet, thus protected from any website changes breaking my data collections, not leaking any data to wherever, and getting far more data to play with.

This is part of a Grafana dashboard (using MQTT/MySQL) for the Inverter data:

image

And a Grafana dashboard monitoring the 3x PylonTech batteries and all Cells within:

image image
bloodygoodbloke commented 1 year ago

im just trying to get on to the datalogger itsself to get the info so i can set it all up.

RaoulSargent commented 1 year ago

im just trying to get on to the datalogger itsself to get the info so i can set it all up.

ah sorry, in the paperwork for my WIFI(EN2-8M) Datalogger it says the DEFAULT username/password are both 'admin' (lowercase)

bloodygoodbloke commented 1 year ago

unfortunately, that's not working for me and my installer has said they didn't set anything.

my firmware is the same as yours according to solis cloud hence me asking.

im trying to integrate all this into home assistant

RaoulSargent commented 1 year ago

ok, so it is possible to factory reset the data logger :-) You have to take the case off the stick and (i think) just press a button. I cannot find my notes on this right now, but sure I found it on the web or youtube quite easily. It is a simple process and you will be back in control.

GitOldGrumpy commented 1 year ago

Is the EN2-8M still the only confirmed working data logger stick? I would like both to keep using Solis Cloud but collect data locally.

alienatedsec commented 1 year ago

This is part of a Grafana dashboard (using MQTT/MySQL) for the Inverter data:

I am also using solismon3 (BTW the new container image supports MQTT credentials https://github.com/NosIreland/solismon3/issues/3#issuecomment-1274956333)

@RaoulSargent any chance to provide some guidance on building similar graphs to yours?

RaoulSargent commented 1 year ago

This is part of a Grafana dashboard (using MQTT/MySQL) for the Inverter data:

I am also using solismon3 (BTW the new container image supports MQTT credentials NosIreland/solismon3#3 (comment))

@RaoulSargent any chance to provide some guidance on building similar graphs to yours? Sure...

Collecting the data: For the Batteries I have an esp8266 NodeMCU connected to the Pylontech console port, which executes shell commands, grabbing the output and sending to my MQTT broker. Similarly I have my own container with Solimon3 which I made to also send data to MQTT. So now I have all data arriving in MQTT. I then use NoedRed to subscribe to those MQTT messages and write the data to a MySQL database. (I route all data from all my sensors via MQTT rather than directly to the database)

Grafana Then I have Grafana to use the MySQL database as its datasource and just created the required widgets.

So the question is, what would you like me to help with? Send me a private email so we don't pollute this GitHub issue?
(we can always add a summary back to this GitHub for others afterwards)

alienatedsec commented 1 year ago

@RaoulSargent I already have my own container with solismon3 and the mosquitto broker on my QNAP. I am planning to use MariaDB

It looks like NodeRed with MariaDB with Grafana on QNAP or some directions.

happy to continue outside of GitHub and summarise as you suggested

GitOldGrumpy commented 1 year ago

Can someone with a working stick send me the name of the CGI that the config_hide settings calls? I am wondering/hoping if they have removed the HTML for altering these settings but the CGI is still there? Looking at the raw html all the details and help are still there just the html files it would link to are removed.

teaalltr commented 1 year ago

I can confirm that the library is working for my 270***** usb wifi datalogger.

@RaoulSargent your dashboards are great! How did you manage to include sunAlt? And, which settings in the Grafana side panel to show it like that? What's the modbus address for your data (expecially Demand and Charging)?

craigcurtin-dev commented 1 year ago

I have two Solis Inverters with the WIFI logging stick - one is a 4G 3 phase inverter and the other is a 3 phase 25K inverter.

Both are found by this utility - serial # starting with 40256 and 71960

These are both Australian inverters purchased in June 2019

Craig

githubDante commented 1 year ago

I can confirm that it works with DEYE

Invertrer: SUN-12K-SG04LP3 Datalogger: LSW-3

I'm already working on a library/tools for these inverters

rafaelwastaken commented 1 year ago

Can confirm working with the following:

Inverter: Solis 4G Series B2 (SKU appears to be Solis-1P7.6K-4G-US-SPRT) Data Logger: WIFI (EN2-8M)

nerdralph commented 1 year ago

IGEN Tech makes different versions of the SOLARMAN RS485 wifi logger sticks with firmware adapted for the modbus register set of a particular manufacturer. For example the wifi stick I have for Solis US 4G series inverters has Firmware version MW3_15_0501_1.18.

The wifi sticks I have for KSTAR single-phase inverters such as the 5000D have Firmware version LSW3_15_1214_1.20.

Both report Web Ver:1.0.24 after logging in with admin/admin, and both work with pysolarmanv5 connecting to port 8899. solarman_scan.py also finds both loggers.

michal-reiter commented 8 months ago

I got it working on: inverter: Sofar Solar Hybrid 10KTL-3PH with connected battery bank: BTS5k
data logger: LSW-3 data logger (WiFi / USB variant), firmware version LSW3_15_270A_1.68

Elwell commented 7 months ago

Hey @GitOldGrumpy - http:///config_hide.html calls hide_set_edit.html as an iframe. The post part is a set of forms which all go back to do_cmd.html ie (quick grep of source)

form name= "form_select" method="post" action="do_cmd.html" form name= "form_server_setting" method="post" action="do_cmd.html" form name= "form_server_b_setting" method="post" action="do_cmd.html" form name= "form_uart_setting" method="post" action="do_cmd.html" form name= "form_net_setting" method="post" action="do_cmd.html" form name="form_apsta_setting" method="post" action="do_cmd.html" form name="form_invtp_setting" method="post" action="do_cmd.html"

And yes, I know you posted the Q months ago, but I'm just starting to investigate some sofar 3K~6KTLM-G3 inverters

Wisch68 commented 6 months ago

@michal-reiter I have the same Inverter and battery, how did you do that?

michal-reiter commented 6 months ago

Just follow the examples https://github.com/jmccrohan/pysolarmanv5/tree/main/examples

niedz., 7 sty 2024 o 15:55 Wisch68 @.***> napisał(a):

@michal-reiter https://github.com/michal-reiter I have the same Inverter and battery, how did you do that?

— Reply to this email directly, view it on GitHub https://github.com/jmccrohan/pysolarmanv5/issues/11#issuecomment-1880081831, or unsubscribe https://github.com/notifications/unsubscribe-auth/A4V4QMQOJX6DHYNC2HR7DQTYNKZO7AVCNFSM5ZXEQGK2U5DIOJSWCZC7NNSXTN2JONZXKZKDN5WW2ZLOOQ5TCOBYGAYDQMJYGMYQ . You are receiving this because you were mentioned.Message ID: @.***>

Wisch68 commented 6 months ago

Did it like the link above, no response from script. Note: Port 502 is already taken by ioBroker. port 50200 creation runs into an error. Maybe the Interrupts are all taken by the iobroker modbus devices. That would explain that I get no response. I will setup an Hyper V Raspi4 and test that there.

michal-reiter commented 3 months ago

Hello,

That code should give you PV actual production. Adjust IP and LSW serial number ... and it should work (works for me).

BR M

from pysolarmanv5 import PySolarmanV5 import time

def main():

adjust those two parameters according to your setup

IP_of_the_inverter = "aaa.bbb.ccc.ddd"
serial_number_of_the_LSW3 = 2700623898

# that is minimal code to read the actual PV overall power from Sofar

Hybrid usin Solaman whatever stick link_to_inverter_using_solarman_stick = PySolarmanV5(IP_of_the_inverter, serial_number_of_the_LSW3, port=8899)

try_asking_inverter = True
faulty_attempts = 0
# in case of parallel communication with the inverter, with solarman

cloud and your script

it sometimes happens you receive frame which was not meant for you,

but for the colud

then pysolarmanv5 throws an exception - try / except is to hanlde

this (and other ) exceptions

I suggest to wait second or few and query the inverter again

while try_asking_inverter:
    try:
        received_list_of_registers =

link_to_inverter_using_solarman_stick.read_holding_registers(1476, 1) actual_PV_overall_power = received_list_of_registers[0] / 10.0 print(f"Actual PV overall power: {actual_PV_overall_power} kW") try_asking_inverter = False link_to_inverter_using_solarman_stick.disconnect() except: print("Error in response, trying again in 1 second") time.sleep(1) faulty_attempts += 1 if faulty_attempts > 5: print("Too many faulty attempts, exiting") break

if name == "main": main()

sob., 30 mar 2024 o 13:01 Marek Sušický @.***> napisał(a):

I got it working on: inverter: Sofar Solar Hybrid 10KTL-3PH with connected battery bank: BTS5k data logger: LSW-3 data logger (WiFi / USB variant), firmware version LSW3_15_270A_1.68

I have the same configuration, but no luck with error: V5 frame does not contain a valid Modbus RTU frame. Can you send me any hints? Thanks.

— Reply to this email directly, view it on GitHub https://github.com/jmccrohan/pysolarmanv5/issues/11#issuecomment-2028027866, or unsubscribe https://github.com/notifications/unsubscribe-auth/A4V4QMRSZGBX2K22Z2DNI73Y22LPJAVCNFSM5ZXEQGK2U5DIOJSWCZC7NNSXTN2JONZXKZKDN5WW2ZLOOQ5TEMBSHAYDENZYGY3A . You are receiving this because you were mentioned.Message ID: @.***>