diff --git a/config.yaml b/config.yaml index ac871093..75c504ba 100644 --- a/config.yaml +++ b/config.yaml @@ -85,6 +85,11 @@ PHONE_ACTIVITY_RECOGNITION: SRC_FOLDER: "rapids" # inside src/features/phone_activity_recognition SRC_LANGUAGE: "python" +# See https://www.rapids.science/latest/features/phone-applications-crashes/ +PHONE_APPLICATIONS_CRASHES: + TABLE: applications_crashes + PROVIDERS: # None implemented yet but this sensor can be used in PHONE_DATA_YIELD + # See https://www.rapids.science/latest/features/phone-applications-foreground/ PHONE_APPLICATIONS_FOREGROUND: TABLE: applications_foreground @@ -107,6 +112,16 @@ PHONE_APPLICATIONS_FOREGROUND: SRC_FOLDER: "rapids" # inside src/features/phone_applications_foreground SRC_LANGUAGE: "python" +# See https://www.rapids.science/latest/features/phone-applications-notifications/ +PHONE_APPLICATIONS_NOTIFICATIONS: + TABLE: applications_notifications + PROVIDERS: # None implemented yet but this sensor can be used in PHONE_DATA_YIELD + +# See https://www.rapids.science/latest/features/phone-aware-log/ +PHONE_AWARE_LOG: + TABLE: aware_log + PROVIDERS: # None implemented yet but this sensor can be used in PHONE_DATA_YIELD + # See https://www.rapids.science/latest/features/phone-battery/ PHONE_BATTERY: TABLE: battery @@ -189,6 +204,11 @@ PHONE_DATA_YIELD: SRC_LANGUAGE: "r" SRC_FOLDER: "rapids" # inside src/features/phone_data_yield +# See https://www.rapids.science/latest/features/phone-keyboard/ +PHONE_KEYBOARD: + TABLE: keyboard + PROVIDERS: # None implemented yet but this sensor can be used in PHONE_DATA_YIELD + # See https://www.rapids.science/latest/features/phone-light/ PHONE_LIGHT: TABLE: light diff --git a/docs/features/phone-data-yield.md b/docs/features/phone-data-yield.md index 5327a131..4f6e5185 100644 --- a/docs/features/phone-data-yield.md +++ b/docs/features/phone-data-yield.md @@ -9,18 +9,22 @@ Sensor parameters description for `[PHONE_DATA_YIELD]`: |Key                    | Description | |----------------|----------------------------------------------------------------------------------------------------------------------------------- -|`[SENSORS]`| One or more phone sensor config keys (e.g. `PHONE_MESSAGE`). The more keys you include the more accurately RAPIDS can approximate the time an smartphone was sensing data. The supported phone sensors you can include in this list are outlined below (**do NOT include Fitbit sensors**). +|`[SENSORS]`| One or more phone sensor config keys (e.g. `PHONE_MESSAGE`). The more keys you include the more accurately RAPIDS can approximate the time an smartphone was sensing data. The supported phone sensors you can include in this list are outlined below (**do NOT include Fitbit sensors, ONLY include phone sensors**). !!! info "Supported phone sensors for `[PHONE_DATA_YIELD][SENSORS]`" ```yaml PHONE_ACCELEROMETER PHONE_ACTIVITY_RECOGNITION + PHONE_APPLICATIONS_CRASHES PHONE_APPLICATIONS_FOREGROUND + PHONE_APPLICATIONS_NOTIFICATIONS + PHONE_AWARE_LOG PHONE_BATTERY PHONE_BLUETOOTH PHONE_CALLS PHONE_CONVERSATION PHONE_MESSAGES + PHONE_KEYBOARD PHONE_LIGHT PHONE_LOCATIONS PHONE_SCREEN diff --git a/rules/common.smk b/rules/common.smk index ef9af1ca..daf5cffa 100644 --- a/rules/common.smk +++ b/rules/common.smk @@ -15,7 +15,7 @@ def optional_steps_sleep_input(wildcards): def input_merge_sensor_features_for_individual_participants(wildcards): feature_files = [] for config_key in config.keys(): - if config_key.startswith(("PHONE", "FITBIT")) and "PROVIDERS" in config[config_key]: + if config_key.startswith(("PHONE", "FITBIT")) and "PROVIDERS" in config[config_key] and isinstance(config[config_key]["PROVIDERS"], dict): for provider_key, provider in config[config_key]["PROVIDERS"].items(): if "COMPUTE" in provider.keys() and provider["COMPUTE"]: feature_files.append("data/processed/features/{pid}/" + config_key.lower() + ".csv")