By-pass "rate limited" state in the official Kasa app

I have an Amazon Fire HD (bought half price in a sale) that I’m using as dashboard via the excellent “Micro Web Server” and “Dashboard Controller” apps.

To prolong battery life I wanted to detect battery level below 20% and switch on the charger; and then detect battery level above 75% to switch it off again.

I had a spare HS100 power switch so I brought it into service.

At apparently random intervals the HS100 would appear in Homey with a red triangle and a “Rate limited” error.

Initially I thought that might be because my flow had an ‘And’ condition set so that it would switch the HS100 on when battery level was below 20% And the HS100 was not already on. I figured the flow might make an unnecessary status request every time the battery status was queried (set at 15 minute intervals). However, the problem persisted without the ‘And’. It even happened overnight when my phone was switched off so the only device making requests was Homey.

Experimentation suggested the issue was in the Homey Kasa app. I could still operate the HS100 through the Kasa phone app and Alexa even though Homey was rate limited. Restarting the Homey app immediately lifted the block.

To get around the problem I initially added a flow that restarted the Kasa app every few hours which worked for a few days. Not a definitive test but it looked like a fix, but not bullet proof.

It then occurred to me there was a better way.

I already had the Kasa skill in Alexa and the Alexa app installed in Homey. So I added the HS100 from the Alexa app and used it instead of the Kasa one. I’ve never had a problem with the Kasa skill so I figured it would be reliable and so it seems.

Obviously it would be good if the Kasa app could be fixed but I’ve added this note in case it helps someone else facing the same issue.

Andy

I’m getting this as well, if you repair the device that has this it works straight away, but then does it after after 2 or 3 on/off’s which does appear to be the homey app rather the the kasa side of it.

Very annoying, much like all the zwave issues with the new homey pro.

@ all, please report to the app developer, otherwise this (long lasting bug) never gets addressed.
You’ll find the correct support links at the homey.app store app page.

Your right, and I’ve done so - this is an Athom app, so hopefully they fix it.

1 Like

I’m new to the Homey world! I have the same issue with Kasa and this post may help. Thanks for posting.

They’re working on it, see this thread about the rate limit ‘bug’:

I just had a reply from TP-Link today, it pretty much states the following;

“Are you still encountering this problem now? Because from our side, the call does not reach this limit. We can consider temporarily continuing to increase TPS for verification issues”

So we’ll raise it temporarily to see if that fixes the issues, if not, it’s back to the drawing board :saluting_face:

In my original post I said I thought the issue was with the App rather than the interface to TP-Link because restarting the app made the problem go away (until the next time). I didn’t do a long test but writing a flow to restart the app each night stopped the problem for the duration of the test.

Do we have access to the source code for the app? That would allow us to eliminate/confirm it as the source of the problem.

Andy

The application avoids hitting rate limits immediately after restarting because it initiates with fewer calls. Over time, as it continues to run, the frequency of calls gradually increases.

Regrettably, we cannot disclose the code as portions of it are subject to a non-disclosure agreement (NDA).