derenback / Domoticz-SMA-Inverter

A Domoticz plugin for SMA solar inverters
GNU General Public License v3.0
2 stars 1 forks source link

Domoticz Error Message: failed to parse parameters: string expected #16

Closed rivertechnology closed 2 years ago

rivertechnology commented 2 years ago

Hi,

Super thanks for this plugin, I'm using it for a couple of months but recently sometimes the data collection stops. I get this error a couple times a day (but most of the time the data collection stays working):

2022-10-26 15:57:06.085 Error: SMA 4: PyDomoticz_Log failed to parse parameters: string expected. 2022-10-26 15:57:06.085 Error: SMA 4: 'PyDomoticz_Log' failed 'TypeError'. 2022-10-26 15:57:06.085 Error: SMA 4: 'onHeartbeat' failed 'SystemError':' returned a result with an error set'. 2022-10-26 15:57:06.085 Error: SMA 4: Exception traceback: 2022-10-26 15:57:06.085 Error: SMA 4: ----> Line 181 in '/home/domoticz/domoticz/plugins/Domoticz-SMA-Inverter/plugin.py'

Inverter: SMA Sunnyboy 4, firmware: 4.0.55.R. Only modbus TCP is enabled. System: Ubuntu Server 20.04, Domoticz Version: 2022.1 Python Version: 3.8.10

Thanks in advance!

derenback commented 2 years ago

Are you using the latest version of the plugin? Or what version are you using? Have you changed anything in your installation? Do you have a wired connection to the inverter or is it connected over Wifi?

rivertechnology commented 2 years ago

Thanks for your reply. I'm using version 0.9.4. I've updated the plugin a while ago with 'git pull' and made no changes. The inverter is connected over WiFi, but close to a (Unifi) wired accesspoint. The log of the inverter show no (connection) issues.

derenback commented 2 years ago

To get some more information on the connection issue you can use the test scrip in the test folder: /test/sma_test.py Just change the default IP address on line 9 or pass your IP as an argument to the script.

python3 test/sma_test.py {IP to the inverter} {unit ID if not 3 as the default}

If the TCP connection is not closed in a correct way the Inverter will not time out and it might be that you have to restart the inverter. This has happened to me two times after issues with a network switch. Have not been able to figure out a good way to reset the connection. The problem seems to be on the inverter side.

rivertechnology commented 2 years ago

Thanks a lot for the help. You're right, the issue is inverter related. I did a restart on the inverter and I've updated the python packages (sudo pip3 install -U pymodbus pymodbusTCP). This solved my issue.

derenback commented 2 years ago

Great! Thanks for letting me know!