]> git.basschouten.com Git - openhab-addons.git/blob
26710fd7d7277c5f468e3b8d6ff596545bcc2c78
[openhab-addons.git] /
1 /**
2  * Copyright (c) 2010-2024 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.freeboxos.internal;
14
15 import java.util.Set;
16 import java.util.stream.Collectors;
17 import java.util.stream.Stream;
18
19 import org.eclipse.jdt.annotation.NonNullByDefault;
20 import org.openhab.binding.freeboxos.internal.api.rest.HomeManager.Category;
21 import org.openhab.core.library.types.OnOffType;
22 import org.openhab.core.library.types.OpenClosedType;
23 import org.openhab.core.library.types.UpDownType;
24 import org.openhab.core.thing.ThingTypeUID;
25 import org.openhab.core.types.Command;
26
27 /**
28  * The {@link FreeboxOsBindingConstants} class defines common constants, which are used across the binding.
29  *
30  * @author GaĆ«l L'hopital - Initial contribution
31  */
32 @NonNullByDefault
33 public class FreeboxOsBindingConstants {
34
35     public static final String BINDING_ID = "freeboxos";
36
37     // List of all Bridge Type UIDs
38     public static final ThingTypeUID BRIDGE_TYPE_API = new ThingTypeUID(BINDING_ID, "api");
39
40     // Thing Types ID strings
41     private static final String THING_DECT = "dect";
42     private static final String THING_FXS = "fxs";
43     private static final String THING_REVOLUTION = "revolution";
44     private static final String THING_DELTA = "delta";
45     private static final String THING_WIFI_HOST = "wifihost";
46     private static final String THING_ACTIVE_PLAYER = "active-player";
47
48     public static final String THING_FREEPLUG = "freeplug";
49     public static final String THING_VM = "vm";
50     public static final String THING_CALL = "call";
51     public static final String THING_HOST = "host";
52     public static final String THING_PLAYER = "player";
53     public static final String THING_REPEATER = "repeater";
54
55     // List of all Thing Type UIDs
56     public static final ThingTypeUID THING_TYPE_REVOLUTION = new ThingTypeUID(BINDING_ID, THING_REVOLUTION);
57     public static final ThingTypeUID THING_TYPE_DELTA = new ThingTypeUID(BINDING_ID, THING_DELTA);
58     public static final ThingTypeUID THING_TYPE_FXS = new ThingTypeUID(BINDING_ID, THING_FXS);
59     public static final ThingTypeUID THING_TYPE_DECT = new ThingTypeUID(BINDING_ID, THING_DECT);
60     public static final ThingTypeUID THING_TYPE_CALL = new ThingTypeUID(BINDING_ID, THING_CALL);
61     public static final ThingTypeUID THING_TYPE_FREEPLUG = new ThingTypeUID(BINDING_ID, THING_FREEPLUG);
62     public static final ThingTypeUID THING_TYPE_HOST = new ThingTypeUID(BINDING_ID, THING_HOST);
63     public static final ThingTypeUID THING_TYPE_WIFI_HOST = new ThingTypeUID(BINDING_ID, THING_WIFI_HOST);
64     public static final ThingTypeUID THING_TYPE_PLAYER = new ThingTypeUID(BINDING_ID, THING_PLAYER);
65     public static final ThingTypeUID THING_TYPE_ACTIVE_PLAYER = new ThingTypeUID(BINDING_ID, THING_ACTIVE_PLAYER);
66     public static final ThingTypeUID THING_TYPE_VM = new ThingTypeUID(BINDING_ID, THING_VM);
67     public static final ThingTypeUID THING_TYPE_REPEATER = new ThingTypeUID(BINDING_ID, THING_REPEATER);
68
69     // All supported Thing types
70     public static final Set<ThingTypeUID> BRIDGE_TYPE_UIDS = Set.of(BRIDGE_TYPE_API);
71     public static final Set<ThingTypeUID> THINGS_TYPES_UIDS = Set.of(THING_TYPE_FXS, THING_TYPE_DECT, THING_TYPE_CALL,
72             THING_TYPE_HOST, THING_TYPE_VM, THING_TYPE_PLAYER, THING_TYPE_ACTIVE_PLAYER, THING_TYPE_DELTA,
73             THING_TYPE_REVOLUTION, THING_TYPE_REPEATER, THING_TYPE_WIFI_HOST, THING_TYPE_FREEPLUG);
74     public static final Set<ThingTypeUID> HOME_TYPES_UIDS = Set.of(Category.BASIC_SHUTTER.getThingTypeUID(),
75             Category.SHUTTER.getThingTypeUID(), Category.KFB.getThingTypeUID(), Category.CAMERA.getThingTypeUID(),
76             Category.ALARM.getThingTypeUID());
77
78     protected static final Set<ThingTypeUID> SUPPORTED_THING_TYPES_UIDS = Stream
79             .of(BRIDGE_TYPE_UIDS, THINGS_TYPES_UIDS, HOME_TYPES_UIDS).flatMap(Set::stream).collect(Collectors.toSet());
80
81     // Thing properties
82     // public static final String LAST_CALL_TIMESTAMP = "lastCallTimestamp";
83     public static final String ROLE = "role";
84     public static final String NET_ID = "netId";
85     public static final String ETHERNET_SPEED = "ethernetSpeed";
86     public static final String LOCAL = "local";
87     public static final String FULL_DUPLEX = "fullDuplex";
88
89     // List of all Group Channel ids
90     public static final String GROUP_SENSORS = "sensors";
91     public static final String GROUP_FANS = "fans";
92     public static final String CONNECTION_STATUS = "connection-status";
93     public static final String SYS_INFO = "sysinfo";
94     public static final String ACTIONS = "actions";
95     public static final String FILE_SHARING = "file-sharing";
96     public static final String CONNECTIVITY = "connectivity";
97     public static final String DISPLAY = "display";
98     public static final String VM_STATUS = "vmstatus";
99     public static final String GROUP_WIFI = "wifi";
100     public static final String REPEATER_MISC = "repeater-misc";
101
102     // List of all Channel ids
103     public static final String RSSI = "rssi";
104     public static final String SSID = "ssid";
105     public static final String WIFI_QUALITY = "wifi-quality";
106     public static final String WIFI_HOST = "wifi-host";
107     public static final String UPTIME = "uptime";
108     public static final String BOX_EVENT = "box-event";
109     public static final String LCD_BRIGHTNESS = "lcd-brightness";
110     public static final String LCD_ORIENTATION = "lcd-orientation";
111     public static final String LCD_FORCED = "lcd-forced";
112     public static final String WIFI_STATUS = "wifi-status";
113     public static final String IP_ADDRESS = "ip-address";
114     public static final String IPV6_ADDRESS = "ipv6-address";
115     public static final String LINE_STATUS = "line-status";
116     public static final String LINE_TYPE = "line-type";
117     public static final String LINE_MEDIA = "line-media";
118     public static final String PLAYER_STATUS = "player-status";
119     public static final String PACKAGE = "package";
120     public static final String RATE = "rate";
121     public static final String BYTES_UP = "bytes-up";
122     public static final String BYTES_DOWN = "bytes-down";
123     public static final String BW = "bandwidth";
124     public static final String PCT_BW = "bandwidth-usage";
125     public static final String ONHOOK = "onhook";
126     public static final String RINGING = "ringing";
127     public static final String HARDWARE_STATUS = "hardware-status";
128     public static final String TELEPHONY_SERVICE = "telephony-service";
129     public static final String GAIN_RX = "gain-rx";
130     public static final String GAIN_TX = "gain-tx";
131     public static final String FTP_STATUS = "ftp-status";
132     public static final String SAMBA_FILE_STATUS = "samba-file-status";
133     public static final String SAMBA_PRINTER_STATUS = "samba-printer-status";
134     public static final String AFP_FILE_STATUS = "afp-file-status";
135     public static final String REACHABLE = "reachable";
136     public static final String LAST_SEEN = "last-seen";
137     public static final String ALTERNATE_RING = "lcd-forced";
138     public static final String DECT_ACTIVE = "dect-active";
139     public static final String UPNPAV_STATUS = "upnpav-status";
140
141     // Call channels for groups Accepted, Missed and Outgoing
142     public static final String NUMBER = "number";
143     public static final String DURATION = "duration";
144     public static final String TIMESTAMP = "timestamp";
145     public static final String NAME = "name";
146
147     // Freebox player channels
148     public static final String AIRMEDIA_STATUS = "airmedia-status";
149     public static final String KEY_CODE = "key-code";
150
151     // Virtual machine channels
152     public static final String STATUS = "status";
153
154     // Repeater channels
155     public static final String LED = "led";
156     public static final String HOST_COUNT = "host-count";
157
158     // Home channels
159     public static final String KEYFOB_ENABLE = "enable";
160     public static final String NODE_BATTERY = "battery";
161     public static final String SHUTTER_POSITION = "position-set";
162     public static final String SHUTTER_STOP = "stop";
163     public static final String BASIC_SHUTTER_STATE = "state";
164     public static final String BASIC_SHUTTER_UP = "up";
165     public static final String BASIC_SHUTTER_DOWN = "down";
166     // public static final String BASIC_SHUTTER_CMD = "basic-shutter";
167     public static final String ALARM_PIN = "pin";
168     public static final String ALARM_SOUND = "sound";
169     public static final String ALARM_VOLUME = "volume";
170     public static final String ALARM_TIMEOUT1 = "timeout1";
171     public static final String ALARM_TIMEOUT2 = "timeout2";
172     public static final String ALARM_TIMEOUT3 = "timeout3";
173
174     public static final Set<Command> TRUE_COMMANDS = Set.of(OnOffType.ON, UpDownType.UP, OpenClosedType.OPEN);
175     public static final Set<Class<?>> ON_OFF_CLASSES = Set.of(OnOffType.class, UpDownType.class, OpenClosedType.class);
176 }