]> git.basschouten.com Git - openhab-addons.git/blob
9c588c3343857355b2b8faf7ec0aa0aa4b36a0bd
[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 Channel Groups ids
90     public static final String GROUP_SENSORS = "sensors";
91     public static final String GROUP_FANS = "fans";
92     public static final String GROUP_CONNECTION_STATUS = "connection-status";
93     public static final String GROUP_SYS_INFO = "sysinfo";
94     public static final String GROUP_ACTIONS = "actions";
95     public static final String GROUP_PLAYER_STATUS = "player-status";
96     public static final String GROUP_FILE_SHARING = "file-sharing";
97     public static final String GROUP_CONNECTIVITY = "connectivity";
98     public static final String GROUP_DISPLAY = "display";
99     public static final String GROUP_VM_STATUS = "vmstatus";
100     public static final String GROUP_WIFI = "wifi";
101     public static final String GROUP_REPEATER_MISC = "repeater-misc";
102     public static final String GROUP_XDSL = "xdsl";
103     public static final String GROUP_FTTH = "ftth";
104
105     // List of all Channel ids
106     public static final String RSSI = "rssi";
107     public static final String SSID = "ssid";
108     public static final String WIFI_QUALITY = "wifi-quality";
109     public static final String WIFI_HOST = "wifi-host";
110     public static final String UPTIME = "uptime";
111     public static final String BOX_EVENT = "box-event";
112     public static final String LCD_BRIGHTNESS = "lcd-brightness";
113     public static final String LCD_ORIENTATION = "lcd-orientation";
114     public static final String LCD_FORCED = "lcd-forced";
115     public static final String WIFI_STATUS = "wifi-status";
116     public static final String IP_ADDRESS = "ip-address";
117     public static final String IPV6_ADDRESS = "ipv6-address";
118     public static final String LINE_STATUS = "line-status";
119     public static final String LINE_TYPE = "line-type";
120     public static final String LINE_MEDIA = "line-media";
121     public static final String PLAYER_STATUS = "player-status";
122     public static final String PACKAGE = "package";
123     public static final String RATE = "rate";
124     public static final String BYTES_UP = "bytes-up";
125     public static final String BYTES_DOWN = "bytes-down";
126     public static final String BW = "bandwidth";
127     public static final String PCT_BW = "bandwidth-usage";
128     public static final String CONNECTION_STATUS = "connection-status";
129     public static final String ONHOOK = "onhook";
130     public static final String RINGING = "ringing";
131     public static final String HARDWARE_STATUS = "hardware-status";
132     public static final String TELEPHONY_SERVICE = "telephony-service";
133     public static final String GAIN_RX = "gain-rx";
134     public static final String GAIN_TX = "gain-tx";
135     public static final String FTP_STATUS = "ftp-status";
136     public static final String SAMBA_FILE_STATUS = "samba-file-status";
137     public static final String SAMBA_PRINTER_STATUS = "samba-printer-status";
138     public static final String AFP_FILE_STATUS = "afp-file-status";
139     public static final String REACHABLE = "reachable";
140     public static final String LAST_SEEN = "last-seen";
141     public static final String ALTERNATE_RING = "lcd-forced";
142     public static final String DECT_ACTIVE = "dect-active";
143     public static final String UPNPAV_STATUS = "upnpav-status";
144
145     // Call channels for groups Accepted, Missed and Outgoing
146     public static final String NUMBER = "number";
147     public static final String DURATION = "duration";
148     public static final String TIMESTAMP = "timestamp";
149     public static final String NAME = "name";
150
151     // Freebox player channels
152     public static final String AIRMEDIA_STATUS = "airmedia-status";
153     public static final String KEY_CODE = "key-code";
154
155     // Virtual machine channels
156     public static final String STATUS = "status";
157
158     // Repeater channels
159     public static final String LED = "led";
160     public static final String HOST_COUNT = "host-count";
161
162     // FTTH channels ids
163     public static final String SFP_PRESENT = "sfp-present";
164     public static final String SFP_ALIM = "sfp-alim-ok";
165     public static final String SFP_POWER = "sfp-has-power";
166     public static final String SFP_SIGNAL = "sfp-has-signal";
167     public static final String SFP_LINK = "link";
168     public static final String SFP_PWR_TX = "sfp-pwr-tx";
169     public static final String SFP_PWR_RX = "sfp-pwr-rx";
170
171     // xDSL channels ids
172     public static final String XDSL_READY = "ready";
173     public static final String XDSL_STATUS = "status";
174     public static final String XDSL_MODULATION = "modulation";
175     public static final String XDSL_UPTIME = "uptime";
176
177     // Home channels
178     public static final String KEYFOB_ENABLE = "enable";
179     public static final String NODE_BATTERY = "battery";
180     public static final String SHUTTER_POSITION = "position-set";
181     public static final String SHUTTER_STOP = "stop";
182     public static final String BASIC_SHUTTER_STATE = "state";
183     public static final String BASIC_SHUTTER_UP = "up";
184     public static final String BASIC_SHUTTER_DOWN = "down";
185     // public static final String BASIC_SHUTTER_CMD = "basic-shutter";
186     public static final String ALARM_PIN = "pin";
187     public static final String ALARM_SOUND = "sound";
188     public static final String ALARM_VOLUME = "volume";
189     public static final String ALARM_TIMEOUT1 = "timeout1";
190     public static final String ALARM_TIMEOUT2 = "timeout2";
191     public static final String ALARM_TIMEOUT3 = "timeout3";
192
193     public static final Set<Command> TRUE_COMMANDS = Set.of(OnOffType.ON, UpDownType.UP, OpenClosedType.OPEN);
194     public static final Set<Class<?>> ON_OFF_CLASSES = Set.of(OnOffType.class, UpDownType.class, OpenClosedType.class);
195 }