-
Notifications
You must be signed in to change notification settings - Fork 109
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Memory footprint for Bridge with >100 accessories #88
Comments
Another option would be to use hap_stop() before an ota update, but this function is still mentioned as todo? esp-homekit-sdk/components/homekit/esp_hap_core/src/esp_hap_main.c Lines 384 to 389 in fac2032
|
We haven't really done 1:1 comparison of the RAM footprints. The way the accessory database is managed by esp-homekit-sdk and the ADK is much different, which becomes more relevant in case of bridges.
It actually depends on your requirements and the comfort you have using the APIs. The APIs of both the SDKs are very different. esp-homekit-sdk also has additional features required for real products, which includes Unified Provisioning (required for Android controllers) and Remote control (with Alexa/GVA integrations with ESP RainMaker), both of which can be found in this example. Additionally, the ADK is maintained by Apple, whereas esp-homekit-sdk is maintained by Espressif. So, we don't have much control over the ADK APIs and structure.
I suppose the suggestions are meant for Apple's ADK, which as mentioned above, is maintained by Apple. Even then, as per my understanding, the pre-allocations done there could just be to ensure that the functionality (as expected by the Certification requirement) does not get affected because of any runtime allocation failures. I am not sure if the esp-homekit referenced here is meant for HomeKit Certified products or just for non commercial purposes. So it could potentially have lower footprint. |
We are using the commercial esp-homekit-sdk available under NDA to develop a Bridge, and are testing with an amount of accessories close to the HomeKit limit of 150 per bridge. At ~120 single accessories, we are running into memory issues, and are not able to OTA update the ESP32 anymore, since the accessories are using approximately 140KB, and starting the HomeKit server another ~40KB.
A few general questions regarding this:
Any advice on these questions @shahpiyushv? Thank you in advance!
The text was updated successfully, but these errors were encountered: