espressif / esp-rainmaker

ESP RainMaker Agent for firmware development
Apache License 2.0
431 stars 145 forks source link

Not able to disable MQTT Budgeting on Arduino IDE (MEGH-4665) #266

Closed PrateetTillu closed 11 months ago

PrateetTillu commented 1 year ago

Answers checklist.

General issue report

I am making an air purifier which updates data of AQI on the app every 3 seconds along with other data of temperature, humidity, etc. This consumes the budget quota quickly. I have tried editing the config file but I am not able to disable the Budgeting. Also what exactly I have to do to disable that. I might be doing something wrong.

shahpiyushv commented 1 year ago

Frankly speaking, we have observed that mostly its only the Arduino based apps that send too much data to the RainMaker cloud backend unnecessarily which prompted us to add the budgeting and also a fair usage policy wherein we deactivate nodes sending more than 25,000 messages in a day.

Even in your case, considering real life scenarios, it seems very unlikely that the ambient temperature, humidity and AQI changes every 3 seconds requiring you to report so frequently. Reporting 3 params every 30 seconds (which is still a high rate) should be sufficient, right?

In case you require a faster update only when the app is open, you can normally report at some reduced rate (say once every 1-5 minutes) and then increase the rate temporarily by setting some boolean param from your app.

PrateetTillu commented 1 year ago

So although my issue is resolved since I have optimised it for sending AQI Value once every seconds, Temperature every minute and other 3 values every 5 minutes with an option to send value instantly if there is a major change in them.

1) Now since I use Arduino IDE I want to know how to use local control. I played with sdkconfig but not able to get it.

2) Is there any web app to view the parameters too?

3) There is some fluctuations in iOS app toggles but not in android app also no effect on the board itself just the iOS App.

4) Is there a way to send a notification in the app for a situation like too much AQI or Harmful Gas etc.

And lastly If we plan for a commercial usage, like customised app, parameters, more nodes for an account, etc, what is the procedure?

Sorry if an inappropriate place. Thanks a lot for your help anyways.

shahpiyushv commented 1 year ago
  1. Now since I use Arduino IDE I want to know how to use local control. I played with sdkconfig but not able to get it.

Arduino pre-built libraries do not have local control enabled as of now since we were facing issues with it. The team is working on it. You may try the esp-idf based RainMaker in case you are looking for more features and flexibility, since that would have everything in source code.

  1. Is there any web app to view the parameters too?

No, the RainMaker dashboard is meant only for device management and OTA firmware upgrades.

  1. There is some fluctuations in iOS app toggles but not in android app also no effect on the board itself just the iOS App.

If you have some screen recording of the issue, please share it under esp-rainmaker-ios issues.

  1. Is there a way to send a notification in the app for a situation like too much AQI or Harmful Gas etc.

We have an API esp_rmaker_param_update_and_notify(). Even if there is no abstraction for that available in Arduino, you can use this API directly in your code.

And lastly If we plan for a commercial usage, like customised app, parameters, more nodes for an account, etc, what is the procedure?

Please send an email to sales@espressif.com for the commercial details.

shahpiyushv commented 11 months ago

Closing this issue since all questions have been answered.