[APP][Pro] Sensibo - Air Conditioning and Quality

Perfect! Thanks for quick reply :slight_smile: hoping for the best

I will need to do some refactoring of the HTTP client side to make it support compressed data. Sensibo Support had already created issue: Add "Accept-Encoding: gzip" to increase rate limit according to HTTP 429 rate limit response received ¡ Issue #38 ¡ oh2th/com.sensibo ¡ GitHub, and I will work on that.

Mean while you could try to increase the update interval on your devices.

1 Like

Sounds good!
I disabled my flow for controling my AC yesterday, so update interval should not be an issue after that. But still I get the “403 forbidden” error.

Not sure if I should try to delete the sensibo device in homey and add it again.

You could create a new Api key and just re-pair. 403 clearly is an authentication issue. 429 is for the rate limit issue.

I did update the api key and it seems to have changed from the 403 error to the 429 error now :sweat_smile: but it is strange… I have waited many minutes between everytime I try to change something ( temperature etc. ) but still I get the 429 error.

Edit: I was able to actually change the temperature now with sensibo in Homey Pro. Haven’t dared to try my flow yet. Not sure how often one could make changes without getting the error

Edit 2: Still 429 error with loads of time between each time I try

Sensibo API has become sensitive to the rate limit of 10 queries over 10 seconds. Internally the app itself will hit the limit quickly. Will need to review the code and look at some refactoring.

Ahh okay!
I just tried to change the temperature this morning and get the “429 too many requests” error.
I have not tried to change anything since yesterday evening and no flow running.
So a bit strange it tells me “too many requests” for one request :sweat_smile:

New update (Test: 1.18.2)

Changes include

  • FIX: Switch from http.min to axios, add support for gzipped results from the Sensibo API.
  • FIX: Add some delays in API queries to mitigate rate limiting. Not the perfect solution, but helps.
  • FIX: Missed a few http calls that should be replaced with axios.
  • FIX: More Axios related adjustments

To test this version, please install from above test version link.

If you do not want to test this version anymore, you can return to the live version by installing it from the app store.

@Joergen_Ask and @Sindre_Langberg, please test this one. It doesn’t solve the root cause, but could help. Also make sure you don’t use a Polling_Interval less than 60 seconds in the device settings.

@Anton_Hooghiemstra, please install next test version. Missing http has been fixed.

Hi,

i have the same problem, and i’ve installed the testversion but then i get the message “http is not defined”.

greetings Anton

@OH2TH Thanks I will try tomorrow when I get back from work :blush: I suppose if i install the test version I have to add the sensibo device again and re-add all the cards in my flows?

Many thanks!

All you need is to just install it from the given link. Do not uninstall.

1 Like

Hi, I tried this version - first it gave the “429” error, then suddenly it worked. So I need to test it a bit and Ill get back to you :slight_smile:

Version 1.18.2 works for me.
Thanx for that.
Now i can use the airco again as before.

I will be working on i to get the last rate limit issues out. You should know that this doesn’t yet fix it, and there may still be some rate limiting.
Will need to look deeper into to the code and figure out some of them.

@OH2TH the test version seems to be working for me as well :slight_smile: I can make changes now from homey. thanks! Will be trying a flow later tonight to see if that also works. Before I used to update every minute in this flow. Maybe I should go with every two minutes?

Regards from
Jørgen

I will push these changes now to the Live version also.

Request failed with status code 429 on the version 1.18.2

As already stated, it’s not perfect but helps.

I will be making another change to the Polling Interval setting on the device settings page. Minimum Interval will be increased from the 15 seconds to 90 seconds.

There is no need to keep polling the Sensibo API any faster for two reasons:

  • API rate limit
  • Sensibo devices report back to the API only every 90 seconds
1 Like

Hi, Thank you for a very good and stable app.
But three days ago it started to fail and today I see that a new version is installed 1.18.2 on my HomeyPro “Homey Pro (Early 2019)”. I saw that it was recommended to change the API key. Repaired the Sensibo app and entered a new key from https://home.sensibo.com/me/api. After the new app is installed the command “Climareact on/off” do not work anylonger. The errorcode “Request failed with status code 400” apper