]> git.basschouten.com Git - openhab-addons.git/blob
1f039a06faa0ce6e71aa60b72b3c4f0714e91314
[openhab-addons.git] /
1 /**
2  * Copyright (c) 2010-2021 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.openwebnet.internal;
14
15 import java.util.Collection;
16 import java.util.HashSet;
17 import java.util.Set;
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 OpenWebNetBindingConstants} class defines common constants, which are used across the whole binding.
26  *
27  * @author Massimo Valla - Initial contribution
28  * @author Andrea Conte - Energy management, Thermoregulation
29  * @author Gilberto Cocchi - Thermoregulation
30  */
31
32 @NonNullByDefault
33 public class OpenWebNetBindingConstants {
34
35     public static final String BINDING_ID = "openwebnet";
36
37     public static final int THING_STATE_REQ_TIMEOUT_SEC = 5;
38
39     // #LIST OF Thing Type UIDs
40     // generic device (used for not identified devices)
41     public static final ThingTypeUID THING_TYPE_GENERIC_DEVICE = new ThingTypeUID(BINDING_ID, "generic_device");
42     public static final String THING_LABEL_GENERIC_DEVICE = "GENERIC Device";
43     // bridges
44     public static final ThingTypeUID THING_TYPE_ZB_GATEWAY = new ThingTypeUID(BINDING_ID, "zb_gateway");
45     public static final String THING_LABEL_ZB_GATEWAY = "ZigBee USB Gateway";
46     public static final ThingTypeUID THING_TYPE_BUS_GATEWAY = new ThingTypeUID(BINDING_ID, "bus_gateway");
47     public static final String THING_LABEL_BUS_GATEWAY = "BUS Gateway";
48     // other thing types
49     // BUS
50     public static final ThingTypeUID THING_TYPE_BUS_ON_OFF_SWITCH = new ThingTypeUID(BINDING_ID, "bus_on_off_switch");
51     public static final String THING_LABEL_BUS_ON_OFF_SWITCH = "Switch";
52     public static final ThingTypeUID THING_TYPE_BUS_DIMMER = new ThingTypeUID(BINDING_ID, "bus_dimmer");
53     public static final String THING_LABEL_BUS_DIMMER = "Dimmer";
54     public static final ThingTypeUID THING_TYPE_BUS_AUTOMATION = new ThingTypeUID(BINDING_ID, "bus_automation");
55     public static final String THING_LABEL_BUS_AUTOMATION = "Automation";
56     public static final ThingTypeUID THING_TYPE_BUS_ENERGY_METER = new ThingTypeUID(BINDING_ID, "bus_energy_meter");
57     public static final String THING_LABEL_BUS_ENERGY_METER = "Energy Meter";
58     public static final ThingTypeUID THING_TYPE_BUS_THERMO_SENSOR = new ThingTypeUID(BINDING_ID, "bus_thermo_sensor");
59     public static final String THING_LABEL_BUS_THERMO_SENSOR = "Thermo Sensor";
60     public static final ThingTypeUID THING_TYPE_BUS_THERMO_ZONE = new ThingTypeUID(BINDING_ID, "bus_thermo_zone");
61     public static final String THING_LABEL_BUS_THERMO_ZONE = "Thermo Zone";
62
63     // ZIGBEE
64     public static final ThingTypeUID THING_TYPE_ZB_ON_OFF_SWITCH = new ThingTypeUID(BINDING_ID, "zb_on_off_switch");
65     public static final String THING_LABEL_ZB_ON_OFF_SWITCH = "ZigBee Switch";
66     public static final ThingTypeUID THING_TYPE_ZB_ON_OFF_SWITCH_2UNITS = new ThingTypeUID(BINDING_ID,
67             "zb_on_off_switch2u");
68     public static final String THING_LABEL_ZB_ON_OFF_SWITCH_2UNITS = "ZigBee 2-units Switch";
69     public static final ThingTypeUID THING_TYPE_ZB_DIMMER = new ThingTypeUID(BINDING_ID, "zb_dimmer");
70     public static final String THING_LABEL_ZB_DIMMER = "ZigBee Dimmer";
71     public static final ThingTypeUID THING_TYPE_ZB_AUTOMATION = new ThingTypeUID(BINDING_ID, "zb_automation");
72     public static final String THING_LABEL_ZB_AUTOMATION = "ZigBee Automation";
73
74     // #SUPPORTED THINGS SETS
75     // ## Generic
76     public static final Set<ThingTypeUID> GENERIC_SUPPORTED_THING_TYPES = Set.of(THING_TYPE_GENERIC_DEVICE);
77     // ## Lighting
78     public static final Set<ThingTypeUID> LIGHTING_SUPPORTED_THING_TYPES = Set.of(THING_TYPE_ZB_ON_OFF_SWITCH,
79             THING_TYPE_ZB_ON_OFF_SWITCH_2UNITS, THING_TYPE_ZB_DIMMER, THING_TYPE_BUS_ON_OFF_SWITCH,
80             THING_TYPE_BUS_DIMMER);
81     // ## Automation
82     public static final Set<ThingTypeUID> AUTOMATION_SUPPORTED_THING_TYPES = Set.of(THING_TYPE_ZB_AUTOMATION,
83             THING_TYPE_BUS_AUTOMATION);
84
85     // ## Thermoregulation
86     public static final Set<ThingTypeUID> THERMOREGULATION_SUPPORTED_THING_TYPES = Set.of(THING_TYPE_BUS_THERMO_ZONE,
87             THING_TYPE_BUS_THERMO_SENSOR);
88
89     // ## Energy Management
90     public static final Set<ThingTypeUID> ENERGY_MANAGEMENT_SUPPORTED_THING_TYPES = Set.of(THING_TYPE_BUS_ENERGY_METER);
91
92     // ## Groups
93     public static final Set<ThingTypeUID> DEVICE_SUPPORTED_THING_TYPES = Stream
94             .of(LIGHTING_SUPPORTED_THING_TYPES, AUTOMATION_SUPPORTED_THING_TYPES,
95                     THERMOREGULATION_SUPPORTED_THING_TYPES, ENERGY_MANAGEMENT_SUPPORTED_THING_TYPES,
96                     GENERIC_SUPPORTED_THING_TYPES)
97             .flatMap(Collection::stream).collect(Collectors.toCollection(HashSet::new));
98
99     public static final Set<ThingTypeUID> BRIDGE_SUPPORTED_THING_TYPES = Set.of(THING_TYPE_ZB_GATEWAY,
100             THING_TYPE_BUS_GATEWAY);
101
102     public static final Set<ThingTypeUID> ALL_SUPPORTED_THING_TYPES = Stream
103             .of(DEVICE_SUPPORTED_THING_TYPES, BRIDGE_SUPPORTED_THING_TYPES).flatMap(Collection::stream)
104             .collect(Collectors.toCollection(HashSet::new));
105
106     // LIST OF ALL CHANNEL IDs
107     // lighting
108     public static final String CHANNEL_SWITCH = "switch";
109     public static final String CHANNEL_SWITCH_01 = "switch_01";
110     public static final String CHANNEL_SWITCH_02 = "switch_02";
111     public static final String CHANNEL_BRIGHTNESS = "brightness";
112
113     // automation
114     public static final String CHANNEL_SHUTTER = "shutter";
115
116     // thermo
117     public static final String CHANNEL_TEMPERATURE = "temperature";
118     public static final String CHANNEL_FUNCTION = "function";
119     public static final String CHANNEL_TEMP_SETPOINT = "setpointTemperature";
120     public static final String CHANNEL_MODE = "mode";
121     public static final String CHANNEL_FAN_SPEED = "speedFanCoil";
122     public static final String CHANNEL_CONDITIONING_VALVES = "conditioningValves";
123     public static final String CHANNEL_HEATING_VALVES = "heatingValves";
124     public static final String CHANNEL_ACTUATORS = "actuators";
125
126     // energy management
127     public static final String CHANNEL_POWER = "power";
128
129     // devices config properties
130     public static final String CONFIG_PROPERTY_WHERE = "where";
131     public static final String CONFIG_PROPERTY_SHUTTER_RUN = "shutterRun";
132
133     // BUS gw config properties
134     public static final String CONFIG_PROPERTY_HOST = "host";
135     public static final String CONFIG_PROPERTY_SERIAL_PORT = "serialPort";
136
137     // properties
138     public static final String PROPERTY_OWNID = "ownId";
139     public static final String PROPERTY_ZIGBEEID = "zigbeeid";
140     public static final String PROPERTY_FIRMWARE_VERSION = "firmwareVersion";
141     public static final String PROPERTY_MODEL = "model";
142     public static final String PROPERTY_SERIAL_NO = "serialNumber";
143 }