Page 10 of 13
Re: Python Plugin: GoodWe solar inverter via SEMS API
Posted: Monday 20 June 2022 13:12
by tonymer
One of the data that is seen both in the SEMS portal or through PV Master is the energy that is being taken from the grid (in -) or the energy that is being exported to the grid (in +). I know at all times how much energy I have left over and it is injected into the public network or, on the contrary, how much I lack and I buy from the public network. The investor and SEMS know it through the Meter. Sorry for my English
Re: Python Plugin: GoodWe solar inverter via SEMS API
Posted: Monday 20 June 2022 16:17
by waltervl
When I look in my SEMS portal I only can see what the solar inverter is sending to my home. And that is logical as the only thing my solar inverter can do is create solar generated power. It does not know if it is consumed in my house or sent to the grid.
But perhaps you post a screenshot of your SEMS portal of what you see. As your request confuses me too

Re: Python Plugin: GoodWe solar inverter via SEMS API
Posted: Monday 20 June 2022 18:34
by tonymer
This is part of the screen of my SEMS Portal

- Flujo de Energia.jpg (75.94 KiB) Viewed 2491 times
Re: Python Plugin: GoodWe solar inverter via SEMS API
Posted: Monday 20 June 2022 18:36
by tonymer
That data is in the inverter because I see it with PV master and SEMS portal. When it consumes from the grid, the arrow goes out towards the house
Re: Python Plugin: GoodWe solar inverter via SEMS API
Posted: Monday 20 June 2022 21:02
by JanJaap
Looks Fancy
As mentioned, I need the data structure that SEMS API returns, as explained in earlier post (refer to issue 14). Once you provide the info (preferably via PM) I can have a look at it.
Re: Python Plugin: GoodWe solar inverter via SEMS API
Posted: Tuesday 21 June 2022 10:01
by tonymer
Hello, if you tell me what program I can use to see the data flow going into the inverter and PM Master. The Pv master connects to a Wifi provided by the inverter. I have done tests with Packet Sender and right now it only responds to its native AA55 protocol. A few days ago it answered modBus sequences but I don't know why now it doesn't.
Re: Python Plugin: GoodWe solar inverter via SEMS API
Posted: Tuesday 21 June 2022 10:02
by tonymer
if you tell me what to do i can help
Re: Python Plugin: GoodWe solar inverter via SEMS API
Posted: Tuesday 21 June 2022 19:04
by JanJaap
Hi,
It is kind of in
issue 14 on github:
pull the addBattery version of the plug in:
Code: Select all
cd domoticz/plugins/domoticz-GoodWeSEMS
git checkout addBattery
git pull
the go to domoticz hardware page, enable debug logging in the GoodWE plugin config and hit 'update'
Now after some time there will appear a file called goodwe.log in /domoticz. Get that file off the RPi (you may have to chown it for acces rights), remove any password/user info and send me the info that is returned in a logline that starts with:
response station data request
Re: Python Plugin: GoodWe solar inverter via SEMS API
Posted: Wednesday 22 June 2022 11:12
by tonymer
Hello, before doing that, comment that I have done tests with Packet Sender and I have the frame of bytes that must be sent to the inverter's IP and I have the frame that it returns with positions 45-46 (Watts Import/Export) and position 87 (0=Standby, 1=Exporting, 2=Importing) in case you want me to send you the request and the response from my investor. Although it is hydrido I do not have a battery for now. Cheers
Re: Python Plugin: GoodWe solar inverter via SEMS API
Posted: Wednesday 22 June 2022 12:29
by janvier123
JanJaap wrote: ↑Monday 20 June 2022 21:02
Looks Fancy
As mentioned, I need the data structure that SEMS API returns, as explained in earlier post (refer to issue 14). Once you provide the info (preferably via PM) I can have a look at it.
I have no idea if its relevant or not, but here is my (personal) dump of the API
https://pastebin.com/kV2aKNR7
and some more info:
https://github.com/DiedB/Homey-SolarPan ... -521042829
Re: Python Plugin: GoodWe solar inverter via SEMS API
Posted: Thursday 23 June 2022 10:29
by JanJaap
tonymer wrote: ↑Wednesday 22 June 2022 11:12
Hello, before doing that, comment that I have done tests with Packet Sender and I have the frame of bytes that must be sent to the inverter's IP and I have the frame that it returns with positions 45-46 (Watts Import/Export) and position 87 (0=Standby, 1=Exporting, 2=Importing) in case you want me to send you the request and the response from my investor. Although it is hydrido I do not have a battery for now. Cheers
Hi Tony,
What you are doing does not go via the SEMS web API. My pluging (for which this topic is) accesses the web API (on
www.semsportal.com) to fetch the data. You are accessing the inverter directly so I cannot use that info. I need the logging as described earlier (presuming this data is also sent to this cloud server).
Re: Python Plugin: GoodWe solar inverter via SEMS API
Posted: Thursday 23 June 2022 22:41
by Darsh
GoodWe plugin started to crash Domoticz with "Call to function 'onHeartbeat' failed" error message.
domoticz_crash.log has zero size.
occurencies:
- Spoiler: show
- root@emc2:/var/log/domoticz# grep -i heart /var/log/domoticz/domoticz.log
2022-06-22 02:13:26.583 Error: GoodWe GW2500-NS: Call to function 'onHeartbeat' failed, exception details:
2022-06-23 03:36:58.171 Error: GoodWe GW2500-NS: Call to function 'onHeartbeat' failed, exception details:
2022-06-23 05:10:56.164 Error: GoodWe GW2500-NS: Call to function 'onHeartbeat' failed, exception details:
2022-06-23 07:31:23.176 Error: GoodWe GW2500-NS: Call to function 'onHeartbeat' failed, exception details:
2022-06-23 08:29:56.156 Error: GoodWe GW2500-NS: Call to function 'onHeartbeat' failed, exception details:
2022-06-23 09:29:41.079 Error: GoodWe GW2500-NS: Call to function 'onHeartbeat' failed, exception details:
2022-06-23 14:11:25.156 Error: GoodWe GW2500-NS: Call to function 'onHeartbeat' failed, exception details:
2022-06-23 18:55:13.159 Error: GoodWe GW2500-NS: Call to function 'onHeartbeat' failed, exception details:
2022-06-23 21:13:26.228 Error: GoodWe GW2500-NS: Call to function 'onHeartbeat' failed, exception details:
full error message from the most recent crash:
- Spoiler: show
- 2022-06-23 21:13:26.228 Error: GoodWe GW2500-NS: Call to function 'onHeartbeat' failed, exception details:
2022-06-23 21:13:26.228 Error: Domoticz(pid:2116870, tid:2116895('GoodWe GW2500-N')) received fatal signal 11 (Segmentation fault)
2022-06-23 21:13:26.228 Error: siginfo address=0x7700204d06, address=0x7ff2e3651fe1
2022-06-23 21:13:26.234 Error: Failed to start gdb, will use backtrace() for printing stack frame
2022-06-23 21:13:26.236 Error: #0 /home/domovoi/domoticz/domoticz : + 0x3f1c33 [0x561af3beec33]
2022-06-23 21:13:26.236 Error: #1 /home/domovoi/domoticz/domoticz : signal_handler(int, siginfo_t*, void*) + 0x29d [0x561af3bef71d]
2022-06-23 21:13:26.236 Error: #2 /lib/x86_64-linux-gnu/libpthread.so.0 : + 0x14140 [0x7ff2e3652140]
2022-06-23 21:13:26.236 Error: #3 /lib/x86_64-linux-gnu/libpthread.so.0 : raise + 0x141 [0x7ff2e3651fe1]
2022-06-23 21:13:26.236 Error: #4 /lib/x86_64-linux-gnu/libpthread.so.0 : + 0x14140 [0x7ff2e3652140]
2022-06-23 21:13:26.236 Error: #5 /usr/lib/x86_64-linux-gnu/libpython3.9.so : + 0x1249d8 [0x7ff2e24899d8]
2022-06-23 21:13:26.236 Error: #6 /usr/lib/x86_64-linux-gnu/libpython3.9.so : _PyObject_MakeTpCall + 0x90 [0x7ff2e242ba50]
2022-06-23 21:13:26.236 Error: #7 /usr/lib/x86_64-linux-gnu/libpython3.9.so : _PyEval_EvalFrameDefault + 0x7248 [0x7ff2e23dbf08]
2022-06-23 21:13:26.236 Error: #8 /usr/lib/x86_64-linux-gnu/libpython3.9.so : + 0x1a4ddc [0x7ff2e2509ddc]
2022-06-23 21:13:26.236 Error: #9 /usr/lib/x86_64-linux-gnu/libpython3.9.so : _PyFunction_Vectorcall + 0x9d [0x7ff2e2426c7d]
2022-06-23 21:13:26.236 Error: #10 /usr/lib/x86_64-linux-gnu/libpython3.9.so : + 0xc8724 [0x7ff2e242d724]
2022-06-23 21:13:26.236 Error: #11 /usr/lib/x86_64-linux-gnu/libpython3.9.so : PyObject_CallFunctionObjArgs + 0x9f [0x7ff2e242dbaf]
2022-06-23 21:13:26.236 Error: #12 /home/domovoi/domoticz/domoticz : Plugins::CPlugin::LogPythonException() + 0x1bc [0x561af408c19c]
2022-06-23 21:13:26.236 Error: #13 /home/domovoi/domoticz/domoticz : Plugins::CPlugin::Callback(_object*, std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> > const&, _object*) + 0x1b6 [0x561af408e806]
2022-06-23 21:13:26.236 Error: #14 /home/domovoi/domoticz/domoticz : Plugins::CPluginMessageBase::Process(Plugins::CPlugin*) + 0x2b [0x561a
f3b6d32b]
2022-06-23 21:13:26.236 Error: #15 /home/domovoi/domoticz/domoticz : Plugins::CPlugin::Do_Work() + 0x490 [0x561af40962f0]
2022-06-23 21:13:26.236 Error: #16 /home/domovoi/domoticz/domoticz : + 0xb546d0 [0x561af43516d0]
2022-06-23 21:13:26.236 Error: #17 /lib/x86_64-linux-gnu/libpthread.so.0 : + 0x8ea7 [0x7ff2e3646ea7]
2022-06-23 21:13:26.236 Error: #18 /lib/x86_64-linux-gnu/libc.so.6 : clone + 0x3f [0x7ff2e3412def]
Version: Domoticz 2022.1 (build 14231), OpenZWave 1.6.1965
Platform: Debian 11 (uname -a: "Linux emc2 5.10.0-10-amd64 #1 SMP Debian 5.10.84-1 (2021-12-08) x86_64 GNU/Linux")
Plugin: domoticz-GoodWeSEMS (
https://github.com/JanJaapKo/domoticz-GoodWeSEMS.git)
I've updated the plugin to the latest version with "git pull", restarted domoticz - and got another crash in about an hour.
What can it be? How can this be fixed?
Darsh
Re: Python Plugin: GoodWe solar inverter via SEMS API
Posted: Friday 24 June 2022 16:03
by JanJaap
Segmentation faults are quite nasty as they provide very little usefull info..... Normally this means, if I understand correctly, that wha tthe plugin does in Python leads to a problem in de C core of Domoticz. Di dyou update anything before this happened?
I'm running bullseye/debian 11 as well with no issue, however on latest development version though.
Interesting is the fact that it runs ok for an hour and then starts crashing. Could be that has something to do with illegal content returned from Web API but not sure.
Maybe @waltervl has an idea how this could be trouble shooted?
Re: Python Plugin: GoodWe solar inverter via SEMS API
Posted: Friday 24 June 2022 16:18
by Darsh
I didn't do or update anything, it just started crashing out of a blue. Here's the full list of crashes at the moment:
- Spoiler: show
- root@emc2:~# grep onHeartbeat /var/log/domoticz/domoticz.log
2022-06-22 02:13:26.583 Error: GoodWe GW2500-NS: Call to function 'onHeartbeat' failed, exception details:
2022-06-23 03:36:58.171 Error: GoodWe GW2500-NS: Call to function 'onHeartbeat' failed, exception details:
2022-06-23 05:10:56.164 Error: GoodWe GW2500-NS: Call to function 'onHeartbeat' failed, exception details:
2022-06-23 07:31:23.176 Error: GoodWe GW2500-NS: Call to function 'onHeartbeat' failed, exception details:
2022-06-23 08:29:56.156 Error: GoodWe GW2500-NS: Call to function 'onHeartbeat' failed, exception details:
2022-06-23 09:29:41.079 Error: GoodWe GW2500-NS: Call to function 'onHeartbeat' failed, exception details:
2022-06-23 14:11:25.156 Error: GoodWe GW2500-NS: Call to function 'onHeartbeat' failed, exception details:
2022-06-23 18:55:13.159 Error: GoodWe GW2500-NS: Call to function 'onHeartbeat' failed, exception details:
2022-06-23 21:13:26.228 Error: GoodWe GW2500-NS: Call to function 'onHeartbeat' failed, exception details:
2022-06-24 03:25:03.236 Error: GoodWe GW2500-NS: Call to function 'onHeartbeat' failed, exception details:
2022-06-24 05:59:03.161 Error: GoodWe GW2500-NS: Call to function 'onHeartbeat' failed, exception details:
2022-06-24 08:09:15.857 Error: GoodWe GW2500-NS: Call to function 'onHeartbeat' failed, exception details:
2022-06-24 09:35:04.396 Error: GoodWe GW2500-NS: Call to function 'onHeartbeat' failed, exception details:
2022-06-24 13:15:23.151 Error: GoodWe GW2500-NS: Call to function 'onHeartbeat' failed, exception details:
A watchdog script is checking at 17 minutes past each hour if the Domoticz is running, and starting it if it doesn't.
What is this "onHeartbeat" function doing? Can it be that GoodWe did a slight change in their web portal that is causing the crash, as the plugin is waiting for something and then gets an unexpected result?
Darsh
Re: Python Plugin: GoodWe solar inverter via SEMS API
Posted: Friday 24 June 2022 16:53
by JanJaap
All right the heartbeat function is a periodic callback from the Domoticz plugin framework (see
Developing a Python plugin for more info). I use that to poll the SEMS API. You configure the interval in the plugin (default 5 minutes) so it looks like most attempts are OK as the error seems to occur about max 10 times per day. However, it is annoying. I'll see if I can find some places to add try/catch clauses to handle this more elegantly.
Re: Python Plugin: GoodWe solar inverter via SEMS API
Posted: Sunday 26 June 2022 15:07
by Darsh
At the end it started crashing almost every hour:
- Spoiler: show
- 2022-06-25 07:07:13.179 Error: GoodWe GW2500-NS: Call to function 'onHeartbeat' failed, exception details:
2022-06-25 07:50:13.149 Error: GoodWe GW2500-NS: Call to function 'onHeartbeat' failed, exception details:
2022-06-25 09:01:04.148 Error: GoodWe GW2500-NS: Call to function 'onHeartbeat' failed, exception details:
2022-06-25 11:02:13.151 Error: GoodWe GW2500-NS: Call to function 'onHeartbeat' failed, exception details:
So I've removed the devices and respective hardware entry, removed and re-installed the plugin, and then re-created the devices. Looks like this fixed the problem. So far 20 hours of run with no crashes at all.
UPD: this hasn't fixed the problem: yet another crash an hour ago:
2022-06-27 10:20:25.194 Error: GoodWe GW2500-NS: Call to function 'onHeartbeat' failed, exception details:
Darsh
Re: Python Plugin: GoodWe solar inverter via SEMS API
Posted: Monday 18 July 2022 21:11
by JanJaap
Well I cannot reproduce the error. And we would need the full error description, not just the line you're pasting here. I'd give it a try in the domoticz github, because it is a bit out of my league.......
Re: Python Plugin: GoodWe solar inverter via SEMS API
Posted: Tuesday 26 July 2022 16:22
by Jeweettoch13
Hi Jeweettoch,
I'm guessing it ain't all that hard to make, guessing data is there. In both of the plugins.
I'm no coding expert unfortunately to get all 3 phases to readout. Already surprised that i got it all to work, that's all.
When i'm comparing it to the UDP readout you'll get about 3 times more data coming trough.
Re: Python Plugin: GoodWe solar inverter via SEMS API
Posted: Monday 15 August 2022 9:25
by jslegers
I see a lot of time outs for the eu server. Are other people also getting this? I have this now for a couple of days.
Re: Python Plugin: GoodWe solar inverter via SEMS API
Posted: Monday 15 August 2022 9:36
by waltervl
Yes, I have the same, a lot of timeouts. This weekend I downscaled the refresh rate from 5 to 10 minutes. It seems less now. Today only 1x.