I have a regular honeywell configuration that works for about a day or two
climate:
platform: honeywell
username: xxx
password: xxx
region: us
Then the component starts throwing error “somecomfort.client.APIRateLimited: You are being rate-limited. Try waiting a bit.” every 2 minutes. Since then it doesn’t work any more. I can’t set or get current temperature or do anything else. It looks like I am hitting some allowed max rate. When I restart HASS, everything comes back to normal until the next day.
Is there a way to lower polling frequency for the climate component so it acts below allowed API calling rate?
Here is the full stack trace of the exception:
17-01-23 22:22:24 homeassistant.core: Error doing job: Task exception was never retrieved
Traceback (most recent call last):
File “C:\Users\Dmitry\AppData\Local\Programs\Python\Python35\lib\asyncio\tasks.py”, line 241, in _step
result = coro.throw(exc)
File “C:\Users\Dmitry\AppData\Local\Programs\Python\Python35\lib\site-packages\homeassistant\helpers\entity_component.py”, line 387, in _update_entity_states
yield from update_coro
File “C:\Users\Dmitry\AppData\Local\Programs\Python\Python35\lib\site-packages\homeassistant\helpers\entity.py”, line 216, in async_update_ha_state
yield from self.hass.loop.run_in_executor(None, self.update)
File “C:\Users\Dmitry\AppData\Local\Programs\Python\Python35\lib\asyncio\futures.py”, line 361, in iter
yield self # This tells Task to wait for completion.
File “C:\Users\Dmitry\AppData\Local\Programs\Python\Python35\lib\asyncio\tasks.py”, line 296, in _wakeup
future.result()
File “C:\Users\Dmitry\AppData\Local\Programs\Python\Python35\lib\asyncio\futures.py”, line 274, in result
raise self._exception
File “C:\Users\Dmitry\AppData\Local\Programs\Python\Python35\lib\concurrent\futures\thread.py”, line 55, in run
result = self.fn(*self.args, **self.kwargs)
File “C:\Users\Dmitry\AppData\Local\Programs\Python\Python35\lib\site-packages\homeassistant\components\climate\honeywell.py”, line 279, in update
self._device.refresh()
File “C:\Users\Dmitry\AppData\Local\Programs\Python\Python35\lib\site-packages\somecomfort\client.py”, line 87, in refresh
data = self._client._get_thermostat_data(self.deviceid)
File “C:\Users\Dmitry\AppData\Local\Programs\Python\Python35\lib\site-packages\somecomfort\client.py”, line 449, in _get_thermostat_data
return self._get_json(url)
File “C:\Users\Dmitry\AppData\Local\Programs\Python\Python35\lib\site-packages\somecomfort\client.py”, line 425, in _get_json
return self._request_json(‘get’, *args, **kwargs)
File “C:\Users\Dmitry\AppData\Local\Programs\Python\Python35\lib\site-packages\somecomfort\client.py”, line 417, in _request_json
raise APIRateLimited()
somecomfort.client.APIRateLimited: You are being rate-limited. Try waiting a bit.
I am using the latest version 0.4.1 of somecomfort requirement. Has anyone had this issue? I would appreciate any help on that matter.