]> git.basschouten.com Git - openhab-addons.git/blob
6a7156f56d8980a5dc504b3c3490881212bde023
[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.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-2902B series weather stations
49     public static final String THING_TYPE_WS2902B = "ws2902b";
50     public static final ThingTypeUID UID_WS2902B = new ThingTypeUID(BINDING_ID, THING_TYPE_WS2902B);
51
52     // WS-8482 weather station
53     public static final String THING_TYPE_WS8482 = "ws8482";
54     public static final ThingTypeUID UID_WS8482 = new ThingTypeUID(BINDING_ID, THING_TYPE_WS8482);
55
56     // WS-0900-IP series weather stations
57     public static final String THING_TYPE_WS0900IP = "ws0900ip";
58     public static final ThingTypeUID UID_WS0900IP = new ThingTypeUID(BINDING_ID, THING_TYPE_WS0900IP);
59
60     // WS-0265 weather station
61     public static final String THING_TYPE_WS0265 = "ws0265";
62     public static final ThingTypeUID UID_WS0265 = new ThingTypeUID(BINDING_ID, THING_TYPE_WS0265);
63
64     // Collection of weather station thing types
65     public static final Set<ThingTypeUID> SUPPORTED_STATION_THING_TYPES_UIDS = Collections
66             .unmodifiableSet(Stream.of(UID_WS1400IP, UID_WS2902A, UID_WS2902B, UID_WS8482, UID_WS0900IP, UID_WS0265)
67                     .collect(Collectors.toSet()));
68
69     // Collection of all supported thing types
70     public static final Set<ThingTypeUID> SUPPORTED_THING_TYPES_UIDS = Collections.unmodifiableSet(
71             Stream.concat(SUPPORTED_BRIDGE_THING_TYPES_UIDS.stream(), SUPPORTED_STATION_THING_TYPES_UIDS.stream())
72                     .collect(Collectors.toSet()));
73
74     // Channel groups for specific weather stations
75     public static final String CHGRP_WS1400IP = "weatherDataWs1400ip";
76     public static final String CHGRP_WS2902A = "weatherDataWs2902a";
77     public static final String CHGRP_WS2902B = "weatherDataWs2902b";
78     public static final String CHGRP_WS8482 = "weatherDataWs8482";
79     public static final String CHGRP_WS0900IP = "weatherDataWs0900ip";
80     public static final String CHGRP_WS0265 = "weatherDataWs0265";
81
82     // Channel groups used across weather station types
83     public static final String CHGRP_STATION = "station";
84     public static final String CHGRP_INDOOR_SENSOR = "indoorSensor";
85     public static final String CHGRP_REMOTE_SENSOR = "remoteSensor";
86
87     // Channels Ids for data returned by the ambientweather.net API
88     public static final String CH_NAME = "name";
89     public static final String CH_LOCATION = "location";
90     public static final String CH_BATTERY_INDICATOR = "batteryIndicator";
91     public static final String CH_OBSERVATION_TIME = "observationTime";
92     public static final String CH_TEMPERATURE = "temperature";
93     public static final String CH_FEELING_TEMPERATURE = "feelingTemperature";
94     public static final String CH_DEW_POINT = "dewPoint";
95     public static final String CH_HUMIDITY = "relativeHumidity";
96     public static final String CH_PRESSURE_ABSOLUTE = "pressureAbsolute";
97     public static final String CH_PRESSURE_RELATIVE = "pressureRelative";
98     public static final String CH_WIND_SPEED = "windSpeed";
99     public static final String CH_WIND_DIRECTION_DEGREES = "windDirectionDegrees";
100     public static final String CH_WIND_SPEED_MAX_DAILY = "windSpeedMaxDaily";
101     public static final String CH_WIND_GUST = "windGust";
102     public static final String CH_WIND_GUST_MAX_DAILY = "windGustMaxDaily";
103     public static final String CH_WIND_SPEED_AVG_2MIN = "windSpeedAvg2Minute";
104     public static final String CH_WIND_DIRECTION_AVG_2MIN = "windDirectionDegreesAvg2Min";
105     public static final String CH_WIND_SPEED_AVG_10MIN = "windSpeedAvg10Minute";
106     public static final String CH_WIND_DIRECTION_AVG_10MIN = "windDirectionDegreesAvg10Min";
107     public static final String CH_RAIN_HOURLY_RATE = "rainHourlyRate";
108     public static final String CH_RAIN_DAY = "rainDay";
109     public static final String CH_RAIN_WEEK = "rainWeek";
110     public static final String CH_RAIN_MONTH = "rainMonth";
111     public static final String CH_RAIN_YEAR = "rainYear";
112     public static final String CH_RAIN_TOTAL = "rainTotal";
113     public static final String CH_RAIN_EVENT = "rainEvent";
114     public static final String CH_RAIN_LAST_TIME = "rainLastTime";
115     public static final String CH_SOLAR_RADIATION = "solarRadiation";
116     public static final String CH_UV_INDEX = "uvIndex";
117     public static final String CH_CO2 = "co2";
118     public static final String CH_SOIL_TEMPERATURE = "soilTemperature";
119     public static final String CH_SOIL_MOISTURE = "soilMoisture";
120     public static final String CH_RELAY = "relay";
121
122     // Channel Ids for calculated channels
123     public static final String CH_PRESSURE_TREND = "pressureTrend";
124     public static final String CH_WIND_DIRECTION = "windDirection";
125     public static final String CH_UV_DANGER = "uvDanger";
126     public static final String CH_SOIL_MOISTURE_LEVEL = "soilMoistureLevel";
127
128     // Bridge configuration parameters
129     public static final String CONFIG_API_KEY = "apiKey";
130     public static final String CONFIG_APPLICATION_KEY = "applicationKey";
131
132     // Weather station configuration parameters
133     public static final String CONFIG_MAC_ADDRESS = "macAddress";
134 }