]> git.basschouten.com Git - openhab-addons.git/blob
17845aad7b0761692056900bf7c3f50b1129ecf9
[openhab-addons.git] /
1 /**
2  * Copyright (c) 2010-2023 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.weathercompany.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 WeatherCompanyBindingConstants} 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 WeatherCompanyBindingConstants {
31     private static final String BINDING_ID = "weathercompany";
32
33     // Bridge
34     public static final String THING_TYPE_BRIDGE = "account";
35     public static final ThingTypeUID UID_BRIDGE = new ThingTypeUID(BINDING_ID, THING_TYPE_BRIDGE);
36     public static final Set<ThingTypeUID> SUPPORTED_BRIDGE_THING_TYPES_UIDS = Collections
37             .unmodifiableSet(Stream.of(UID_BRIDGE).collect(Collectors.toSet()));
38
39     // Thing Types
40     public static final ThingTypeUID THING_TYPE_WEATHER_OBSERVATIONS = new ThingTypeUID(BINDING_ID,
41             "weather-observations");
42     public static final ThingTypeUID THING_TYPE_WEATHER_FORECAST = new ThingTypeUID(BINDING_ID, "weather-forecast");
43
44     // Collection of weather station thing types
45     public static final Set<ThingTypeUID> SUPPORTED_WEATHER_THING_TYPES_UIDS = Collections.unmodifiableSet(
46             Stream.of(THING_TYPE_WEATHER_OBSERVATIONS, THING_TYPE_WEATHER_FORECAST).collect(Collectors.toSet()));
47
48     // Collection of all supported thing types
49     public static final Set<ThingTypeUID> SUPPORTED_THING_TYPES_UIDS = Collections.unmodifiableSet(
50             Stream.concat(SUPPORTED_BRIDGE_THING_TYPES_UIDS.stream(), SUPPORTED_WEATHER_THING_TYPES_UIDS.stream())
51                     .collect(Collectors.toSet()));
52
53     // Thing configuration
54     public static final String CONFIG_LOCATION_TYPE = "locationType";
55     public static final String CONFIG_LOCATION_TYPE_GEOCODE = "geocode";
56     public static final String CONFIG_LOCATION_TYPE_POSTAL_CODE = "postalCode";
57     public static final String CONFIG_LOCATION_TYPE_IATA_CODE = "iataCode";
58     public static final String CONFIG_GEOCODE = "geocode";
59     public static final String CONFIG_POSTAL_CODE = "postalCode";
60     public static final String CONFIG_IATA_CODE = "iataCode";
61     public static final String CONFIG_LANGUAGE = "language";
62     public static final String CONFIG_LANGUAGE_DEFAULT = "en-US";
63     public static final String CONFIG_PWS_STATION_ID = "pwsStationId";
64
65     // Used to sanitize the API key in the URL in debug log messages
66     public static final String REPLACE_API_KEY = "XXXXXXXXXXXXXXXXXXXXX";
67
68     // List of pwsObservations channel IDs
69     public static final String CH_PWS_HUMIDITY = "currentHumidity";
70     public static final String CH_PWS_PRECIPTATION_RATE = "currentPrecipitationRate";
71     public static final String CH_PWS_PRECIPITATION_TOTAL = "currentPrecipitationTotal";
72     public static final String CH_PWS_PRESSURE = "currentPressure";
73     public static final String CH_PWS_SOLAR_RADIATION = "currentSolarRadiation";
74     public static final String CH_PWS_TEMP = "currentTemperature";
75     public static final String CH_PWS_TEMP_DEW_POINT = "currentTemperatureDewPoint";
76     public static final String CH_PWS_TEMP_HEAT_INDEX = "currentTemperatureHeatIndex";
77     public static final String CH_PWS_TEMP_WIND_CHILL = "currentTemperatureWindChill";
78     public static final String CH_PWS_UV = "currentUv";
79     public static final String CH_PWS_WIND_DIRECTION = "currentWindDirection";
80     public static final String CH_PWS_WIND_SPEED = "currentWindSpeed";
81     public static final String CH_PWS_WIND_GUST = "currentWindSpeedGust";
82     public static final String CH_PWS_COUNTRY = "country";
83     public static final String CH_PWS_LOCATION = "location";
84     public static final String CH_PWS_ELEVATION = "elevation";
85     public static final String CH_PWS_NEIGHBORHOOD = "neighborhood";
86     public static final String CH_PWS_OBSERVATION_TIME_LOCAL = "observationTimeLocal";
87     public static final String CH_PWS_QC_STATUS = "qcStatus";
88     public static final String CH_PWS_SOFTWARE_TYPE = "softwareType";
89     public static final String CH_PWS_STATION_ID = "stationId";
90
91     // Channel group forecastDay
92     public static final String CH_GROUP_FORECAST_DAY = "forecastDay";
93
94     // List of forecastDay channel IDs
95     public static final String CH_DAY_OF_WEEK = "dayOfWeek";
96     public static final String CH_VALID_TIME_LOCAL = "validTimeLocal";
97     public static final String CH_EXPIRATION_TIME_LOCAL = "expirationTimeLocal";
98     public static final String CH_NARRATIVE = "narrative";
99     public static final String CH_TEMP_MIN = "temperatureMin";
100     public static final String CH_TEMP_MAX = "temperatureMax";
101     public static final String CH_PRECIP_RAIN = "precipitationRain";
102     public static final String CH_PRECIP_SNOW = "precipitationSnow";
103
104     // Channel group forecastDaypart
105     public static final String CH_GROUP_FORECAST_DAYPART_DAY = "Day";
106     public static final String CH_GROUP_FORECAST_DAYPART_NIGHT = "Night";
107
108     // List of forecastDaypart channel IDs
109     public static final String CH_DP_NAME = "daypartName";
110     public static final String CH_DP_DAY_OR_NIGHT = "dayOrNight";
111     public static final String CH_DP_NARRATIVE = "narrative";
112     public static final String CH_DP_WX_PHRASE_SHORT = "wxPhraseShort";
113     public static final String CH_DP_WX_PHRASE_LONG = "wxPhraseLong";
114     public static final String CH_DP_TEMP = "temperature";
115     public static final String CH_DP_TEMP_HEAT_INDEX = "temperatureHeatIndex";
116     public static final String CH_DP_TEMP_WIND_CHILL = "temperatureWindChill";
117     public static final String CH_DP_HUMIDITY = "relativeHumidity";
118     public static final String CH_DP_CLOUD_COVER = "cloudCover";
119     public static final String CH_DP_WIND_SPEED = "windSpeed";
120     public static final String CH_DP_WIND_DIR = "windDirection";
121     public static final String CH_DP_WIND_DIR_CARDINAL = "windDirectionCardinal";
122     public static final String CH_DP_WIND_PHRASE = "WindPhrase";
123     public static final String CH_DP_PRECIP_CHANCE = "precipitationChance";
124     public static final String CH_DP_PRECIP_TYPE = "precipitationType";
125     public static final String CH_DP_PRECIP_RAIN = "precipitationRain";
126     public static final String CH_DP_PRECIP_SNOW = "precipitationSnow";
127     public static final String CH_DP_SNOW_RANGE = "snowRange";
128     public static final String CH_DP_THUNDER_CATEGORY = "thunderCategory";
129     public static final String CH_DP_THUNDER_INDEX = "thunderIndex";
130     public static final String CH_DP_UV_DESCRIPTION = "uvDescription";
131     public static final String CH_DP_UV_INDEX = "uvIndex";
132     public static final String CH_DP_ICON_CODE = "iconCode";
133     public static final String CH_DP_ICON_CODE_EXTEND = "iconCodeExtend";
134     public static final String CH_DP_ICON_IMAGE = "iconImage";
135     public static final String CH_DP_QUALIFIER_PHRASE = "qualifierPhrase";
136     public static final String CH_DP_QUALIFIER_CODE = "qualifierCode";
137 }