]> git.basschouten.com Git - openhab-addons.git/blob
5ad2739d3a1ed6acdeb7e9261d56a7a92730c8b6
[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.knx.internal;
14
15 import static java.util.stream.Collectors.toSet;
16
17 import java.util.Collections;
18 import java.util.Set;
19 import java.util.stream.Stream;
20
21 import org.eclipse.jdt.annotation.NonNullByDefault;
22 import org.openhab.core.thing.ThingTypeUID;
23
24 /**
25  * The {@link KNXBinding} class defines common constants, which are
26  * used across the whole binding.
27  *
28  * @author Karel Goderis - Initial contribution
29  */
30 @NonNullByDefault
31 public class KNXBindingConstants {
32
33     public static final String BINDING_ID = "knx";
34
35     // Thing Type UIDs
36     public static final ThingTypeUID THING_TYPE_IP_BRIDGE = new ThingTypeUID(BINDING_ID, "ip");
37     public static final ThingTypeUID THING_TYPE_SERIAL_BRIDGE = new ThingTypeUID(BINDING_ID, "serial");
38     public static final ThingTypeUID THING_TYPE_DEVICE = new ThingTypeUID(BINDING_ID, "device");
39
40     // Property IDs
41     public static final String FIRMWARE_TYPE = "firmwaretype";
42     public static final String FIRMWARE_VERSION = "firmwareversion";
43     public static final String FIRMWARE_SUBVERSION = "firmwaresubversion";
44     public static final String MANUFACTURER_NAME = "manfacturername";
45     public static final String MANUFACTURER_SERIAL_NO = "manfacturerserialnumber";
46     public static final String MANUFACTURER_HARDWARE_TYPE = "manfacturerhardwaretype";
47     public static final String MANUFACTURER_FIRMWARE_REVISION = "manfacturerfirmwarerevision";
48
49     // Thing Configuration parameters
50     public static final String IP_ADDRESS = "ipAddress";
51     public static final String IP_CONNECTION_TYPE = "type";
52     public static final String LOCAL_IP = "localIp";
53     public static final String LOCAL_SOURCE_ADDRESS = "localSourceAddr";
54     public static final String PORT_NUMBER = "portNumber";
55     public static final String SERIAL_PORT = "serialPort";
56     public static final String USE_CEMI = "useCemi";
57     public static final String ROUTER_BACKBONE_GROUP_KEY = "routerBackboneGroupKey";
58     public static final String TUNNEL_USER_ID = "tunnelUserId";
59     public static final String TUNNEL_USER_PASSWORD = "tunnelUserPassword";
60     public static final String TUNNEL_DEVICE_AUTHENTICATION = "tunnelDeviceAuthentication";
61
62     // The default multicast ip address (see <a
63     // href="http://www.iana.org/assignments/multicast-addresses/multicast-addresses.xml">iana</a> EIBnet/IP
64     public static final String DEFAULT_MULTICAST_IP = "224.0.23.12";
65
66     // Channel Type IDs
67     public static final String CHANNEL_COLOR = "color";
68     public static final String CHANNEL_COLOR_CONTROL = "color-control";
69     public static final String CHANNEL_CONTACT = "contact";
70     public static final String CHANNEL_CONTACT_CONTROL = "contact-control";
71     public static final String CHANNEL_DATETIME = "datetime";
72     public static final String CHANNEL_DATETIME_CONTROL = "datetime-control";
73     public static final String CHANNEL_DIMMER = "dimmer";
74     public static final String CHANNEL_DIMMER_CONTROL = "dimmer-control";
75     public static final String CHANNEL_NUMBER = "number";
76     public static final String CHANNEL_NUMBER_CONTROL = "number-control";
77     public static final String CHANNEL_ROLLERSHUTTER = "rollershutter";
78     public static final String CHANNEL_ROLLERSHUTTER_CONTROL = "rollershutter-control";
79     public static final String CHANNEL_STRING = "string";
80     public static final String CHANNEL_STRING_CONTROL = "string-control";
81     public static final String CHANNEL_SWITCH = "switch";
82     public static final String CHANNEL_SWITCH_CONTROL = "switch-control";
83
84     public static final Set<String> CONTROL_CHANNEL_TYPES = Collections.unmodifiableSet(Stream.of(CHANNEL_COLOR_CONTROL, //
85             CHANNEL_CONTACT_CONTROL, //
86             CHANNEL_DATETIME_CONTROL, //
87             CHANNEL_DIMMER_CONTROL, //
88             CHANNEL_NUMBER_CONTROL, //
89             CHANNEL_ROLLERSHUTTER_CONTROL, //
90             CHANNEL_STRING_CONTROL, //
91             CHANNEL_SWITCH_CONTROL //
92     ).collect(toSet()));
93
94     public static final String CHANNEL_RESET = "reset";
95
96     // Channel Configuration parameters
97     public static final String GA = "ga";
98     public static final String HSB_GA = "hsb";
99     public static final String INCREASE_DECREASE_GA = "increaseDecrease";
100     public static final String POSITION_GA = "position";
101     public static final String REPEAT_FREQUENCY = "frequency";
102     public static final String STOP_MOVE_GA = "stopMove";
103     public static final String SWITCH_GA = "switch";
104     public static final String UP_DOWN_GA = "upDown";
105 }