Persistent Storage
There are various ways to store persistent data within your app.
Your app can store a user's settings in various ways. For each usecase, there's a best practice.
Device Settings
Most likely, you'll want to store settings per-device.
For front-end, user-visible settings, use Device Settings.
For back-end, persistent settings, use the Device Store. Refer to Device.getStoreValue and Device.setStoreValue for the documentation.
App Settings
Most app-specific settings can be stored and retrieved through ManagerSettings. This enabled your app to save and retrieve any value that is JSON-serializable. App Settings are saved across app restarts, and are only deleted when your app is uninstalled.
On Homey Pro, a custom App Settings can be created using HTML, CSS and JavaScript.
It is generally discouraged to use custom HTML, because often app settings are better to be stored within a Device Store.
App Userdata
For non-JSON serializable data, e.g. binary files, the /userdata/
folder is writable on Homey Pro.
The /userdata/
is publicly available on http
s://<homey>/app/your.app.id/userdata/
.
This allows for some nice usecases, but can also be a security risk! Be sure to keep your filenames unique so they cannot be guessed.
For example, when storing an image, don't name it image1.jpg
but a656d380-c887-4d8b-9ee5-f89de7b65d01.jpg
and keep the Image's name stored in the App Settings.
Last updated