solaredge_modbus icon indicating copy to clipboard operation
solaredge_modbus copied to clipboard

incomplete install output

Open SvenDowideit opened this issue 4 years ago • 7 comments

I'm assuming the result I have is because things are not yet fully configured - but I get

./example.py --json 10.10.10.146 1502
{
    "meters": {},
    "batteries": {
        "Battery1": {},
        "Battery2": {}
    }
}

and

./example.py 10.10.10.146 1502
Inverter(10.10.10.146:1502, connectionType.TCP: timeout=1, retries=3, unit=0x1):

Registers:
Traceback (most recent call last):
  File "/home/sven/src/github/solaredge_modbus/./example.py", line 46, in <module>
    print(f"\tManufacturer: {values['c_manufacturer']}")
KeyError: 'c_manufacturer'

If I'm right, it might be useful to add this info to the docs and for the non-json output to tell the user what's probably going on :)

SvenDowideit avatar Jul 29 '21 05:07 SvenDowideit

ooo, then again, I'm not sure that its successful!

SvenDowideit avatar Jul 29 '21 05:07 SvenDowideit

ooo, then again, I'm not sure that its successful!

It certainly isn't :)

Are you sure Modbus TCP is enabled, the port is correct, and that the modbus address of the inverter is 1?

nmakel avatar Jul 29 '21 06:07 nmakel

I had the same problem once I had started to access the ModBus port from my FHEM installation as well. If another program is keeping the connection on that port open, this (empty result) is what you get. Once I had closed that open connection, things went well.

fredlcore avatar Jul 29 '21 07:07 fredlcore

I suspect not. The installers just left, and it's a new model, so 💯 unknowns

On Thu, 29 Jul 2021, 5:56 pm fredlcore, @.***> wrote:

I had the same problem once I had started to access the ModBus port from my FHEM installation as well. If another program is keeping the connection on that port open, this (empty result) is what you get. Once I had closed that open connection, things went well.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/nmakel/solaredge_modbus/issues/38#issuecomment-888889033, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAAG6TG4O6K74YOG5KHQ3K3T2ECSLANCNFSM5BFXR5JA .

SvenDowideit avatar Jul 29 '21 08:07 SvenDowideit

1.- Be sure the modbus tcp port is open and listening. You can use nmap to check open ports:

nmap -p- 10.10.10.146  # the port 1502 should be listed

2.- If do you have a meter, maybe, the ID changes, try with other Id:

./example.py --json 10.10.10.146 1502 --unit 2

ctrl-alt-d avatar Jul 29 '21 11:07 ctrl-alt-d

yup, sees to only be listening on 80 and 8080 - and those are a sink.

IDK enough about it to know if i can configure it to listen, or if this being a newer model, everything is locked down

so mostly - this issue is about not-so-clean output on failure to communicate :)

SvenDowideit avatar Jul 29 '21 22:07 SvenDowideit

yup, sees to only be listening on 80 and 8080 - and those are a sink.

Unless you have access to the setapp interface on port 80 you'll need to either register an installer account with solaredge (free, no checks whatsoever) and turn on Modbus TCP yourself using the SetApp application for IOS or Android, or ask your installer to do so.

so mostly - this issue is about not-so-clean output on failure to communicate :)

Good point. When using the library you will get an empty dict, which you can then do with what you need. The example files assume a working setup, and would benefit from a bit more verbose output checks.

nmakel avatar Aug 11 '21 18:08 nmakel