-
Notifications
You must be signed in to change notification settings - Fork 3
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Speedwire STP8.0SE (SUNNY TRIPOWER 8.0 SE) #28
Comments
Speedwire communication runs via port 9522. This includes both discovery as multicast and ‘normal’ queries via simple UDP packets. There can be many causes:
|
> What does the discovery mode return? ![]() From the log: {"discovery": [{"addr": "192.168.179.67", "port": 9522, "identify": [{"access": "ennexos", "status": "found", "tested_endpoints": "https://192.168.179.67/api/v1/system/info", "exception": "None", "remark": "https", "device": "Unknown: 19136"}, {"access": "speedwireinv", "status": "failed", "tested_endpoints": "192.168.179.67:9522", "exception": "No connection to device: 192.168.179.67:9522 (3/3)", "remark": "", "device": ""}, {"access": "webconnect", "status": "failed", "tested_endpoints": "https://192.168.179.67", "exception": "", "remark": "https://192.168.179.67", "device": ""}, {"access": "webconnect", "status": "failed", "tested_endpoints": "http://192.168.179.67", "exception": "", "remark": "http://192.168.179.67", "device": ""}, {"access": "speedwireem", "status": "failed", "tested_endpoints": "192.168.179.67", "exception": "None", "remark": "no multicast packet received.", "device": ""}, {"access": "shm2", "status": "failed", "tested_endpoints": "192.168.179.67", "exception": "Could not connect to 192.168.179.67:502", "remark": "needs Installer Grid Guard Code. Usage not recommended.", "device": ""}]}, {"addr": "192.168.179.38", "port": 9522, "identify": [{"access": "speedwireem", "status": "found", "tested_endpoints": "192.168.179.38:53369", "exception": "None", "remark": "", "device": "Sunny Home Manager 2 (3017708591)"}, {"access": "ennexos", "status": "failed", "tested_endpoints": "https://192.168.179.38/api/v1/system/info", "exception": "Could not connect to SMA at https://192.168.179.38 -- Cannot connect to host 192.168.179.38:443 ssl:default [Connect call failed ('192.168.179.38', 443)]", "remark": "https", "device": ""}, {"access": "ennexos", "status": "failed", "tested_endpoints": "http://192.168.179.38/api/v1/system/info", "exception": "None", "remark": "http", "device": ""}, {"access": "speedwireinv", "status": "failed", "tested_endpoints": "192.168.179.38:9522", "exception": "No connection to device: 192.168.179.38:9522 (3/3)", "remark": "", "device": ""}, {"access": "webconnect", "status": "failed", "tested_endpoints": "https://192.168.179.38", "exception": "Could not connect to SMA at https://192.168.179.38: Cannot connect to host 192.168.179.38:443 ssl:default [Connect call failed ('192.168.179.38', 443)]", "remark": "https://192.168.179.38", "device": ""}, {"access": "webconnect", "status": "failed", "tested_endpoints": "http://192.168.179.38", "exception": "Server at http://192.168.179.38 disconnected 3 times.", "remark": "http://192.168.179.38", "device": ""}, {"access": "shm2", "status": "failed", "tested_endpoints": "192.168.179.38", "exception": "Could not connect to 192.168.179.38:502", "remark": "needs Installer Grid Guard Code. Usage not recommended.", "device": ""}]}, {"addr": "192.168.179.69", "port": 9522, "identify": [{"access": "ennexos", "status": "failed", "tested_endpoints": "https://192.168.179.69/api/v1/system/info", "exception": "None", "remark": "https", "device": ""}, {"access": "ennexos", "status": "failed", "tested_endpoints": "http://192.168.179.69/api/v1/system/info", "exception": "None", "remark": "http", "device": ""}, {"access": "speedwireinv", "status": "failed", "tested_endpoints": "192.168.179.69:9522", "exception": "No connection to device: 192.168.179.69:9522 (3/3)", "remark": "", "device": ""}, {"access": "webconnect", "status": "failed", "tested_endpoints": "https://192.168.179.69", "exception": "", "remark": "https://192.168.179.69", "device": ""}, {"access": "webconnect", "status": "failed", "tested_endpoints": "http://192.168.179.69", "exception": "", "remark": "http://192.168.179.69", "device": ""}, {"access": "speedwireem", "status": "failed", "tested_endpoints": "192.168.179.69", "exception": "None", "remark": "no multicast packet received.", "device": ""}, {"access": "shm2", "status": "failed", "tested_endpoints": "192.168.179.69", "exception": "Could not connect to 192.168.179.69:502", "remark": "needs Installer Grid Guard Code. Usage not recommended.", "device": ""}]}], "status": {}} > You could try the IP address instead of the host name? Same result:
Tried multiple times. Some times got "invalid host/ip address" when configuring > Do you have access to the switcher with the Sunnyexplorer (https://www.sma.de/produkte/monitoring-control/sunny-explorer)? Mac OS user here ... can't try. But when I test using the littleyoda/pysma/example.py It gives me (4 of 5 times):
But also (1 out of 5 times)
|
So I've played around a bit with the using running example.py in a loop (no delay) running example.py in a loop (30s delay between) conclusion |
I'm not sure about your conclusion. However, I have reduced the number of login packages to a minimum as a test. Can you test the example.py again with the latest GIt version? |
The behavior is still the same. Reducing the unneeded login calls reduces overhead but doesn't change the behavior. And imho therefore the |
Unfortunately, I don't understand what you're trying to tell me. There was a significant change. The login command is now only sent once and not up to 4 times per loop. The script waits for a response for each command (including login). If there is no response, a timeout is thrown at some point. So I don't understand what you mean by saying that there were no responses. [Wir können gerne auch in Deutsch weiter reden] |
The repetitive calls in the same example.py invocations were never really an issue; either all were successful or none.
I got it. I was misreading the code. Also, I thought the serial number stored in the login would be used to authenticate subsequent requests, but it's simply the device's serial number.
If I invoke the example.py a second time without delay, the
Yeah, so right now I do think my assumption doesn't hold true, as it looks like the login does work differently then I've thought.... So I don't have any idea what the cause for the weird behavior is and hence no idea how to fix this. |
Could you try something else? With the command from below, pysma waits longer for a response from the inverter. I would like to rule out the possibility that the waiting time of 0.5 seconds is too short. python3 example.py speedwire -ocommandTimeout=3 installer pwd 192.168.2.XX |
I've increased the timeout up to 10. Doesn't make a difference. |
Can you please try with the latest version the following command? It increases the number of login attempts. |
Sorry for the late response. Two findings:
|
Just wanted to let you know that I haven't forgotten the bug. But I still don't know how I'm going to implement it. If it can only establish a connection after ~60 attempts, that would be 2 minutes that the user would have to wait when setting up, given a waiting time of 2 seconds. |
Can you test the latest version (0.4.8.2)? On the one hand, I changed something in the Speedwire implementation. |
Afaik the port 9522 is used for the discovery of the Speedwire protocol and I wonder why it is used directly?
According to https://cdn.sma.de/fileadmin/content/www.developer.sma.de/docs/SpeedwireDD-TI-en-10.pdf?v=1699275967 it should be used on the multicast address?
Do let me know if you need additional information.
Originally posted by @joshiste in #18 (comment)
The text was updated successfully, but these errors were encountered: