Each MOS application has a configuration file
config.yaml that's required to have, in order to run.
What this file does:
- Sets meta information for the application, which is used in the MATRIX App Store.
- Defines a schema for sending data from the device.
- Identifies which sensors, services, events and integrations an application utilizes.
- Defines dynamic settings variables, which are available to the application and end-user modifiable.
- Defines the widgets and their layout in the dashboard
- Generates a policy on install, asking the user for specific access to their device.
name- Name of the application that appears as part of the application store when viewing it.
description- Short description that appears as part of the application when deploying or pushing to App Store.
keywords- a few values about the application. ex:
face, door, unlock
version- this field will be updated by the CLI on publish.
configVersion- This field defines what version is the configuration. don't touch this.
settings- runtime variables for MOS applications
dataTypes- schema for structured data from an application
sensors- which sensors to activate for this application
integrations- which external integrations does this application support ie.
events- which events this application has listeners for
screens- layout for widgets. see Layout
widgets- widget definitions. see Widgets
services- service definitions.
#example config.yaml name: example-app displayName: The Example App description: An example application config.yaml. imageUrls: - http://image.com/1 keywords: - example - configuration categories: - entertainment sensors: - temperature - gyroscope
config.yaml is standardized before installation, which will modify it somewhat, especially in the widget definations. Do not be alarmed if your installed
config.yaml does not match the original, this is normal.
See the helper library with examples at: https://github.com/matrix-io/matrix-app-config-helper