muppet3000 / homeassistant-grott

Home Assistant Integration for Grott - MQTT
MIT License
65 stars 14 forks source link

Data becomes less frequent during day #38

Open kineci opened 9 months ago

kineci commented 9 months ago

I started using this integration because the Growatt Server Integration became unavailable after a few days of use. It's likely that Growatt noticed the frequent requests and blocked them. After setting up this integration, it worked fine for a day. However, now it starts perfectly every day but after a few hours, the data comes in less and less frequently, to the point where there's new data only every few hours or so. When I log in to the server.growatt.com website, it also shows that the forwarded data is incomplete. Screenshot (72) You can see how it's receiving data every 5 minutes like it should on day one. But on day 2 and 3, it works only up to ~11am. Is this Growatt blocking frequent requests again? I thought, this integration worked like: ShineX --> Grott Integration --> Growatt Servers So in theory, Growatt Servers shouldn't even notice, if I'm not mistaken. However, I'm new to Home Assistant and I'm not an expert when it comes to this. So It's possible I've messed up, but where and what?

Setup: Growatt mic 2000tl-x ShineWiFi-X

Home Assistant OS on Raspberry Pi 4 8GB: Home Assistant 2023.9.3 Supervisor 2023.09.2 Operating System 10.5 Frontend 20230911.0

Grott v1.1.0

muppet3000 commented 9 months ago

I'm experiencing this problem myself, I've heard that there are some weird maintenance issues happening on the Growatt servers and that's why their servers are all over the place.

My personal plan is as follows:

I'm hoping to experiment with grott server over the weekend, I'll report back here if I get it working in the first instance.

kineci commented 9 months ago

Today, I had no issues whatsoever. My father also told me he had problems with the Shinephone App aswell, so it might very well be a problem on their servers. Is it possible to make this run completely local? I'm a bit confused as I thought the data travelled like "datalogger --> grott integration --> growatt servers". So in theory, growatt server problems would have no effect to the data transmitted to home assistant whatsoever.

muppet3000 commented 9 months ago

Today, I had no issues whatsoever. My father also told me he had problems with the Shinephone App aswell, so it might very well be a problem on their servers. Is it possible to make this run completely local? I'm a bit confused as I thought the data travelled like "datalogger --> grott integration --> growatt servers". So in theory, growatt server problems would have no effect to the data transmitted to home assistant whatsoever.

The way that grott works is by being a 'man in the middle' it forwards the data to the Growatt servers but then uses the response to publish the data to MQTT, if the Growatt Servers are down then so is Grott - it's really weird and I don't fully understand why (I haven't looking in the code too much to be able to understand it). Grott server cuts out the servers altogether by acting as if it is the servers in China and you point grott at that instead.

I need to look at the code in more detail to understand how it currently works and whether or not some dynamic switching between the two is possible.