]> git.basschouten.com Git - openhab-addons.git/blob
d020130391ad3bb40c04f31799939058db3fc0dd
[openhab-addons.git] /
1 /**
2  * Copyright (c) 2010-2020 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.ambientweather.internal;
14
15 import java.util.Collections;
16 import java.util.Set;
17 import java.util.stream.Collectors;
18 import java.util.stream.Stream;
19
20 import org.eclipse.jdt.annotation.NonNullByDefault;
21 import org.openhab.core.thing.ThingTypeUID;
22
23 /**
24  * The {@link AmbientWeatherBindingConstants} class defines common constants, which are
25  * used across the whole binding.
26  *
27  * @author Mark Hilbush - Initial contribution
28  */
29 @NonNullByDefault
30 public class AmbientWeatherBindingConstants {
31
32     private static final String BINDING_ID = "ambientweather";
33
34     // Bridge
35     public static final String THING_TYPE_BRIDGE = "bridge";
36     public static final ThingTypeUID UID_BRIDGE = new ThingTypeUID(BINDING_ID, THING_TYPE_BRIDGE);
37     public static final Set<ThingTypeUID> SUPPORTED_BRIDGE_THING_TYPES_UIDS = Collections
38             .unmodifiableSet(Stream.of(UID_BRIDGE).collect(Collectors.toSet()));
39
40     // WS-1400-IP series weather stations
41     public static final String THING_TYPE_WS1400IP = "ws1400ip";
42     public static final ThingTypeUID UID_WS1400IP = new ThingTypeUID(BINDING_ID, THING_TYPE_WS1400IP);
43
44     // WS-2902A series weather stations
45     public static final String THING_TYPE_WS2902A = "ws2902a";
46     public static final ThingTypeUID UID_WS2902A = new ThingTypeUID(BINDING_ID, THING_TYPE_WS2902A);
47
48     // WS-8482 weather station
49     public static final String THING_TYPE_WS8482 = "ws8482";
50     public static final ThingTypeUID UID_WS8482 = new ThingTypeUID(BINDING_ID, THING_TYPE_WS8482);
51
52     // WS-0900-IP series weather stations
53     public static final String THING_TYPE_WS0900IP = "ws0900ip";
54     public static final ThingTypeUID UID_WS0900IP = new ThingTypeUID(BINDING_ID, THING_TYPE_WS0900IP);
55
56     // WS-0265 weather station
57     public static final String THING_TYPE_WS0265 = "ws0265";
58     public static final ThingTypeUID UID_WS0265 = new ThingTypeUID(BINDING_ID, THING_TYPE_WS0265);
59
60     // Collection of weather station thing types
61     public static final Set<ThingTypeUID> SUPPORTED_STATION_THING_TYPES_UIDS = Collections.unmodifiableSet(
62             Stream.of(UID_WS1400IP, UID_WS2902A, UID_WS8482, UID_WS0900IP, UID_WS0265).collect(Collectors.toSet()));
63
64     // Collection of all supported thing types
65     public static final Set<ThingTypeUID> SUPPORTED_THING_TYPES_UIDS = Collections.unmodifiableSet(
66             Stream.concat(SUPPORTED_BRIDGE_THING_TYPES_UIDS.stream(), SUPPORTED_STATION_THING_TYPES_UIDS.stream())
67                     .collect(Collectors.toSet()));
68
69     // Channel groups for specific weather stations
70     public static final String CHGRP_WS1400IP = "weatherDataWs1400ip";
71     public static final String CHGRP_WS2902A = "weatherDataWs2902a";
72     public static final String CHGRP_WS8482 = "weatherDataWs8482";
73     public static final String CHGRP_WS0900IP = "weatherDataWs0900ip";
74     public static final String CHGRP_WS0265 = "weatherDataWs0265";
75
76     // Channel groups used across weather station types
77     public static final String CHGRP_STATION = "station";
78     public static final String CHGRP_INDOOR_SENSOR = "indoorSensor";
79     public static final String CHGRP_REMOTE_SENSOR = "remoteSensor";
80
81     // Channels Ids for data returned by the ambientweather.net API
82     public static final String CH_NAME = "name";
83     public static final String CH_LOCATION = "location";
84     public static final String CH_BATTERY_INDICATOR = "batteryIndicator";
85     public static final String CH_OBSERVATION_TIME = "observationTime";
86     public static final String CH_TEMPERATURE = "temperature";
87     public static final String CH_FEELING_TEMPERATURE = "feelingTemperature";
88     public static final String CH_DEW_POINT = "dewPoint";
89     public static final String CH_HUMIDITY = "relativeHumidity";
90     public static final String CH_PRESSURE_ABSOLUTE = "pressureAbsolute";
91     public static final String CH_PRESSURE_RELATIVE = "pressureRelative";
92     public static final String CH_WIND_SPEED = "windSpeed";
93     public static final String CH_WIND_DIRECTION_DEGREES = "windDirectionDegrees";
94     public static final String CH_WIND_SPEED_MAX_DAILY = "windSpeedMaxDaily";
95     public static final String CH_WIND_GUST = "windGust";
96     public static final String CH_WIND_GUST_MAX_DAILY = "windGustMaxDaily";
97     public static final String CH_WIND_SPEED_AVG_2MIN = "windSpeedAvg2Minute";
98     public static final String CH_WIND_DIRECTION_AVG_2MIN = "windDirectionDegreesAvg2Min";
99     public static final String CH_WIND_SPEED_AVG_10MIN = "windSpeedAvg10Minute";
100     public static final String CH_WIND_DIRECTION_AVG_10MIN = "windDirectionDegreesAvg10Min";
101     public static final String CH_RAIN_HOURLY_RATE = "rainHourlyRate";
102     public static final String CH_RAIN_DAY = "rainDay";
103     public static final String CH_RAIN_WEEK = "rainWeek";
104     public static final String CH_RAIN_MONTH = "rainMonth";
105     public static final String CH_RAIN_YEAR = "rainYear";
106     public static final String CH_RAIN_TOTAL = "rainTotal";
107     public static final String CH_RAIN_EVENT = "rainEvent";
108     public static final String CH_RAIN_LAST_TIME = "rainLastTime";
109     public static final String CH_SOLAR_RADIATION = "solarRadiation";
110     public static final String CH_UV_INDEX = "uvIndex";
111     public static final String CH_CO2 = "co2";
112     public static final String CH_SOIL_TEMPERATURE = "soilTemperature";
113     public static final String CH_SOIL_MOISTURE = "soilMoisture";
114     public static final String CH_RELAY = "relay";
115
116     // Channel Ids for calculated channels
117     public static final String CH_PRESSURE_TREND = "pressureTrend";
118     public static final String CH_WIND_DIRECTION = "windDirection";
119     public static final String CH_UV_DANGER = "uvDanger";
120     public static final String CH_SOIL_MOISTURE_LEVEL = "soilMoistureLevel";
121
122     // Bridge configuration parameters
123     public static final String CONFIG_API_KEY = "apiKey";
124     public static final String CONFIG_APPLICATION_KEY = "applicationKey";
125
126     // Weather station configuration parameters
127     public static final String CONFIG_MAC_ADDRESS = "macAddress";
128 }