2020-04-08 16:29:59 -05:00
|
|
|
"""The Flume component."""
|
2021-09-20 18:13:09 +02:00
|
|
|
from __future__ import annotations
|
|
|
|
|
2022-08-25 10:21:41 -06:00
|
|
|
from datetime import timedelta
|
|
|
|
import logging
|
|
|
|
|
2021-12-04 13:26:40 +01:00
|
|
|
from homeassistant.const import Platform
|
2021-09-20 18:13:09 +02:00
|
|
|
|
2020-04-08 16:29:59 -05:00
|
|
|
DOMAIN = "flume"
|
|
|
|
|
2022-10-06 19:09:38 -06:00
|
|
|
PLATFORMS = [
|
|
|
|
Platform.BINARY_SENSOR,
|
|
|
|
Platform.SENSOR,
|
|
|
|
]
|
2020-04-08 16:29:59 -05:00
|
|
|
|
|
|
|
DEFAULT_NAME = "Flume Sensor"
|
|
|
|
|
2023-01-21 12:00:12 -10:00
|
|
|
# Flume API limits queries to 120 per hour
|
|
|
|
NOTIFICATION_SCAN_INTERVAL = timedelta(minutes=5)
|
|
|
|
DEVICE_SCAN_INTERVAL = timedelta(minutes=1)
|
|
|
|
DEVICE_CONNECTION_SCAN_INTERVAL = timedelta(minutes=60)
|
2022-08-25 10:21:41 -06:00
|
|
|
|
|
|
|
_LOGGER = logging.getLogger(__package__)
|
|
|
|
|
2022-10-06 19:09:38 -06:00
|
|
|
FLUME_TYPE_BRIDGE = 1
|
2020-04-08 16:29:59 -05:00
|
|
|
FLUME_TYPE_SENSOR = 2
|
|
|
|
|
2022-10-06 19:09:38 -06:00
|
|
|
|
2020-04-08 16:29:59 -05:00
|
|
|
FLUME_AUTH = "flume_auth"
|
|
|
|
FLUME_HTTP_SESSION = "http_session"
|
|
|
|
FLUME_DEVICES = "devices"
|
2023-10-25 06:34:48 -07:00
|
|
|
FLUME_NOTIFICATIONS_COORDINATOR = "notifications_coordinator"
|
2020-04-08 16:29:59 -05:00
|
|
|
|
|
|
|
CONF_TOKEN_FILE = "token_filename"
|
|
|
|
BASE_TOKEN_FILENAME = "FLUME_TOKEN_FILE"
|
|
|
|
|
|
|
|
|
|
|
|
KEY_DEVICE_TYPE = "type"
|
|
|
|
KEY_DEVICE_ID = "id"
|
|
|
|
KEY_DEVICE_LOCATION = "location"
|
|
|
|
KEY_DEVICE_LOCATION_NAME = "name"
|
2020-07-28 00:30:38 -07:00
|
|
|
KEY_DEVICE_LOCATION_TIMEZONE = "tz"
|
2022-10-06 19:09:38 -06:00
|
|
|
|
|
|
|
|
|
|
|
NOTIFICATION_HIGH_FLOW = "High Flow Alert"
|
|
|
|
NOTIFICATION_BRIDGE_DISCONNECT = "Bridge Disconnection"
|
|
|
|
BRIDGE_NOTIFICATION_KEY = "connected"
|
|
|
|
BRIDGE_NOTIFICATION_RULE = "Bridge Disconnection"
|
|
|
|
NOTIFICATION_LEAK_DETECTED = "Flume Smart Leak Alert"
|
2023-07-23 15:11:07 -06:00
|
|
|
NOTIFICATION_LOW_BATTERY = "Low Battery"
|