]> git.basschouten.com Git - openhab-addons.git/blob
75fd3a4b0f4ddfce3ccf6998cf5347f4d8224895
[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.haywardomnilogic.internal;
14
15 import java.util.Set;
16
17 import org.eclipse.jdt.annotation.NonNullByDefault;
18 import org.openhab.core.thing.ThingTypeUID;
19
20 /**
21  * The {@link HaywardBindingConstants} class defines common constants, which are
22  * used across the whole binding.
23  *
24  * @author Matt Myers - Initial contribution
25  */
26 @NonNullByDefault
27 public class HaywardBindingConstants {
28
29     private static final String BINDING_ID = "haywardomnilogic";
30
31     // List of all Thing Type UIDs
32     public static final ThingTypeUID THING_TYPE_BACKYARD = new ThingTypeUID(BINDING_ID, "backyard");
33     public static final ThingTypeUID THING_TYPE_BOW = new ThingTypeUID(BINDING_ID, "bow");
34     public static final ThingTypeUID THING_TYPE_BRIDGE = new ThingTypeUID(BINDING_ID, "bridge");
35     public static final ThingTypeUID THING_TYPE_CHLORINATOR = new ThingTypeUID(BINDING_ID, "chlorinator");
36     public static final ThingTypeUID THING_TYPE_COLORLOGIC = new ThingTypeUID(BINDING_ID, "colorlogic");
37     public static final ThingTypeUID THING_TYPE_FILTER = new ThingTypeUID(BINDING_ID, "filter");
38     public static final ThingTypeUID THING_TYPE_HEATER = new ThingTypeUID(BINDING_ID, "heater");
39     public static final ThingTypeUID THING_TYPE_PUMP = new ThingTypeUID(BINDING_ID, "pump");
40     public static final ThingTypeUID THING_TYPE_RELAY = new ThingTypeUID(BINDING_ID, "relay");
41     public static final ThingTypeUID THING_TYPE_SENSOR = new ThingTypeUID(BINDING_ID, "sensor");
42     public static final ThingTypeUID THING_TYPE_VIRTUALHEATER = new ThingTypeUID(BINDING_ID, "virtualHeater");
43
44     public static final Set<ThingTypeUID> BRIDGE_THING_TYPES_UIDS = Set.of(THING_TYPE_BRIDGE);
45
46     public static final Set<ThingTypeUID> THING_TYPES_UIDS = Set.of(HaywardBindingConstants.THING_TYPE_BACKYARD,
47             HaywardBindingConstants.THING_TYPE_BOW, HaywardBindingConstants.THING_TYPE_BRIDGE,
48             HaywardBindingConstants.THING_TYPE_CHLORINATOR, HaywardBindingConstants.THING_TYPE_COLORLOGIC,
49             HaywardBindingConstants.THING_TYPE_FILTER, HaywardBindingConstants.THING_TYPE_HEATER,
50             HaywardBindingConstants.THING_TYPE_PUMP, HaywardBindingConstants.THING_TYPE_RELAY,
51             HaywardBindingConstants.THING_TYPE_SENSOR, HaywardBindingConstants.THING_TYPE_VIRTUALHEATER);
52
53     // List of all Channel ids (bridge)
54     // No Channels
55
56     // List of all Channel ids (backyard)
57     public static final String CHANNEL_BACKYARD_AIRTEMP = "backyardAirTemp";
58     public static final String CHANNEL_BACKYARD_STATUS = "backyardStatus";
59     public static final String CHANNEL_BACKYARD_STATE = "backyardState";
60
61     // List of all Channel ids (bow)
62     public static final String CHANNEL_BOW_WATERTEMP = "bowWaterTemp";
63     public static final String CHANNEL_BOW_FLOW = "bowFlow";
64
65     public static final String PROPERTY_BOW_TYPE = "type";
66     public static final String PROPERTY_BOW_SHAREDTYPE = "sharedType";
67     public static final String PROPERTY_BOW_SHAREDPRIORITY = "sharedPriority";
68     public static final String PROPERTY_BOW_SHAREDEQUIPID = "sharedEquipmentSystemID";
69     public static final String PROPERTY_BOW_SUPPORTSSPILLOVER = "supportsSpillover";
70     public static final String PROPERTY_BOW_SIZEINGALLONS = "sizeInGallons";
71
72     // List of all Channel ids (chlorinator)
73     public static final String CHANNEL_CHLORINATOR_ENABLE = "chlorEnable";
74     public static final String CHANNEL_CHLORINATOR_OPERATINGMODE = "chlorOperatingMode";
75     public static final String CHANNEL_CHLORINATOR_TIMEDPERCENT = "chlorTimedPercent";
76     public static final String CHANNEL_CHLORINATOR_SCMODE = "chlorScMode";
77     public static final String CHANNEL_CHLORINATOR_ERROR = "chlorError";
78     public static final String CHANNEL_CHLORINATOR_ALERT = "chlorAlert";
79     public static final String CHANNEL_CHLORINATOR_AVGSALTLEVEL = "chlorAvgSaltLevel";
80     public static final String CHANNEL_CHLORINATOR_INSTANTSALTLEVEL = "chlorInstantSaltLevel";
81     public static final String CHANNEL_CHLORINATOR_STATUS = "chlorStatus";
82
83     public static final String PROPERTY_CHLORINATOR_SHAREDTYPE = "chlorSharedType";
84     public static final String PROPERTY_CHLORINATOR_MODE = "chlorMode";
85     public static final String PROPERTY_CHLORINATOR_CELLTYPE = "cellType";
86     public static final String PROPERTY_CHLORINATOR_DISPENSERTYPE = "dispenserType";
87
88     // List of all Channel ids (colorlogic)
89     public static final String CHANNEL_COLORLOGIC_ENABLE = "colorLogicLightEnable";
90     public static final String CHANNEL_COLORLOGIC_LIGHTSTATE = "colorLogicLightState";
91     public static final String CHANNEL_COLORLOGIC_CURRENTSHOW = "colorLogicLightCurrentShow";
92
93     public static final String PROPERTY_COLORLOGIC_TYPE = "colorlogicType";
94
95     // List of all Channel ids (filter)
96     public static final String CHANNEL_FILTER_ENABLE = "filterEnable";
97     public static final String CHANNEL_FILTER_VALVEPOSITION = "filterValvePosition";
98     public static final String CHANNEL_FILTER_SPEEDPERCENT = "filterSpeedPercent";
99     public static final String CHANNEL_FILTER_SPEEDRPM = "filterSpeedRpm";
100     public static final String CHANNEL_FILTER_SPEEDSELECT = "filterSpeedSelect";
101     public static final String CHANNEL_FILTER_STATE = "filterState";
102     public static final String CHANNEL_FILTER_LASTSPEED = "filterLastSpeed";
103
104     public static final String PROPERTY_FILTER_SHAREDTYPE = "filterSharedType";
105     public static final String PROPERTY_FILTER_FILTERTYPE = "filterType";
106     public static final String PROPERTY_FILTER_PRIMINGENABLED = "primingEnabled";
107     public static final String PROPERTY_FILTER_MINSPEED = "minFilterPercent";
108     public static final String PROPERTY_FILTER_MAXSPEED = "maxFilterPercent";
109     public static final String PROPERTY_FILTER_MINRPM = "minFilterRPM";
110     public static final String PROPERTY_FILTER_MAXRPM = "maxFilterRPM";
111     public static final String PROPERTY_FILTER_LOWSPEED = "lowFilterSpeed";
112     public static final String PROPERTY_FILTER_MEDSPEED = "mediumFilterSpeed";
113     public static final String PROPERTY_FILTER_HIGHSPEED = "highFilterSpeed";
114     public static final String PROPERTY_FILTER_CUSTOMSPEED = "customFilterSpeed";
115     public static final String PROPERTY_FILTER_FREEZEPROTECTOVERRIDEINTERVAL = "freezeProtectOverrideInterval";
116
117     // List of all Channel ids (heater)
118     public static final String CHANNEL_HEATER_STATE = "heaterState";
119     public static final String CHANNEL_HEATER_TEMP = "heaterTemp";
120     public static final String CHANNEL_HEATER_ENABLE = "heaterEnable";
121
122     public static final String PROPERTY_HEATER_TYPE = "type";
123     public static final String PROPERTY_HEATER_HEATERTYPE = "heaterType";
124     public static final String PROPERTY_HEATER_SHAREDEQUIPID = "sharedEquipmentSystemID";
125
126     // List of all Channel ids (pump)
127     public static final String CHANNEL_PUMP_ENABLE = "pumpEnable";
128     public static final String CHANNEL_PUMP_SPEEDPERCENT = "pumpSpeedPercent";
129     public static final String CHANNEL_PUMP_SPEEDRPM = "pumpSpeedRpm";
130     public static final String CHANNEL_PUMP_SPEEDSELECT = "pumpSpeedSelect";
131     public static final String CHANNEL_PUMP_STATE = "pumpState";
132     public static final String CHANNEL_PUMP_LASTSPEED = "pumpLastSpeed";
133
134     public static final String PROPERTY_PUMP_TYPE = "pumpType";
135     public static final String PROPERTY_PUMP_FUNCTION = "pumpFunction";
136     public static final String PROPERTY_PUMP_PRIMINGENABLED = "pumpPrimingEnabled";
137     public static final String PROPERTY_PUMP_MINSPEED = "minPumpPercent";
138     public static final String PROPERTY_PUMP_MAXSPEED = "maxPumpPercent";
139     public static final String PROPERTY_PUMP_MINRPM = "minPumpRPM";
140     public static final String PROPERTY_PUMP_MAXRPM = "maxPumpRPM";
141     public static final String PROPERTY_PUMP_LOWSPEED = "lowPumpSpeed";
142     public static final String PROPERTY_PUMP_MEDSPEED = "mediumPumpSpeed";
143     public static final String PROPERTY_PUMP_HIGHSPEED = "highPumpSpeed";
144     public static final String PROPERTY_PUMP_CUSTOMSPEED = "customPumpSpeed";
145
146     // List of all Channel ids (relay)
147     public static final String CHANNEL_RELAY_STATE = "relayState";
148
149     public static final String PROPERTY_RELAY_TYPE = "relayType";
150     public static final String PROPERTY_RELAY_FUNCTION = "relayFunction";
151
152     // List of all Channel ids (sensor)
153     public static final String CHANNEL_SENSOR_DATA = "sensorData";
154
155     public static final String PROPERTY_SENSOR_TYPE = "sensorType";
156     public static final String PROPERTY_SENSOR_UNITS = "sensorUnits";
157
158     // List of all Channel ids (virtualHeater)
159     public static final String CHANNEL_VIRTUALHEATER_CURRENTSETPOINT = "virtualHeaterCurrentSetpoint";
160     public static final String CHANNEL_VIRTUALHEATER_ENABLE = "virtualHeaterEnable";
161
162     public static final String PROPERTY_VIRTUALHEATER_SHAREDTYPE = "sharedType";
163     public static final String PROPERTY_VIRTUALHEATER_MINSETTABLEWATERTEMP = "minSettableWaterTemp";
164     public static final String PROPERTY_VIRTUALHEATER_MAXSETTABLEWATERTEMP = "maxSettableWaterTemp";
165     public static final String PROPERTY_VIRTUALHEATER_MAXWATERTEMP = "maxWaterTemp";
166
167     // The properties associated with all things
168     public static final String PROPERTY_SYSTEM_ID = "systemID";
169     public static final String PROPERTY_TYPE = "thingType";
170     public static final String PROPERTY_BOWNAME = "bowName";
171     public static final String PROPERTY_BOWID = "bowID";
172
173     // Hayward Command html
174     public static final String COMMAND_PARAMETERS = "<?xml version=\"1.0\" encoding=\"utf-8\"?><Request>";
175
176     public static final String COMMAND_SCHEDULE = """
177             <Parameter name="IsCountDownTimer" dataType="bool">false</Parameter>\
178             <Parameter name="StartTimeHours" dataType="int">0</Parameter>\
179             <Parameter name="StartTimeMinutes" dataType="int">0</Parameter>\
180             <Parameter name="EndTimeHours" dataType="int">0</Parameter>\
181             <Parameter name="EndTimeMinutes" dataType="int">0</Parameter>\
182             <Parameter name="DaysActive" dataType="int">0</Parameter>\
183             <Parameter name="Recurring" dataType="bool">false</Parameter>\
184             """;
185 }