Skip to content

Commit 4b920a8

Browse files
committed
Restructure notifications
1 parent 2d81297 commit 4b920a8

File tree

5 files changed

+338
-379
lines changed

5 files changed

+338
-379
lines changed

enums/device_type.js

+85
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
const { NotificationType } = require('./notification_type')
2+
13
const deviceType = {
24
DOOR_SENSOR: 'T8900',
35
EUFYCAM_2: 'T8114',
@@ -16,5 +18,88 @@ const deviceType = {
1618
VIDEO_DOORBELL_2K_POWERED2: 'T8202',
1719
}
1820

21+
const capabilities = {
22+
[deviceType.DOOR_SENSOR]: [
23+
NotificationType.DOOR_SENSOR_CHANGED,
24+
],
25+
[deviceType.EUFYCAM_2]: [
26+
NotificationType.EVENT_MOTION_DETECTED,
27+
NotificationType.EVENT_PERSON_DETECTED,
28+
NotificationType.THUMBNAIL,
29+
],
30+
[deviceType.EUFYCAM_2C]: [
31+
NotificationType.EVENT_MOTION_DETECTED,
32+
NotificationType.EVENT_PERSON_DETECTED,
33+
NotificationType.THUMBNAIL,
34+
],
35+
[deviceType.EUFYCAM_2C_PRO]: [
36+
NotificationType.EVENT_MOTION_DETECTED,
37+
NotificationType.EVENT_PERSON_DETECTED,
38+
NotificationType.THUMBNAIL,
39+
],
40+
[deviceType.EUFYCAM_2_PRO]: [
41+
NotificationType.EVENT_MOTION_DETECTED,
42+
NotificationType.EVENT_PERSON_DETECTED,
43+
NotificationType.THUMBNAIL,
44+
],
45+
[deviceType.EUFYCAM_E]: [
46+
NotificationType.EVENT_MOTION_DETECTED,
47+
NotificationType.THUMBNAIL,
48+
],
49+
[deviceType.FLOODLIGHT_CAMERA]: [
50+
NotificationType.EVENT_MOTION_DETECTED,
51+
NotificationType.THUMBNAIL,
52+
],
53+
[deviceType.INDOOR_CAM]: [
54+
NotificationType.EVENT_MOTION_DETECTED,
55+
NotificationType.EVENT_PERSON_DETECTED,
56+
NotificationType.EVENT_CRYING_DETECTED,
57+
NotificationType.EVENT_SOUND_DETECTED,
58+
NotificationType.EVENT_PET_DETECTED,
59+
NotificationType.THUMBNAIL,
60+
],
61+
[deviceType.INDOOR_CAM_PAN_TILT]: [
62+
NotificationType.EVENT_MOTION_DETECTED,
63+
NotificationType.EVENT_PERSON_DETECTED,
64+
NotificationType.EVENT_CRYING_DETECTED,
65+
NotificationType.EVENT_SOUND_DETECTED,
66+
NotificationType.EVENT_PET_DETECTED,
67+
NotificationType.THUMBNAIL,
68+
],
69+
[deviceType.MOTION_SENSOR]: [
70+
NotificationType.EVENT_MOTION_DETECTED,
71+
],
72+
[deviceType.VIDEO_DOORBELL_1080P_BATTERY]: [
73+
NotificationType.EVENT_MOTION_DETECTED,
74+
NotificationType.EVENT_PERSON_DETECTED,
75+
NotificationType.THUMBNAIL,
76+
],
77+
[deviceType.VIDEO_DOORBELL_1080P_POWERED]: [
78+
NotificationType.EVENT_MOTION_DETECTED,
79+
NotificationType.EVENT_PERSON_DETECTED,
80+
NotificationType.EVENT_DOORBELL_PRESSED,
81+
NotificationType.THUMBNAIL,
82+
],
83+
[deviceType.VIDEO_DOORBELL_2K_BATTERY]: [
84+
NotificationType.EVENT_MOTION_DETECTED,
85+
NotificationType.EVENT_PERSON_DETECTED,
86+
NotificationType.EVENT_DOORBELL_PRESSED,
87+
NotificationType.THUMBNAIL,
88+
],
89+
[deviceType.VIDEO_DOORBELL_2K_POWERED]: [
90+
NotificationType.EVENT_MOTION_DETECTED,
91+
NotificationType.EVENT_PERSON_DETECTED,
92+
NotificationType.EVENT_DOORBELL_PRESSED,
93+
NotificationType.THUMBNAIL,
94+
],
95+
[deviceType.VIDEO_DOORBELL_2K_POWERED2]: [
96+
NotificationType.EVENT_MOTION_DETECTED,
97+
NotificationType.EVENT_PERSON_DETECTED,
98+
NotificationType.EVENT_DOORBELL_PRESSED,
99+
NotificationType.THUMBNAIL,
100+
],
101+
}
102+
19103
exports.DeviceType = deviceType
104+
exports.DeviceCapabilities = capabilities
20105
exports.supportedDevices = Object.values(deviceType)

enums/notification_type.js

+19-6
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,26 @@
1-
exports.NotificationType = {
1+
const notificationType = {
2+
// Based on notification event_type
23
EVENT_MOTION_DETECTED: 3101,
3-
EVENT_SOMEONE_SPOTTED: 3102,
4+
EVENT_PERSON_DETECTED: 3102,
45
EVENT_DOORBELL_PRESSED: 3103,
56
EVENT_CRYING_DETECTED: 3104,
67
EVENT_SOUND_DETECTED: 3105,
78
EVENT_PET_DETECTED: 3106,
9+
10+
// Custom notifications
11+
DOOR_SENSOR_CHANGED: 100001,
12+
THUMBNAIL: 100002,
13+
}
14+
15+
const notificationTypeByString = {
16+
'Motion is detected': 3101,
17+
'Someone has been spotted': 3102,
18+
'Trigger is open': 100001,
19+
'Trigger is close': 100001,
820
}
921

10-
exports.NotificationTypeByString = {
11-
EVENT_MOTION_DETECTED: 'Motion is detected',
12-
EVENT_SOMEONE_SPOTTED: 'Someone has been spotted'
13-
}
22+
exports.NotificationType = notificationType
23+
exports.supportedNotificationTypes = Object.values(notificationType)
24+
25+
exports.NotificationTypeByString = notificationTypeByString
26+
exports.supportedNotificationStrings = Object.keys(notificationTypeByString)

0 commit comments

Comments
 (0)