naofireblade / homebridge-weather-plus

A comprehensive weather plugin for homebridge.
MIT License
313 stars 63 forks source link

exceeding OpenWeather account limit of 1000 calls per day. #135

Open loudgazelle opened 4 years ago

loudgazelle commented 4 years ago

Since configuring homebridge-weather-plus to use the OpenWeather API I've been receiving daily emails regarding the API usage from my key.

I had homebridge-weather-plus configured with "interval": 6, until earlier this morning, but have since changed that to 15. Even so, with an interval of 6 I should only be calling their API 240 times/day - so I'm not sure what would cause this many calls.

        {
            "units": "us",
            "interval": 15,
            "stations": [
                {
                    "service": "openweathermap",
                    "key": "<removed>",
                    "locationGeo": [
                        <removed>,
                        <removed>
                    ],
                    "locationCity": "Kansas City, US",
                    "language": "en",
                    "compatibility": "both",
                    "forecast": [
                        "Today"
                    ],
                    "conditionCategory": "simple",
                    "now": true,
                    "extraHumidity": false,
                    "tresholdCloudCover": 80
                }
            ],
            "platform": "WeatherPlus"
        },

Dear Customer!

Thank you for choosing OpenWeather!

We have noticed that your account is currently using One Call API quite intensively and exceed the account limit of 1000 calls per day.

We would be happy to discuss migration to appropriate subscription for you.

What are your concrete requirements? How many calls are you planning to issue? What kind of data is needed?

It would be great to learn more! 

We are looking forward to cooperating with you!

Best Regards, OpenWeather team

loudgazelle commented 4 years ago

I'm definitely blocked, because the error message I'm getting has changed to the below:

[5/28/2020, 2:47:05 PM] Please add [Family Room TV] manually in Home app. Setup Code: 216-96-142
[5/28/2020, 2:47:05 PM] [WeatherPlus] Error retrieving weather report
[5/28/2020, 2:47:05 PM] [WeatherPlus] undefined
[5/28/2020, 2:47:05 PM] [WeatherPlus] {
  cod: 429,
  message: 'Your account is temporary blocked due to exceeding of requests limitation of your subscription type. Please choose the proper subscription http://openweathermap.org/price'
}

Frustratingly, the web interface doesn't seem to know that I'm blocked because the Blocks Logs tab of my account page is blank. It says in the error that the block is temporary, but gives no indication when the block will be lifted.

In the meantime I've set the Update Interval to 2880 Minutes - 2 days - so the plugin doesn't continue to hit the API and prolong my block. Periodically I have been telling homebridge to restart so that it'll try the API again, with the hopes that will let me know whether my temporary block is lifted.

loudgazelle commented 4 years ago

The block still wasn't resolved as of ~10:25 Central today so I logged a support ticket via the OpenWeatherMap website, and about 30 min later I got a reply saying that the block had been manually lifted.

Hello, thank you for contacting us.

We sent you 3 warning messages about exceeding One Call API limit, after that the system has blocked you automatically. I have unblocked your key, but if you continue to exceed the system will block you again.

If you have any other questions, please don’t hesitate and contact us.

I had asked a few other questions in my ticket that they didn't address, so I replied:

Thanks for unblocking me.

I do have other questions -

is there a way for me to view how many calls I’m making? It should be far less than 1000/day, and if I were able to see the amount of calls I’m making I’d be better able to diagnose what’s going wrong.

You’re correct that I received 3 warning messages but the messages were unclear about the rate of calls that I was making, and over what period of time I had exceeded the rate limit - it only said I was making more than 1000 calls a day, but that wasn’t enough information for me to diagnose the problem so I assumed the messages were erroneous.

Is the automatic block automatically removed after a certain amount of time, and if so, how long is that?

Why doesn’t the website display the block under the “Block Logs” section of my account?

if they reply I'll post it here - I'm doing this because I think it might benefit someone else in the future.

side note- it might be useful for homebridge-weather-plus to count the amount of calls its making per day so that we can see that - there's currently nothing in the homebridge logs that would indicate how many calls its making.

cameronpcook commented 4 years ago

I had this same issue; I believe my threshold was set to 30 IIRC. I've since removed the integration but need to add it back in.

loudgazelle commented 4 years ago

OpenWeatherMap replied to my questions.

Why doesn’t the website display the block under the “Block Logs” section of my account?

You might not be seeing that you are blocked, because is a fairly new feature that has been added not long ago.

Is the automatic block automatically removed after a certain amount of time, and if so, how long is that?

The block will last until the user responds to our emails, the system sends warning emails before blocking him.

They also gave me API call counts for the three days that led me to being blocked - 2020.05.28: 4015 calls 2020.05.27: 8448 calls 2020.05.26: 5189 calls

During that time I had "interval": 10, configured in my config.json, which should've resulted in ~ 144 calls/day. Part of the reason for increased calls was that I was running two instances of homebridge on my machine - one using the old, pre-homebridge-config-ui-x method of starting, and one managed by homebridge-config-ui-x. However, that wouldn't explain why it was making ~25x to ~59x as many calls, but on at least one of those dates this plugin crashing homebridge did result in repeat API calls as homebridge tried to reload, but that should've only been occurring on 2020.05.27.

I asked them to share information on the number of calls I've made since being unblocked and will post that here if/when they provide that information.

paulsahner commented 4 years ago

I have this exact problem. It took less than two hours of running this plugin in Homebridge to receive the Usage Alert email from OWM. I tried changing the interval to 300 and it still took only two hours for the limit to be reached. I wonder if the interval variable isn't working, or is set to seconds instead of minutes? I've disabled the plugin for now, but would love to re-enable it if this issue is resolved.

rocketman768 commented 4 years ago

I wonder how many forecast days you guys have and if it does one call per forecast day per update?

takeo commented 3 years ago

I also have this problem with similar usage numbers as @loudgazelle. Is there any sort of debug mode to see what calls are actually being made in the logs or anything like that? I had mine set to every 15 minutes and only "Today" in the forecast.