]> git.basschouten.com Git - openhab-addons.git/blob
1e7580693da8e9f15091a75b7b154f874f32a714
[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.nibeuplink.internal;
14
15 import java.util.Collections;
16 import java.util.Set;
17 import java.util.concurrent.TimeUnit;
18 import java.util.stream.Collectors;
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 NibeUplinkBindingConstants} class defines common constants, which are
26  * used across the whole binding.
27  *
28  * @author Alexander Friese - initial contribution
29  */
30 @NonNullByDefault
31 public final class NibeUplinkBindingConstants {
32
33     private static final String BINDING_ID = "nibeuplink";
34
35     // List of main device types
36     public static final String DEVICE_VVM320 = "vvm320";
37     public static final String DEVICE_VVM310 = "vvm310";
38     public static final String DEVICE_F730 = "f730";
39     public static final String DEVICE_F750 = "f750";
40     public static final String DEVICE_F1145 = "f1145";
41     public static final String DEVICE_F1155 = "f1155";
42
43     // List of all Thing Type UIDs
44     public static final ThingTypeUID THING_TYPE_VVM320 = new ThingTypeUID(BINDING_ID, DEVICE_VVM320);
45     public static final ThingTypeUID THING_TYPE_VVM310 = new ThingTypeUID(BINDING_ID, DEVICE_VVM310);
46     public static final ThingTypeUID THING_TYPE_F730 = new ThingTypeUID(BINDING_ID, DEVICE_F730);
47     public static final ThingTypeUID THING_TYPE_F750 = new ThingTypeUID(BINDING_ID, DEVICE_F750);
48     public static final ThingTypeUID THING_TYPE_F1145 = new ThingTypeUID(BINDING_ID, DEVICE_F1145);
49     public static final ThingTypeUID THING_TYPE_F1155 = new ThingTypeUID(BINDING_ID, DEVICE_F1155);
50
51     public static final String VALID_CHANNEL_ID_REGEX = "[1-5][0-9][0-9][0-9][0-9]";
52
53     public static final String PARAMETER_NAME_WRITE_API_URL = "writeApiUrl";
54     public static final String PARAMETER_NAME_VALIDATION_REGEXP = "validationExpression";
55     public static final String PARAMETER_NAME_OFF_MAPPING = "offMapping";
56     public static final String PARAMETER_NAME_ON_MAPPING = "onMapping";
57
58     // List of all channel types
59     public static final String CHANNEL_TYPE_NUMBER_UNSCALED = "type-number-unscaled";
60     public static final String CHANNEL_TYPE_NUMBER_SCALE10 = "type-number-scale10";
61     public static final String CHANNEL_TYPE_NUMBER_SCALE100 = "type-number-scale100";
62     public static final String CHANNEL_TYPE_TEMPERATURE = "type-temperature";
63     public static final String CHANNEL_TYPE_SWITCH = "type-switch";
64     public static final String CHANNEL_TYPE_POWER = "type-power";
65     public static final String CHANNEL_TYPE_ENERGY = "type-energy";
66     public static final String CHANNEL_TYPE_ELECTRIC_CURRENT = "type-electric-current";
67     public static final String CHANNEL_TYPE_TIME_UNSCALED = "type-time-unscaled";
68     public static final String CHANNEL_TYPE_TIME_SCALE10 = "type-time-scale10";
69     public static final String CHANNEL_TYPE_FREQUENCY_UNSCALED = "type-frequency-unscaled";
70     public static final String CHANNEL_TYPE_FREQUENCY_SCALE10 = "type-frequency-scale10";
71     public static final String CHANNEL_TYPE_FLOW = "type-flow";
72     public static final String CHANNEL_TYPE_SPEED = "type-speed-percent";
73     public static final String CHANNEL_TYPE_DEFROSTING_STATE = "type-defrosting-state";
74     public static final String CHANNEL_TYPE_HPAC_STATE = "type-hpac-state";
75     public static final String CHANNEL_TYPE_PRESSURE = "type-pressure";
76
77     public static final String RW_CHANNEL_PREFIX = "rw";
78     public static final String CHANNEL_TYPE_HEAT_OFFSET_RW = "rwtype-heat-offset";
79     public static final String CHANNEL_TYPE_START_COOLING_RW = "rwtype-start-cooling";
80     public static final String CHANNEL_TYPE_STOP_HEATING_RW = "rwtype-stop-heating";
81     public static final String CHANNEL_TYPE_STOP_ADD_HEATING_RW = "rwtype-stop-add-heating";
82     public static final String CHANNEL_TYPE_FILTER_TIME_RW = "rwtype-filter-time";
83     public static final String CHANNEL_TYPE_ROOM_SENSOR_FACTOR_RW = "rwtype-room-sensor-factor";
84     public static final String CHANNEL_TYPE_SWITCH_RW = "rwtype-switch";
85     public static final String CHANNEL_TYPE_DEGREE_MINUTES_RW = "rwtype-degree-minutes";
86     public static final String CHANNEL_TYPE_HW_LUX_RW = "rwtype-hw-lux";
87     public static final String CHANNEL_TYPE_HW_MODE_RW = "rwtype-hw-mode";
88     public static final String CHANNEL_TYPE_FAN_SPEED_RW = "rwtype-fan-speed";
89
90     // Status Keys
91     public static final String STATUS_INVALID_NIBE_ID = "@text/status.invalid.nibeId";
92     public static final String STATUS_INVALID_CREDENTIALS = "@text/status.invalid.credentials";
93
94     // URLs
95     public static final String LOGIN_URL = "https://www.nibeuplink.com/LogIn";
96     public static final String DATA_API_URL = "https://www.nibeuplink.com/PrivateAPI/QueueValues";
97     public static final String MANAGE_API_BASE_URL = "https://www.nibeuplink.com/System/";
98
99     // login field names
100     public static final String LOGIN_FIELD_PASSWORD = "Password";
101     public static final String LOGIN_FIELD_EMAIL = "Email";
102     public static final String LOGIN_FIELD_RETURN_URL = "returnUrl";
103
104     // other field names
105     public static final String DATA_API_FIELD_LAST_DATE = "currentWebDate";
106     public static final String DATA_API_FIELD_LAST_DATE_DEFAULT_VALUE = "01.01.2017 13:37:42";
107     public static final String DATA_API_FIELD_ID = "hpid";
108     public static final String DATA_API_FIELD_DATA = "variables";
109     public static final String DATA_API_FIELD_DATA_DEFAULT_VALUE = "0";
110
111     // web request constants
112     public static final long WEB_REQUEST_INITIAL_DELAY = TimeUnit.SECONDS.toMillis(30);
113     public static final long WEB_REQUEST_INTERVAL = TimeUnit.SECONDS.toMillis(5);
114     public static final int WEB_REQUEST_QUEUE_MAX_SIZE = 20;
115
116     public static final Set<ThingTypeUID> SUPPORTED_THING_TYPES_UIDS = Collections
117             .unmodifiableSet(Stream.of(THING_TYPE_VVM320, THING_TYPE_VVM310, THING_TYPE_F730, THING_TYPE_F750,
118                     THING_TYPE_F1145, THING_TYPE_F1155).collect(Collectors.toSet()));
119 }