Dongle Playing Up

8 comments started 2022-09-21 last 2022-09-23
GivEnergy ProductsHybrid
#1 Stevef1964

My dongle seems to have thrown a wobbly!!

This afternoon I started losing connection to it locally, then I couldn't connect to it even when I set the local IP address manually.
I logged out of the App and then back in and it would then connect, but would fail soon after.
I then noticed it is now connecting locally but is now refreshing every 2, 3, 4, 5. 6 and 7 seconds, then sometimes it reverts to over a minute, then back again.
Ive reset the dongle but nothing has changed.
I've even set the App to "Away" but I'm getting the same results.

My IP address is correct as Ive checked it on my router.

Any ideas on what this could be?

Edit: It now seems to have settled down and is behaving itself. What on earth occured?

T
#2 ToothyChris

I was also struggling to connect to my dongles directly, in the app, but I thought it was my local WiFi having a issue. Perhaps it was something else.....

#3 Stevef1964

Mine is playing up again now. Seems to be missing the count from 1 to 11, sometimes now only going to 10 and then to a count in minutes, then dropping back. All happening whilst still showing as connected to "Home".

Could it be out of sync?

Waiting to reset my router, just in case that is the culprit - missus doing pilates class!!!

Can someone from Giv help out here?

T
#4 Tim

Stevef1964 I'm presuming the count is the seconds since last local Givtcp call from the app. The inverter will be busy making calls on its own Modbus (although these should be for milliseconds each cycle) to update registers and then posting the data to the Givenergy cloud every 5 minutes. Collisions are avoided in modern wifi networks but since there's a Modbus over TCP/IP interface in the mix it could be affected by another device calling Givtcp. Maybe the app is just giving the inverter some breathing space if the call keeps getting back garbage.

#5 Stevef1964

Tim Yes Tim count is in seconds.

Do I read it correctly that:

1) My inverter spaeaks to theGiv cloud to update it every few millseconds
2) A clash could be being caused by another device calling Givtcp? If so where can this clash occur, at the cloud end or my local end? Could it be another completely separate piece of kit I have locally, nothing to do with Giv Energy?
3) When my inverter speaks to the Giv cloud does it do a "handshake" (my inverter "hi, it's me, is that you?" Giv cloud, "Yes it's me") If it doesn't get the handshake it won't send the info and so the inverter is waiting for a time.

But how does this explain my inverter not giving me the updates locally via my dongle? Surely the local data output should not be affected as the data is sent at a separate interval to the Giv cloud?

Where does the dongle get its sync timing from?

T
#6 Tim

Stevef1964 1) My inverter spaeaks to theGiv cloud to update it every few millseconds

Nope. Your app makes a local (wifi) call to the inverter using Givtcp (or something very similar). If it can't speak to the inverter over wifi, it'll fall back to "Away" where it pulls Cloud data every five minutes or so.

Stevef1964 2) A clash could be being caused by another device calling Givtcp? If so where can this clash occur, at the cloud end or my local end? Could it be another completely separate piece of kit I have locally, nothing to do with Giv Energy?

The clash, if it did occur would be at the inverter. The clash could be cloud calls and app calls being made at the same time or the app and your Home Assistant/RPi/whatever making calls before a previous one was completed. I don't know if the cloud actually calls for data (probably not) or, more likely, the inverter has an internal countdown which posts data every 5 minutes. Nevertheless, it's the inverter pushing data through the dongle (answering one call, or doing a routine post) while receiving an app call for update that would be the clash.

Stevef1964 3) When my inverter speaks to the Giv cloud does it do a "handshake" (my inverter "hi, it's me, is that you?" Giv cloud, "Yes it's me") If it doesn't get the handshake it won't send the info and so the inverter is waiting for a time.

I don't know but probably not. I presume that the Givenergy cloud is a Time Series Database which is scaled to accept thousands, or tens of thousands of data point posts every second. That means that when your inverter sends out it's data to the cloud, it just gets put in a queue until ingested by the database, probably within a few milliseconds of it being received.

Stevef1964 But how does this explain my inverter not giving me the updates locally via my dongle? Surely the local data output should not be affected as the data is sent at a separate interval to the Giv cloud?

The TCP bit of TCP/IP keeps track of packets going out and assembles them into the correct sequence when they reach their destination. The IP bit finds a route to the destination and different packets can be sent via different routes. If the route is unreliable or slow, it can take a while for the whole message to be sent and assembled at the destination. If another call is made before the first is completed, it won't interfere with the traffic already in hand but if the inverter hasn't completed dumping registers into TCP packets, it can bork the original call and both have to be started from scratch. For this reason, if there was only one device sending Givtcp calls to the inverter over a reliable network, and the inverter Modbus was working well, you could potentially get a 5 second refresh of data. However, anything not quite right on wifi or home router or internet could slow things down.

Stevef1964 Where does the dongle get its sync timing from?

If you check the timestamp on your inverter data, you should see it's mostly every five minutes, but sometimes, it can be a bit longer (few seconds to couple of minutes). Therefore my assumption is that the inverter has an internal 5 minute countdown and the timestamp is made by the database when the data is ingested. I doubt that the internal countdown is reset by the database when ingested as that would be unnecessary additional traffic that might get delayed.

#7 Stevef1964

Tim Thanks for the info Tim.

Reading through your post I get the feeling my local wi-fi could be the culprit as if everything you have said is correct then the entire communications for the App, data reporting to the cloud and updates relies on it.

Never had a problem with it before, but I'll do some checking.

Thanks again

B
#8 Brookydave

I had a similar issue. My Hybrid is located in a remote outbuilding. My conclusions were that the inverter itself can screen the signal dependant on wifi position, and that a raspberry pi in Access Point mode is very flakey. I bought a TP Link TL-WA850RE(UK) off ebay for 99p (it may be slow, but who cares) , and connected it via RJ45 to the router and positioned it slightly below and behind the dongle with clear line of sight between the two and it has worked faultlessly for 3 months.
Good luck!