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.knx.internal;
15 import static java.util.stream.Collectors.toSet;
17 import java.util.Collections;
19 import java.util.stream.Stream;
21 import org.eclipse.jdt.annotation.NonNullByDefault;
22 import org.openhab.core.thing.ThingTypeUID;
25 * The {@link KNXBindingConstants} class defines common constants, which are
26 * used across the whole binding.
28 * @author Karel Goderis - Initial contribution
31 public class KNXBindingConstants {
33 public static final String BINDING_ID = "knx";
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");
41 public static final String DEVICE_MASK_VERSION = "deviceMaskVersion";
42 public static final String DEVICE_PROFILE = "deviceProfile";
43 public static final String DEVICE_MEDIUM_TYPE = "deviceMediumType";
44 public static final String FRIENDLY_NAME = "deviceName";
45 public static final String MANUFACTURER_NAME = "manufacturerName";
46 public static final String MANUFACTURER_SERIAL_NO = "manufacturerSerialNumber";
47 public static final String MANUFACTURER_HARDWARE_TYPE = "manufacturerHardwareType";
48 public static final String MANUFACTURER_FIRMWARE_REVISION = "manufacturerFirmwareRevision";
49 public static final String MANUFACTURER_ORDER_INFO = "manufacturerOrderInfo";
50 public static final String MAX_APDU_LENGTH = "maxApduLength";
52 // Thing Configuration parameters
53 public static final String IP_ADDRESS = "ipAddress";
54 public static final String IP_CONNECTION_TYPE = "type";
55 public static final String LOCAL_IP = "localIp";
56 public static final String LOCAL_SOURCE_ADDRESS = "localSourceAddr";
57 public static final String PORT_NUMBER = "portNumber";
58 public static final String SERIAL_PORT = "serialPort";
59 public static final String USE_CEMI = "useCemi";
60 public static final String ROUTER_BACKBONE_GROUP_KEY = "routerBackboneGroupKey";
61 public static final String TUNNEL_USER_ID = "tunnelUserId";
62 public static final String TUNNEL_USER_PASSWORD = "tunnelUserPassword";
63 public static final String TUNNEL_DEVICE_AUTHENTICATION = "tunnelDeviceAuthentication";
65 // The default multicast ip address (see <a
66 // href="http://www.iana.org/assignments/multicast-addresses/multicast-addresses.xml">iana</a> EIBnet/IP
67 public static final String DEFAULT_MULTICAST_IP = "224.0.23.12";
70 public static final String CHANNEL_COLOR = "color";
71 public static final String CHANNEL_COLOR_CONTROL = "color-control";
72 public static final String CHANNEL_CONTACT = "contact";
73 public static final String CHANNEL_CONTACT_CONTROL = "contact-control";
74 public static final String CHANNEL_DATETIME = "datetime";
75 public static final String CHANNEL_DATETIME_CONTROL = "datetime-control";
76 public static final String CHANNEL_DIMMER = "dimmer";
77 public static final String CHANNEL_DIMMER_CONTROL = "dimmer-control";
78 public static final String CHANNEL_NUMBER = "number";
79 public static final String CHANNEL_NUMBER_CONTROL = "number-control";
80 public static final String CHANNEL_ROLLERSHUTTER = "rollershutter";
81 public static final String CHANNEL_ROLLERSHUTTER_CONTROL = "rollershutter-control";
82 public static final String CHANNEL_STRING = "string";
83 public static final String CHANNEL_STRING_CONTROL = "string-control";
84 public static final String CHANNEL_SWITCH = "switch";
85 public static final String CHANNEL_SWITCH_CONTROL = "switch-control";
87 public static final Set<String> CONTROL_CHANNEL_TYPES = Collections.unmodifiableSet(Stream.of(CHANNEL_COLOR_CONTROL, //
88 CHANNEL_CONTACT_CONTROL, //
89 CHANNEL_DATETIME_CONTROL, //
90 CHANNEL_DIMMER_CONTROL, //
91 CHANNEL_NUMBER_CONTROL, //
92 CHANNEL_ROLLERSHUTTER_CONTROL, //
93 CHANNEL_STRING_CONTROL, //
94 CHANNEL_SWITCH_CONTROL //
97 public static final String CHANNEL_RESET = "reset";
99 // Channel Configuration parameters
100 public static final String GA = "ga";
101 public static final String HSB_GA = "hsb";
102 public static final String INCREASE_DECREASE_GA = "increaseDecrease";
103 public static final String POSITION_GA = "position";
104 public static final String REPEAT_FREQUENCY = "frequency";
105 public static final String STOP_MOVE_GA = "stopMove";
106 public static final String SWITCH_GA = "switch";
107 public static final String UP_DOWN_GA = "upDown";