I read allot of discussions but there seems to be no one that has my kind of problem or there is no clear answer to me what to do. so here it is:
I use the Goodwe inverter intergration. All seemed to be working after installation but the next day the sensor was not available. (SEMS is still working fine) I started to look at it a few days trying things. What i found out was that the service is back after connecting with the solarGo app. I dont even have to login but only the attempt will do the trick.
i read about yaml changes but there is no code for this. The codes i found to put there didnt do anything. Most are the because of the polling, i dont think thats my problem anyway.
The question now is what do i have to do that it is working in HA without everytime having to activate it.
Hi, I can confirm the problem. I sniffed the packet SolarGO is sending, which causes the data to re-appear in Home-Assistant.
It seems as if running echo "WIFIKIT-214028-READ"|nc -b -u -w1 255.255.255.255 48899 will resolve the issue, so I am adding a shell-command to HA:
and add an automation to trigger this when the sensor value becomes unavaibable:
alias: Reconnect Goodwe on lost connection
description: ""
triggers:
- entity_id: sensor.house_consumption
to: unavailable
trigger: state
- entity_id: sensor.house_consumption
to: unknown
trigger: state
conditions: []
actions:
- action: shell_command.trigger_goodwe
metadata: {}
data: {}
mode: single
I just created the automation, so it is not tested yet
Did this work? I have the same issue. GoodWe disconnects daily from HASS and if I login to the SolarGo app it reconnects. Just wondering before I deploy your fix
I have the same issue. Manually executing your shell command on the raspi seems to wake the inverter up.
I want to try to execute the command via automation.
I know how to set up the automation. But I need help to set up the shell command. Where do you enter this in HA?
I have the same problem and I can confirm, that triggering the command from shell: echo “WIFIKIT-214028-READ”|nc -b -u -w1 255.255.255.255 48899 re-enables the contact with the Goodwe inverter.
Sorry for the delay!
Well, I used a “brute force” solution…
Below, how I arrived (and which assumptions I made) to this solution and how I implemented it:
As soon as you open the GoodWe app on your smartphone, the integration starts working and keeps working for almost a day, then stops;
I sniffed the packets the app sends and discovered that it sends a string (WIFIKIT-214028-READ) to the network.
Searching the Internet I found that other user (sorry, I don’t remember who to give him/her credit) had arrived to the same conclusion the same way I did, so the string was the same no matter what.
The solution, thus, would be injecting the same string in my network, periodically.
I assumed that one hour would be a good interval.
Then I:
a. Put the following line on my CONFIGURATION.YAML, which would propagate the string to my network:
alias: Goodwe activation
description: replace with your description
triggers:
- entity_id:
- sensor.battery_state_of_charge_2
from: null
to: unavailable
trigger: state
conditions: []
actions:
- data: {}
action: shell_command.trigger_goodwe
mode: single
This is the automation using the DC battery state but it could be any sensor available on the inverter
I am very much not in the programming/github business so if anybody knows how to commit this issue to the developers of the integration, please do so. It appears to be to something that needs to be a part of the default integration.