Home Assistant Unofficial Reference 2024.12.1
const.py
Go to the documentation of this file.
1 """Constant definitions for UniFi Protect Integration."""
2 
3 from typing import Final
4 
5 from uiprotect.data import ModelType, Version
6 
7 from homeassistant.const import Platform
8 
9 DOMAIN = "unifiprotect"
10 # If rate limit for 4.x or later a 429 is returned
11 # so we can use a lower value
12 AUTH_RETRIES = 2
13 
14 ATTR_EVENT_SCORE = "event_score"
15 ATTR_EVENT_ID = "event_id"
16 ATTR_WIDTH = "width"
17 ATTR_HEIGHT = "height"
18 ATTR_FPS = "fps"
19 ATTR_BITRATE = "bitrate"
20 ATTR_CHANNEL_ID = "channel_id"
21 ATTR_MESSAGE = "message"
22 ATTR_DURATION = "duration"
23 ATTR_ANONYMIZE = "anonymize"
24 
25 CONF_DISABLE_RTSP = "disable_rtsp"
26 CONF_ALL_UPDATES = "all_updates"
27 CONF_OVERRIDE_CHOST = "override_connection_host"
28 CONF_MAX_MEDIA = "max_media"
29 CONF_ALLOW_EA = "allow_ea_channel"
30 
31 CONFIG_OPTIONS = [
32  CONF_ALL_UPDATES,
33  CONF_DISABLE_RTSP,
34  CONF_OVERRIDE_CHOST,
35 ]
36 
37 DEFAULT_PORT = 443
38 DEFAULT_ATTRIBUTION = "Powered by UniFi Protect Server"
39 DEFAULT_BRAND = "Ubiquiti"
40 DEFAULT_VERIFY_SSL = False
41 DEFAULT_MAX_MEDIA = 1000
42 
43 DEVICES_THAT_ADOPT = {
44  ModelType.CAMERA,
45  ModelType.LIGHT,
46  ModelType.VIEWPORT,
47  ModelType.SENSOR,
48  ModelType.DOORLOCK,
49  ModelType.CHIME,
50 }
51 DEVICES_WITH_ENTITIES = DEVICES_THAT_ADOPT | {ModelType.NVR}
52 DEVICES_FOR_SUBSCRIBE = DEVICES_WITH_ENTITIES | {ModelType.EVENT}
53 
54 MIN_REQUIRED_PROTECT_V = Version("1.20.0")
55 OUTDATED_LOG_MESSAGE = (
56  "You are running v%s of UniFi Protect. Minimum required version is v%s. Please"
57  " upgrade UniFi Protect and then retry"
58 )
59 
60 TYPE_EMPTY_VALUE = ""
61 
62 PLATFORMS = [
63  Platform.BINARY_SENSOR,
64  Platform.BUTTON,
65  Platform.CAMERA,
66  Platform.EVENT,
67  Platform.LIGHT,
68  Platform.LOCK,
69  Platform.MEDIA_PLAYER,
70  Platform.NUMBER,
71  Platform.SELECT,
72  Platform.SENSOR,
73  Platform.SWITCH,
74  Platform.TEXT,
75 ]
76 
77 DISPATCH_ADD = "add_device"
78 DISPATCH_ADOPT = "adopt_device"
79 DISPATCH_CHANNELS = "new_camera_channels"
80 
81 EVENT_TYPE_FINGERPRINT_IDENTIFIED: Final = "identified"
82 EVENT_TYPE_FINGERPRINT_NOT_IDENTIFIED: Final = "not_identified"
83 EVENT_TYPE_NFC_SCANNED: Final = "scanned"
84 EVENT_TYPE_DOORBELL_RING: Final = "ring"