]> git.basschouten.com Git - openhab-addons.git/blob
802b47f6c150b8546ca60d60f1a181c0dd03ede6
[openhab-addons.git] /
1 /**
2  * Copyright (c) 2010-2020 Contributors to the openHAB project
3  *
4  * See the NOTICE file(s) distributed with this work for additional
5  * information.
6  *
7  * This program and the accompanying materials are made available under the
8  * terms of the Eclipse Public License 2.0 which is available at
9  * http://www.eclipse.org/legal/epl-2.0
10  *
11  * SPDX-License-Identifier: EPL-2.0
12  */
13
14 package org.openhab.binding.ipcamera.internal;
15
16 import java.util.Arrays;
17 import java.util.HashSet;
18 import java.util.Set;
19
20 import org.eclipse.jdt.annotation.NonNullByDefault;
21 import org.openhab.core.thing.ThingTypeUID;
22
23 /**
24  * The {@link IpCameraBindingConstants} class defines common constants, which
25  * are used across the whole binding.
26  *
27  * @author Matthew Skinner - Initial contribution
28  */
29 @NonNullByDefault
30 public class IpCameraBindingConstants {
31
32     private static final String BINDING_ID = "ipcamera";
33     public final static String AUTH_HANDLER = "authorizationHandler";
34     public final static String AMCREST_HANDLER = "amcrestHandler";
35     public final static String COMMON_HANDLER = "commonHandler";
36     public final static String INSTAR_HANDLER = "instarHandler";
37
38     public static enum FFmpegFormat {
39         HLS,
40         GIF,
41         RECORD,
42         RTSP_ALARMS,
43         MJPEG,
44         SNAPSHOT
45     }
46
47     // List of all Thing Type UIDs
48     public static final ThingTypeUID THING_TYPE_GROUP = new ThingTypeUID(BINDING_ID, "group");
49     public static final String GENERIC_THING = "generic";
50     public static final ThingTypeUID THING_TYPE_GENERIC = new ThingTypeUID(BINDING_ID, GENERIC_THING);
51     public static final String ONVIF_THING = "onvif";
52     public static final ThingTypeUID THING_TYPE_ONVIF = new ThingTypeUID(BINDING_ID, ONVIF_THING);
53     public static final String AMCREST_THING = "amcrest";
54     public static final ThingTypeUID THING_TYPE_AMCREST = new ThingTypeUID(BINDING_ID, AMCREST_THING);
55     public static final String FOSCAM_THING = "foscam";
56     public static final ThingTypeUID THING_TYPE_FOSCAM = new ThingTypeUID(BINDING_ID, FOSCAM_THING);
57     public static final String HIKVISION_THING = "hikvision";
58     public static final ThingTypeUID THING_TYPE_HIKVISION = new ThingTypeUID(BINDING_ID, HIKVISION_THING);
59     public static final String INSTAR_THING = "instar";
60     public static final ThingTypeUID THING_TYPE_INSTAR = new ThingTypeUID(BINDING_ID, INSTAR_THING);
61     public static final String DAHUA_THING = "dahua";
62     public static final ThingTypeUID THING_TYPE_DAHUA = new ThingTypeUID(BINDING_ID, DAHUA_THING);
63     public static final String DOORBIRD_THING = "doorbird";
64     public static final ThingTypeUID THING_TYPE_DOORBIRD = new ThingTypeUID(BINDING_ID, DOORBIRD_THING);
65
66     public static final Set<ThingTypeUID> SUPPORTED_THING_TYPES = new HashSet<ThingTypeUID>(
67             Arrays.asList(THING_TYPE_ONVIF, THING_TYPE_GENERIC, THING_TYPE_AMCREST, THING_TYPE_DAHUA, THING_TYPE_INSTAR,
68                     THING_TYPE_FOSCAM, THING_TYPE_DOORBIRD, THING_TYPE_HIKVISION));
69
70     public static final Set<ThingTypeUID> GROUP_SUPPORTED_THING_TYPES = new HashSet<ThingTypeUID>(
71             Arrays.asList(THING_TYPE_GROUP));
72
73     // List of all Thing Config items
74     public static final String CONFIG_IPADDRESS = "ipAddress";
75     public static final String CONFIG_PORT = "port";
76     public static final String CONFIG_ONVIF_PORT = "onvifPort";
77     public static final String CONFIG_SERVER_PORT = "serverPort";
78     public static final String CONFIG_USERNAME = "username";
79     public static final String CONFIG_PASSWORD = "password";
80     public static final String CONFIG_ONVIF_PROFILE_NUMBER = "onvifMediaProfile";
81     public static final String CONFIG_POLL_TIME = "pollTime";
82     public static final String CONFIG_FFMPEG_INPUT = "ffmpegInput";
83     public static final String CONFIG_SNAPSHOT_URL_OVERRIDE = "snapshotUrl";
84     public static final String CONFIG_MJPEG_URL = "mjpegUrl";
85     public static final String CONFIG_FFMPEG_MOTION_INPUT = "alarmInputUrl";
86     public static final String CONFIG_MOTION_URL_OVERRIDE = "customMotionAlarmUrl";
87     public static final String CONFIG_AUDIO_URL_OVERRIDE = "customAudioAlarmUrl";
88     public static final String CONFIG_IMAGE_UPDATE_WHEN = "updateImageWhen";
89     public static final String CONFIG_NVR_CHANNEL = "nvrChannel";
90     public static final String CONFIG_IP_WHITELIST = "ipWhitelist";
91     public static final String CONFIG_FFMPEG_LOCATION = "ffmpegLocation";
92     public static final String CONFIG_FFMPEG_OUTPUT = "ffmpegOutput";
93     public static final String CONFIG_FFMPEG_HLS_OUT_ARGUMENTS = "hlsOutOptions";
94     public static final String CONFIG_FFMPEG_GIF_OUT_ARGUMENTS = "gifOutOptions";
95     public static final String CONFIG_FFMPEG_MP4_OUT_ARGUMENTS = "mp4OutOptions";
96     public static final String CONFIG_FFMPEG_MJPEG_ARGUMENTS = "mjpegOptions";
97     public static final String CONFIG_FFMPEG_MOTION_ARGUMENTS = "motionOptions";
98     public static final String CONFIG_PTZ_CONTINUOUS = "ptzContinuous";
99     public static final String CONFIG_GIF_PREROLL = "gifPreroll";
100     // group thing configs
101     public static final String CONFIG_FIRST_CAM = "firstCamera";
102     public static final String CONFIG_SECOND_CAM = "secondCamera";
103     public static final String CONFIG_THIRD_CAM = "thirdCamera";
104     public static final String CONFIG_FORTH_CAM = "forthCamera";
105     public static final String CONFIG_MOTION_CHANGES_ORDER = "motionChangesOrder";
106
107     // List of all Channel ids
108     public static final String CHANNEL_POLL_IMAGE = "pollImage";
109     public static final String CHANNEL_RECORDING_GIF = "recordingGif";
110     public static final String CHANNEL_GIF_HISTORY = "gifHistory";
111     public static final String CHANNEL_GIF_HISTORY_LENGTH = "gifHistoryLength";
112     public static final String CHANNEL_RECORDING_MP4 = "recordingMp4";
113     public static final String CHANNEL_MP4_PREROLL = "mp4Preroll";
114     public static final String CHANNEL_MP4_HISTORY = "mp4History";
115     public static final String CHANNEL_MP4_HISTORY_LENGTH = "mp4HistoryLength";
116     public static final String CHANNEL_IMAGE = "image";
117     public static final String CHANNEL_RTSP_URL = "rtspUrl";
118     public static final String CHANNEL_IMAGE_URL = "imageUrl";
119     public static final String CHANNEL_MJPEG_URL = "mjpegUrl";
120     public static final String CHANNEL_HLS_URL = "hlsUrl";
121     public static final String CHANNEL_PAN = "pan";
122     public static final String CHANNEL_TILT = "tilt";
123     public static final String CHANNEL_ZOOM = "zoom";
124     public static final String CHANNEL_EXTERNAL_MOTION = "externalMotion";
125     public static final String CHANNEL_MOTION_ALARM = "motionAlarm";
126     public static final String CHANNEL_LINE_CROSSING_ALARM = "lineCrossingAlarm";
127     public static final String CHANNEL_FACE_DETECTED = "faceDetected";
128     public static final String CHANNEL_ITEM_LEFT = "itemLeft";
129     public static final String CHANNEL_ITEM_TAKEN = "itemTaken";
130     public static final String CHANNEL_AUDIO_ALARM = "audioAlarm";
131     public static final String CHANNEL_ENABLE_MOTION_ALARM = "enableMotionAlarm";
132     public static final String CHANNEL_FFMPEG_MOTION_CONTROL = "ffmpegMotionControl";
133     public static final String CHANNEL_FFMPEG_MOTION_ALARM = "ffmpegMotionAlarm";
134     public static final String CHANNEL_ENABLE_LINE_CROSSING_ALARM = "enableLineCrossingAlarm";
135     public static final String CHANNEL_ENABLE_AUDIO_ALARM = "enableAudioAlarm";
136     public static final String CHANNEL_THRESHOLD_AUDIO_ALARM = "thresholdAudioAlarm";
137     public static final String CHANNEL_ACTIVATE_ALARM_OUTPUT = "activateAlarmOutput";
138     public static final String CHANNEL_ACTIVATE_ALARM_OUTPUT2 = "activateAlarmOutput2";
139     public static final String CHANNEL_ENABLE_EXTERNAL_ALARM_INPUT = "enableExternalAlarmInput";
140     public static final String CHANNEL_TRIGGER_EXTERNAL_ALARM_INPUT = "triggerExternalAlarmInput";
141     public static final String CHANNEL_EXTERNAL_ALARM_INPUT = "externalAlarmInput";
142     public static final String CHANNEL_EXTERNAL_ALARM_INPUT2 = "externalAlarmInput2";
143     public static final String CHANNEL_AUTO_LED = "autoLED";
144     public static final String CHANNEL_ENABLE_LED = "enableLED";
145     public static final String CHANNEL_ENABLE_PIR_ALARM = "enablePirAlarm";
146     public static final String CHANNEL_PIR_ALARM = "pirAlarm";
147     public static final String CHANNEL_CELL_MOTION_ALARM = "cellMotionAlarm";
148     public static final String CHANNEL_ENABLE_FIELD_DETECTION_ALARM = "enableFieldDetectionAlarm";
149     public static final String CHANNEL_FIELD_DETECTION_ALARM = "fieldDetectionAlarm";
150     public static final String CHANNEL_PARKING_ALARM = "parkingAlarm";
151     public static final String CHANNEL_TAMPER_ALARM = "tamperAlarm";
152     public static final String CHANNEL_TOO_DARK_ALARM = "tooDarkAlarm";
153     public static final String CHANNEL_STORAGE_ALARM = "storageAlarm";
154     public static final String CHANNEL_SCENE_CHANGE_ALARM = "sceneChangeAlarm";
155     public static final String CHANNEL_TOO_BRIGHT_ALARM = "tooBrightAlarm";
156     public static final String CHANNEL_TOO_BLURRY_ALARM = "tooBlurryAlarm";
157     public static final String CHANNEL_TEXT_OVERLAY = "textOverlay";
158     public static final String CHANNEL_EXTERNAL_LIGHT = "externalLight";
159     public static final String CHANNEL_DOORBELL = "doorBell";
160     public static final String CHANNEL_LAST_MOTION_TYPE = "lastMotionType";
161     public static final String CHANNEL_GOTO_PRESET = "gotoPreset";
162     public static final String CHANNEL_START_STREAM = "startStream";
163 }