client quota exceeded

Hello Yeelight,

on of my ~ 10 lamps is today reporting “client quota exceeded” to each request.

Checked on firewall, there is only one incoming connection to lamp and one outgoing from lamp to somewhere in internet.

Incoming one is from my raspberry pi, from application where i see “client quota exceeded” response.
I see also all requests app sent there and last hours there is no traffic, except of one request per minute like {“id”:1266, “method”:“get_prop”, “params”:[“power”, “active_mode”, “ct”, “bright”, “nl_br”, “active_bright”]}

At least last 6 hours is nothing but this error returned.

While typing this, i wanted to check FW version. Opened yeelight android app, but realized it’s again asking for login (happens to me randomly each few months). Hence i logged in.
Lamp is on 1.5.9_0184.
I hit update, but it failed (could be because i have phone on other AP?).
But that (login or attempt to update) magically helped the lamp and now it’s responding for 10+ minutes already without any issues.

Is that known issue, that “client quota exceeded” can be returned even if there is only 1 request per minute?
Was login, or attempt to update or something else reason that it started working again (using same existing connection)?

thank you

Hello,

It seems this is a bug, client quota is 60 per min, if client send more than 60 commands in a minute, lamp will report “client quota exceeded”.

So you write an application to control the lamp locally from raspberry pi, what’s the last command when the issue happens?

What’s the application version do you use? Please update to latest version, we made some optimization, if you encounter the issue again, please let us know.

Thanks,
Andy

Hello Andy,

Then only commands i saw on last few pages of log were once per minute:
{“id”:1266, “method”:“get_prop”, “params”:[“power”, “active_mode”, “ct”, “bright”, “nl_br”, “active_bright”]}
where ID was incremented each time.

android app i don’t use normally and as i remember wasn’t even started that day. Its version 3.2.36 connected to Europian cloud.

btw … still, would be nice, if “read-only” commands are not counted into quota.

thank you
best regards
jano

Hello,

It seems this is a bug, if the issue happens again, let us know.

Each command you send to the bulb, there’s a response. The response will send to cloud, limit quota was set in case of attack on purpose. Btw, 60 per minute is enough to use.

Thanks,
Andy

I so much I hate the cloud in Yeelight. I have 9 ceiling light in my current home, but because of cloud I am not going to buy any more to my new house. Basically it’s just a toy and cannot be used as a main light.

All I wanted is a to control brightness/color_temp from Home Assistant and after 3 button press I get

'1579119183994':
  alias: Ikea Remote - ColorTemp cold Group 1
  sequence:
    service: light.turn_on
    data_template:
      entity_id: light.yeelight_lights_1
      transition: '1'
      color_temp: "{% if not state_attr('light.yeelight_lights_1', 'color_temp') ==\
        \ None %} {% set n = state_attr('light.yeelight_lights_1', 'color_temp') -\
        \ 25 %}  {% if n > 370 %}\n  370\n{% else %}\n  {{ n }}\n{% endif %} {% else\
        \ %}  153  {% endif %}"

2020-01-15 21:41:43 ERROR (SyncWorker_9) [custom_components.yeelight] Unable to update device 192.168.1.182, yeelight_ceiling1_7c49ebb38056: {'code': -1, 'message': 'client quota exceeded'}

@yeelight: I propose following feature request: add possibility to configure to disable updates of light in direction to cloud communication for exchange with removing quota limit

@yeelight: Feature request: according to what i read read here have a feeling, that for whatever reason there is cloud communication, even if i locally sent get-request, which is not changing state at all (didn’t verify it yet on firewall). I don’t see any reason to do this. Once removed (or if it’s not the case), please stop counting read-only commands/responses to quota.

@madrian: don’t know home assistant, maybe you use bad plugin, which is doing read-requests for no reason. It can maintain local state - no need to read state from light at all. And there is always workaround, when quota is not applied - music mode. I have never tried that, as i’m was far below quota … until this issue appeared.