2 * Copyright (c) 2010-2023 Contributors to the openHAB project
4 * See the NOTICE file(s) distributed with this work for additional
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
11 * SPDX-License-Identifier: EPL-2.0
13 package org.openhab.binding.paradoxalarm.internal.handlers;
15 import java.util.Collections;
17 import java.util.stream.Collectors;
18 import java.util.stream.Stream;
20 import org.eclipse.jdt.annotation.NonNullByDefault;
21 import org.openhab.core.library.types.StringType;
22 import org.openhab.core.thing.ThingTypeUID;
25 * The {@link ParadoxAlarmBindingConstants} class defines common constants, which are
26 * used across the whole binding.
28 * @author Konstantin Polihronov - Initial contribution
31 public class ParadoxAlarmBindingConstants {
33 public static final String BINDING_ID = "paradoxalarm";
35 public static final String PARADOX_COMMUNICATOR_THING_TYPE_ID = "ip150";
37 public static final String PARADOX_PANEL_THING_TYPE_ID = "panel";
39 public static final String PARTITION_THING_TYPE_ID = "partition";
41 public static final String ZONE_THING_TYPE_ID = "zone";
43 // List of all Thing Type UIDs
44 public static final ThingTypeUID COMMUNICATOR_THING_TYPE_UID = new ThingTypeUID(BINDING_ID,
45 PARADOX_COMMUNICATOR_THING_TYPE_ID);
46 public static final ThingTypeUID PANEL_THING_TYPE_UID = new ThingTypeUID(BINDING_ID, PARADOX_PANEL_THING_TYPE_ID);
47 public static final ThingTypeUID PARTITION_THING_TYPE_UID = new ThingTypeUID(BINDING_ID, PARTITION_THING_TYPE_ID);
48 public static final ThingTypeUID ZONE_THING_TYPE_UID = new ThingTypeUID(BINDING_ID, ZONE_THING_TYPE_ID);
50 public static final Set<ThingTypeUID> SUPPORTED_THING_TYPES_UIDS = Collections.unmodifiableSet(
51 Stream.of(COMMUNICATOR_THING_TYPE_UID, PANEL_THING_TYPE_UID, PARTITION_THING_TYPE_UID, ZONE_THING_TYPE_UID)
52 .collect(Collectors.toSet()));
54 // List of all Channel UIDs
55 public static final String IP150_COMMUNICATION_COMMAND_CHANNEL_UID = "communicationCommand";
56 public static final String IP150_COMMUNICATION_STATE_CHANNEL_UID = "communicationState";
58 public static final String PANEL_STATE_CHANNEL_UID = "state";
59 public static final String PANEL_SERIAL_NUMBER_PROPERTY_NAME = "serialNumber";
60 public static final String PANEL_TYPE_PROPERTY_NAME = "panelType";
61 public static final String PANEL_HARDWARE_VERSION_PROPERTY_NAME = "hardwareVersion";
62 public static final String PANEL_APPLICATION_VERSION_PROPERTY_NAME = "applicationVersion";
63 public static final String PANEL_BOOTLOADER_VERSION_PROPERTY_NAME = "bootloaderVersion";
65 public static final String PANEL_TIME = "panelTime";
66 public static final String PANEL_INPUT_VOLTAGE = "inputVoltage";
67 public static final String PANEL_BOARD_VOLTAGE = "boardVoltage";
68 public static final String PANEL_BATTERY_VOLTAGE = "batteryVoltage";
70 public static final String PARTITION_LABEL_CHANNEL_UID = "label";
71 public static final String PARTITION_STATE_CHANNEL_UID = "state";
72 public static final String PARTITION_DETAILED_STATE_CHANNEL_UID = "detailedState";
73 @Deprecated // After implementation of channels for every possible state, the summarized additional states is no
74 // longer needed. We'll keep it for backward compatibility
75 public static final String PARTITION_ADDITIONAL_STATES_CHANNEL_UID = "additionalStates";
76 public static final String PARTITION_READY_TO_ARM_CHANNEL_UID = "readyToArm";
77 public static final String PARTITION_IN_EXIT_DELAY_CHANNEL_UID = "inExitDelay";
78 public static final String PARTITION_IN_ENTRY_DELAY_CHANNEL_UID = "inEntryDelay";
79 public static final String PARTITION_IN_TROUBLE_CHANNEL_UID = "inTrouble";
80 public static final String PARTITION_ALARM_IN_MEMORY_CHANNEL_UID = "alarmInMemory";
81 public static final String PARTITION_ZONE_BYPASS_CHANNEL_UID = "zoneBypass";
82 public static final String PARTITION_ZONE_IN_TAMPER_CHANNEL_UID = "zoneInTamperTrouble";
83 public static final String PARTITION_ZONE_IN_LOW_BATTERY_CHANNEL_UID = "zoneInLowBatteryTrouble";
84 public static final String PARTITION_ZONE_IN_FIRE_LOOP_CHANNEL_UID = "zoneInFireLoopTrouble";
85 public static final String PARTITION_ZONE_IN_SUPERVISION_TROUBLE_CHANNEL_UID = "zoneInSupervisionTrouble";
86 public static final String PARTITION_STAY_INSTANT_READY_CHANNEL_UID = "stayInstantReady";
87 public static final String PARTITION_FORCE_READY_CHANNEL_UID = "forceReady";
88 public static final String PARTITION_BYPASS_READY_CHANNEL_UID = "bypassReady";
89 public static final String PARTITION_INHIBIT_READY_CHANNEL_UID = "inhibitReady";
90 public static final String PARTITION_ALL_ZONES_CLOSED_CHANNEL_UID = "allZonesClosed";
92 public static final String ZONE_LABEL_CHANNEL_UID = "label";
93 public static final String ZONE_OPENED_CHANNEL_UID = "opened";
94 public static final String ZONE_TAMPERED_CHANNEL_UID = "tampered";
95 public static final String ZONE_LOW_BATTERY_CHANNEL_UID = "lowBattery";
97 public static final String ZONE_SUPERVISION_TROUBLE_UID = "supervisionTrouble";
98 public static final String ZONE_IN_TX_DELAY_UID = "inTxDelay";
99 public static final String ZONE_SHUTDOWN_UID = "shutdown";
100 public static final String ZONE_BYPASSED_UID = "bypassed";
101 public static final String ZONE_HAS_ACTIVATED_INTELLIZONE_DELAY_UID = "hasActivatedIntellizoneDelay";
102 public static final String ZONE_HAS_ACTIVATED_ENTRY_DELAY_UID = "hasActivatedEntryDelay";
103 public static final String ZONE_PRESENTLY_IN_ALARM_UID = "presentlyInAlarm";
104 public static final String ZONE_GENERATED_ALARM_UID = "generatedAlarm";
107 public static final StringType STATE_OFFLINE = new StringType("Offline");
108 public static final StringType STATE_ONLINE = new StringType("Online");