]> git.basschouten.com Git - openhab-addons.git/blob
3bd90b0a5ab314efe9d20f0a1e475b8d5ad510d4
[openhab-addons.git] /
1 /**
2  * Copyright (c) 2010-2023 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 package org.openhab.binding.dscalarm.internal;
14
15 import java.util.Collections;
16 import java.util.Set;
17 import java.util.stream.Collectors;
18 import java.util.stream.Stream;
19
20 import org.eclipse.jdt.annotation.NonNullByDefault;
21 import org.openhab.core.thing.ThingTypeUID;
22
23 /**
24  * The DSCAlarmBinding class defines common constants, which are used across the whole binding.
25  *
26  * @author Russell Stephens - Initial contribution
27  */
28 @NonNullByDefault
29 public class DSCAlarmBindingConstants {
30
31     // Binding ID
32     public static final String BINDING_ID = "dscalarm";
33
34     // List of bridge device types
35     public static final String ENVISALINK_BRIDGE = "envisalink";
36     public static final String IT100_BRIDGE = "it100";
37     public static final String TCPSERVER_BRIDGE = "tcpserver";
38
39     // List of DSC Alarm device types
40     public static final String PANEL = "panel";
41     public static final String PARTITION = "partition";
42     public static final String ZONE = "zone";
43     public static final String KEYPAD = "keypad";
44
45     // List of all Bridge Thing Type UIDs
46     public static final ThingTypeUID ENVISALINKBRIDGE_THING_TYPE = new ThingTypeUID(BINDING_ID, ENVISALINK_BRIDGE);
47     public static final ThingTypeUID IT100BRIDGE_THING_TYPE = new ThingTypeUID(BINDING_ID, IT100_BRIDGE);
48     public static final ThingTypeUID TCPSERVERBRIDGE_THING_TYPE = new ThingTypeUID(BINDING_ID, TCPSERVER_BRIDGE);
49
50     // List of all DSC Alarm Thing Type UIDs
51     public static final ThingTypeUID PANEL_THING_TYPE = new ThingTypeUID(BINDING_ID, PANEL);
52     public static final ThingTypeUID PARTITION_THING_TYPE = new ThingTypeUID(BINDING_ID, PARTITION);
53     public static final ThingTypeUID ZONE_THING_TYPE = new ThingTypeUID(BINDING_ID, ZONE);
54     public static final ThingTypeUID KEYPAD_THING_TYPE = new ThingTypeUID(BINDING_ID, KEYPAD);
55
56     // List of all Channel IDs
57     public static final String BRIDGE_RESET = "bridge_reset";
58     public static final String SEND_COMMAND = "send_command";
59
60     public static final String PANEL_MESSAGE = "panel_message";
61     public static final String PANEL_COMMAND = "panel_command";
62     public static final String PANEL_SYSTEM_ERROR = "panel_system_error";
63
64     public static final String PANEL_TROUBLE_MESSAGE = "panel_trouble_message";
65     public static final String PANEL_TROUBLE_LED = "panel_trouble_led";
66     public static final String PANEL_SERVICE_REQUIRED = "panel_service_required";
67     public static final String PANEL_AC_TROUBLE = "panel_ac_trouble";
68     public static final String PANEL_TELEPHONE_TROUBLE = "panel_telephone_trouble";
69     public static final String PANEL_FTC_TROUBLE = "panel_ftc_trouble";
70     public static final String PANEL_ZONE_FAULT = "panel_zone_fault";
71     public static final String PANEL_ZONE_TAMPER = "panel_zone_tamper";
72     public static final String PANEL_ZONE_LOW_BATTERY = "panel_zone_low_battery";
73     public static final String PANEL_TIME_LOSS = "panel_time_loss";
74
75     public static final String PANEL_TIME = "panel_time";
76     public static final String PANEL_TIME_STAMP = "panel_time_stamp";
77     public static final String PANEL_TIME_BROADCAST = "panel_time_broadcast";
78     public static final String PANEL_FIRE_KEY_ALARM = "panel_fire_key_alarm";
79     public static final String PANEL_PANIC_KEY_ALARM = "panel_panic_key_alarm";
80     public static final String PANEL_AUX_KEY_ALARM = "panel_aux_key_alarm";
81     public static final String PANEL_AUX_INPUT_ALARM = "panel_aux_input_alarm";
82
83     public static final String PARTITION_STATUS = "partition_status";
84     public static final String PARTITION_ARM_MODE = "partition_arm_mode";
85     public static final String PARTITION_ARMED = "partition_armed";
86     public static final String PARTITION_ENTRY_DELAY = "partition_entry_delay";
87     public static final String PARTITION_EXIT_DELAY = "partition_exit_delay";
88     public static final String PARTITION_IN_ALARM = "partition_in_alarm";
89     public static final String PARTITION_OPENING_CLOSING_MODE = "partition_opening_closing_mode";
90
91     public static final String ZONE_STATUS = "zone_status";
92     public static final String ZONE_MESSAGE = "zone_message";
93     public static final String ZONE_BYPASS_MODE = "zone_bypass_mode";
94     public static final String ZONE_IN_ALARM = "zone_in_alarm";
95     public static final String ZONE_TAMPER = "zone_tamper";
96     public static final String ZONE_FAULT = "zone_fault";
97     public static final String ZONE_TRIPPED = "zone_tripped";
98
99     public static final String KEYPAD_READY_LED = "keypad_ready_led";
100     public static final String KEYPAD_ARMED_LED = "keypad_armed_led";
101     public static final String KEYPAD_MEMORY_LED = "keypad_memory_led";
102     public static final String KEYPAD_BYPASS_LED = "keypad_bypass_led";
103     public static final String KEYPAD_TROUBLE_LED = "keypad_trouble_led";
104     public static final String KEYPAD_PROGRAM_LED = "keypad_program_led";
105     public static final String KEYPAD_FIRE_LED = "keypad_fire_led";
106     public static final String KEYPAD_BACKLIGHT_LED = "keypad_backlight_led";
107     public static final String KEYPAD_AC_LED = "keypad_ac_led";
108     public static final String KEYPAD_LCD_UPDATE = "keypad_lcd_update";
109     public static final String KEYPAD_LCD_CURSOR = "keypad_lcd_cursor";
110
111     // Set of all supported Thing Type UIDs
112     public static final Set<ThingTypeUID> SUPPORTED_THING_TYPES_UIDS = Collections
113             .unmodifiableSet(Stream
114                     .of(ENVISALINKBRIDGE_THING_TYPE, IT100BRIDGE_THING_TYPE, TCPSERVERBRIDGE_THING_TYPE,
115                             PANEL_THING_TYPE, PARTITION_THING_TYPE, ZONE_THING_TYPE, KEYPAD_THING_TYPE)
116                     .collect(Collectors.toSet()));
117
118     // Set of all supported Bridge Type UIDs
119     public static final Set<ThingTypeUID> SUPPORTED_BRIDGE_THING_TYPES_UIDS = Collections
120             .unmodifiableSet(Stream.of(ENVISALINKBRIDGE_THING_TYPE, IT100BRIDGE_THING_TYPE, TCPSERVERBRIDGE_THING_TYPE)
121                     .collect(Collectors.toSet()));
122 }