home-assistant / core

:house_with_garden: Open source home automation that puts local control and privacy first.
https://www.home-assistant.io
Apache License 2.0
72.98k stars 30.53k forks source link

adding goodwe to homeassistant breaks SEMS portal #101817

Open rflx18 opened 1 year ago

rflx18 commented 1 year ago

The problem

hi, once i add the goodwe inverter do the homeassistant it breaks the SEMS portal, it stops updating SEMS portal, i tried to update interval in only 2 minutes but even like this it breaks, as soon as i add the homeassistant integration SEMS stop working. any workaround or im the only one facing this problem?

What version of Home Assistant Core has the issue?

2023.10.1

What was the last working version of Home Assistant Core?

No response

What type of installation are you running?

Home Assistant Container

Integration causing the issue

Goodwe

Link to integration documentation on our website

No response

Diagnostics information

if i remove Goodwe integration, SEMS start working.

Example YAML snippet

No response

Anything in the logs that might be useful for us?

No response

Additional information

No response

RalfWinter commented 5 months ago

What am I doing wrong?

As @garv3 said, you have the official version installed, you need to uninstall and install the custom version from HACS. Then it looks like this: Screenshot_20240530_083809_Home Assistant

mletenay commented 5 months ago

@Dwayneohara @5erv3 There are no differences in provided sensors between HA and HACS. They are identical in this aspect. And the https://github.com/home-assistant/core/issues/105061 is still open, since it is not integration problem. Somehow some of the larger inverters do not provide those values (or are not configured to do so ?).

roboco6 commented 5 months ago

Thank you @RalfWinter and @garv3 for your help! I managed to intall the experimental version and the magic 127s polling interval seems (not sems...haha) to work for me!

fcaputo commented 4 months ago

I'm with a GW29.9K-ET and I have the same issue. I wonder, why this should have something todo with the polling interval. I sniffed the traffic from PVMaster and it's polling every 3 seconds without breaking anything. Would it help If I upload the pcapng files?

fcaputo commented 4 months ago

I can't find the optional settings. I only have the system options:

Bildschirmfoto 2024-06-20 um 18 09 51
RalfWinter commented 4 months ago

You have the official Goodwe integration installed which has no configuration option, you need the custom Integration from HACS, then you can configure the polling interval: Screenshot_20240620_184734_Home Assistant~2

fcaputo commented 4 months ago

Thanks. Unfortunately i can't find any tutorial how to install via HACS.

RalfWinter commented 4 months ago

You need to uninstall the official version first and then go into HACS and add the experimental version.

AlexStasse commented 2 months ago

Another data point here: GW8500-MS-30 Inverter (MS G3 series). Default integration broke SEMS. Experimental integration with 1 minute polling broke SEMS. Experimental integration with 10 minute polling doesn't break SEMS. The magic 127 second polling time also works, I could check a shorter time but good enough for me.

oddife commented 4 weeks ago

Another Inverter here: GW8000-SDT-20 Inverter Default integration broke SEMS. Experimental integration with 1 minute polling broke SEMS. The magic 127 second polling time also does not work.

kineticscreen commented 4 weeks ago

Another Inverter here: GW8000-SDT-20 ... The magic 127 second polling time also does not work.

Have found with the GW5000-SDT-20 and GW8KAU-DT that an update frequency of 151 seconds works for both. It does reduce the update frequency of SEMS to between 3 - 6 minutes

Unfortunately for all the sensors this integration produces (46 for each inverter) I don't get any consumption data from either the grid nor the PV, and can't t connect directly to the (3 phase) Homekit HK3000

oddife commented 4 weeks ago

Another Inverter here: GW8000-SDT-20 ... The magic 127 second polling time also does not work.

Have found with the GW5000-SDT-20 and GW8KAU-DT that an update frequency of 151 seconds works for both. It does reduce the update frequency of SEMS to between 3 - 6 minutes

Unfortunately for all the sensors this integration produces (46 for each inverter) I don't get any consumption data from either the grid nor the PV, and can't t connect directly to the (3 phase) Homekit HK3000

Will try this today and report

oddife commented 3 weeks ago

Another Inverter here: GW8000-SDT-20 ... The magic 127 second polling time also does not work.

Have found with the GW5000-SDT-20 and GW8KAU-DT that an update frequency of 151 seconds works for both. It does reduce the update frequency of SEMS to between 3 - 6 minutes Unfortunately for all the sensors this integration produces (46 for each inverter) I don't get any consumption data from either the grid nor the PV, and can't t connect directly to the (3 phase) Homekit HK3000

Will try this today and report

can confirm this works on my inverter

kineticscreen commented 3 weeks ago

can confirm this works on my inverter

I've got an even better solution for you that I've been testing today:

If you're also running the SEMS Cloud integration, turn off automatic polling on this API Integration, and manually trigger it via an automation every time the SEMS sensors update. By polling straight after SEMS has updated, you necessarily avoid a clash, and thus can get the maximum update rate possible.

Here's the most basic version of the automation:

alias: Manual Trigger GoodWe API Update
description: "Locally polls the GoodWe inverter immediately after SEMS does"
trigger:
  - platform: state
    entity_id:
      - sensor.[inverter sensor provided by GoodWe Cloud SEMS integration]
condition: []
action:
  - delay:
      hours: 0
      minutes: 0
      seconds: 1
      milliseconds: 0
  - action: homeassistant.update_entity
    metadata: {}
    data:
      entity_id:
        - sensor.[inverter sensor provided by the local API integration]
mode: restart
oddife commented 3 weeks ago

can confirm this works on my inverter

I've got an even better solution for you that I've been testing today:

If you're also running the SEMS Cloud integration, turn off automatic polling on this API Integration, and manually trigger it via an automation every time the SEMS sensors update. By polling straight after SEMS has updated, you necessarily avoid a clash, and thus can get the maximum update rate possible.

Here's the most basic version of the automation:

alias: Manual Trigger GoodWe API Update
description: "Locally polls the GoodWe inverter immediately after SEMS does"
trigger:
  - platform: state
    entity_id:
      - sensor.[inverter sensor provided by GoodWe Cloud SEMS integration]
condition: []
action:
  - delay:
      hours: 0
      minutes: 0
      seconds: 1
      milliseconds: 0
  - action: homeassistant.update_entity
    metadata: {}
    data:
      entity_id:
        - sensor.[inverter sensor provided by the local API integration]
mode: restart

Can you please clarify this (- sensor.[inverter sensor provided by the local API integration]) I'm confused.

kineticscreen commented 3 weeks ago

For this I'm assuming you have both of these integrations set up and provided data about your inverter

image

So the idea is you trigger the native Goodwe integration to update when the SEMS API one does. To do so, you just force home assistant to update any sensor that comes from that integration - for example your current solar production - that's what I'm trying to indicate with the square brackets in that entity. i.e. sensor.active_power Any sensor will do, because whatever it is it will force the integration to poll the inverter.

oddife commented 3 weeks ago

For this I'm assuming you have both of these integrations set up and provided data about your inverter image

So the idea is you trigger the native Goodwe integration to update when the SEMS API one does. To do so, you just force home assistant to update any sensor that comes from that integration - for example your current solar production - that's what I'm trying to indicate with the square brackets in that entity. i.e. sensor.active_power Any sensor will do, because whatever it is it will force the integration to poll the inverter.

Copy got it, inverter sends data to semsportal every 5 minutes so this will poll data after that.

LAPDragnet commented 3 weeks ago

How often does the SEMS Cloud integration typically update its values?

oddife commented 3 weeks ago

How often does the SEMS Cloud integration typically update its values?

The update points on the SEMS portal graphs is every 5 minutes.

kineticscreen commented 3 weeks ago

Ah OK, I'm dealing with 2 inverters, and they both update SEMS every 2 minutes, but 1 minute apart.

oddife commented 3 weeks ago

Ah OK, I'm dealing with 2 inverters, and they both update SEMS every 2 minutes, but 1 minute apart.

Ah that's reason you can use the previous script to update once SEMS API does, unfortunately for me it will be every five minutes which is bad.

LAPDragnet commented 3 weeks ago

Ah OK, I'm dealing with 2 inverters, and they both update SEMS every 2 minutes, but 1 minute apart.

Ah that's reason you an use the previous script to update one SEMS API does, unfortunately for me it will be very five minutes which is bad.

Same here, I am spoiled now with only 15-20s between updates ;-)

(I also have a SolarEdge inverter which works fine with both local and cloud integration at the same time. The local integration updates about every 25s.)

kineticscreen commented 3 weeks ago

Ah OK, I'm dealing with 2 inverters, and they both update SEMS every 2 minutes, but 1 minute apart.

Ah that's reason you can use the previous script to update once SEMS API does, unfortunately for me it will be every five minutes which is bad.

You could still use a variation of it - get the automation to update when SEMS does, and then get it to wait and loop to update say 3 times over 4 minutes, and then let the automation get triggered again by SEMS to restart.

That way you can still poll more often than every 5 minutes, but still have it wait to start the sequence by the SEMS triggering, rather than just hoping that your frequency of updates doesn't clash.

kineticscreen commented 3 weeks ago

The update points on the SEMS portal graphs is every 5 minutes.

Oh I think you'll find that it actually is updating more frequently than that - they just have the graph in the UI limited to 5 minute increments.

Set up the SEMS integration in HA and you'll see exactly how frequently the sensors update.

oddife commented 3 weeks ago

The update points on the SEMS portal graphs is every 5 minutes.

Oh I think you'll find that it actually is updating more frequently than that - they just have the graph in the UI limited to 5 minute increments.

Set up the SEMS integration in HA and you'll see exactly how frequently the sensors update.

Ahh will try that asap, since I'm new to home assistant that script goes in automations.yaml right.