sleepd/custom_components/saas/const.py
2024-05-05 20:39:37 -06:00

131 lines
No EOL
5.3 KiB
Python

"""Constants for the SAAS - Sleep As Android Stats integration."""
DOMAIN = "saas"
INTEGRATION_NAME = "SAAS - Sleep As Android Stats"
MODEL = "SAAS - Version 0.0.1"
CONF_NAME = "name" # Name of the Integration
CONF_TOPIC = "topic_template" # MQTT Topic for Sleep As Android Events
CONF_QOS = "qos" # Quality of Service
CONF_AWAKE_DURATION = "awake_duration" # Awake Duration
CONF_SLEEP_DURATION = "sleep_duration" # Sleep Duration
CONF_AWAKE_STATES = "awake_states" # Awake States
CONF_SLEEP_STATES = "sleep_states" # Sleep States
DEFAULT_AWAKE_DURATION = 10 # Default Awake Duration
DEFAULT_SLEEP_DURATION = 10 # Default Sleep Duration
DEFAULT_AWAKE_STATES = ['{"event":"awake"}', '{"event":"sleep_tracking_stopped"}'] # Default Awake States
DEFAULT_SLEEP_STATES = ['{"event":"not_awake"}', '{"event":"rem"}', '{"event":"light_sleep"}', '{"event":"deep_sleep"}', '{"event":"sleep_tracking_started"}'] # Default Sleep States
SENSOR_TYPES = {
"state": {"name": "State", "device_class": None},
"awake": {"name": "Awake", "device_class": "motion"},
}
AVAILABLE_STATES = [
'unknown',
'{"event":"alarm_alert_dismiss"}',
'{"event":"alarm_alert_start"}',
'{"event":"alarm_rescheduled"}',
'{"event":"alarm_skip_next"}',
'{"event":"alarm_snooze_canceled"}',
'{"event":"alarm_snooze_clicked"}',
'{"event":"antisnoring"}',
'{"event":"apnea_alarm"}',
'{"event":"awake"}',
'{"event":"before_alarm"}',
'{"event":"before_smart_period"}',
'{"event":"deep_sleep"}',
'{"event":"light_sleep"}',
'{"event":"lullaby_start"}',
'{"event":"lullaby_stop"}',
'{"event":"lullaby_volume_down"}',
'{"event":"not_awake"}',
'{"event":"rem"}',
'{"event":"show_skip_next_alarm"}',
'{"event":"sleep_tracking_paused"}',
'{"event":"sleep_tracking_resumed"}',
'{"event":"sleep_tracking_started"}',
'{"event":"sleep_tracking_stopped"}',
'{"event":"smart_period"}',
'{"event":"sound_event_baby"}',
'{"event":"sound_event_cough"}',
'{"event":"sound_event_laugh"}',
'{"event":"sound_event_snore"}',
'{"event":"sound_event_talk"}',
'{"event":"time_to_bed_alarm_alert"}'
]
# State mapping
STATE_MAPPING = {
"unknown": "Unknown",
'{"event":"sleep_tracking_started"}': "Sleep Tracking Started",
'{"event":"sleep_tracking_stopped"}': "Sleep Tracking Stopped",
'{"event":"sleep_tracking_paused"}': "Sleep Tracking Paused",
'{"event":"sleep_tracking_resumed"}': "Sleep Tracking Resumed",
'{"event":"alarm_snooze_clicked"}': "Alarm Snoozed",
'{"event":"alarm_snooze_canceled"}': "Snooze Canceled",
'{"event":"time_to_bed_alarm_alert"}': "Time To Bed Alarm Alert",
'{"event":"alarm_alert_start"}': "Alarm Alert Started",
'{"event":"alarm_alert_dismiss"}': "Alarm Dismissed",
'{"event":"alarm_skip_next"}': "Skip Next Alarm",
'{"event":"show_skip_next_alarm"}': "Show Skip Next Alarm",
'{"event":"rem"}': "REM",
'{"event":"smart_period"}': "Smart Period",
'{"event":"before_smart_period"}': "Before Smart Period",
'{"event":"lullaby_start"}': "Lullaby Start",
'{"event":"lullaby_stop"}': "Lullaby Stop",
'{"event":"lullaby_volume_down"}': "Lullaby Volume Down",
'{"event":"deep_sleep"}': "Deep Sleep",
'{"event":"light_sleep"}': "Light Sleep",
'{"event":"awake"}': "Awake",
'{"event":"not_awake"}': "Not Awake",
'{"event":"apnea_alarm"}': "Apnea Alarm",
'{"event":"antisnoring"}': "Antisnoring",
'{"event":"before_alarm"}': "Before Alarm",
'{"event":"sound_event_snore"}': "Snore Detected",
'{"event":"sound_event_talk"}': "Talk Detected",
'{"event":"sound_event_cough"}': "Cough Detected",
'{"event":"sound_event_baby"}': "Baby Cry Detected",
'{"event":"sound_event_laugh"}': "Laugh Detected",
'{"event":"alarm_rescheduled"}': "Alarm Rescheduled"
}
# Sound mapping
SOUND_MAPPING = {
'{"event":"sound_event_snore"}': "Snore Detected",
'{"event":"sound_event_talk"}': "Talk Detected",
'{"event":"sound_event_cough"}': "Cough Detected",
'{"event":"sound_event_baby"}': "Baby Cry Detected",
'{"event":"sound_event_laugh"}': "Laugh Detected",
}
# Disturbance mapping
DISTURBANCE_MAPPING = {
'{"event":"apnea_alarm"}': "Apnea Alarm",
'{"event":"antisnoring"}': "Antisnoring",
}
# Alarm event mapping
ALARM_EVENT_MAPPING = {
'{"event":"before_alarm"}': "Before Alarm",
'{"event":"alarm_snooze_clicked"}': "Alarm Snoozed",
'{"event":"alarm_snooze_canceled"}': "Snooze Canceled",
'{"event":"time_to_bed_alarm_alert"}': "Time To Bed Alarm Alert",
'{"event":"alarm_alert_start"}': "Alarm Alert Started",
'{"event":"alarm_alert_dismiss"}': "Alarm Dismissed",
'{"event":"alarm_skip_next"}': "Skip Next Alarm",
'{"event":"show_skip_next_alarm"}': "Show Skip Next Alarm",
'{"event":"rem"}': "REM",
'{"event":"smart_period"}': "Smart Period",
'{"event":"before_smart_period"}': "Before Smart Period",
}
# Sleep tracking event mapping
SLEEP_TRACKING_MAPPING = {
'{"event":"sleep_tracking_started"}': "Sleep Tracking Started",
'{"event":"sleep_tracking_stopped"}': "Sleep Tracking Stopped",
'{"event":"sleep_tracking_paused"}': "Sleep Tracking Paused",
'{"event":"sleep_tracking_resumed"}': "Sleep Tracking Resumed",
}