2 * Copyright (c) 2010-2021 Contributors to the openHAB project
4 * See the NOTICE file(s) distributed with this work for additional
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
11 * SPDX-License-Identifier: EPL-2.0
14 package org.openhab.binding.haywardomnilogic.internal;
18 import org.eclipse.jdt.annotation.NonNullByDefault;
19 import org.openhab.core.thing.ThingTypeUID;
22 * The {@link HaywardBindingConstants} class defines common constants, which are
23 * used across the whole binding.
25 * @author Matt Myers - Initial contribution
28 public class HaywardBindingConstants {
30 private static final String BINDING_ID = "haywardomnilogic";
32 // List of all Thing Type UIDs
33 public static final ThingTypeUID THING_TYPE_BACKYARD = new ThingTypeUID(BINDING_ID, "backyard");
34 public static final ThingTypeUID THING_TYPE_BOW = new ThingTypeUID(BINDING_ID, "bow");
35 public static final ThingTypeUID THING_TYPE_BRIDGE = new ThingTypeUID(BINDING_ID, "bridge");
36 public static final ThingTypeUID THING_TYPE_CHLORINATOR = new ThingTypeUID(BINDING_ID, "chlorinator");
37 public static final ThingTypeUID THING_TYPE_COLORLOGIC = new ThingTypeUID(BINDING_ID, "colorlogic");
38 public static final ThingTypeUID THING_TYPE_FILTER = new ThingTypeUID(BINDING_ID, "filter");
39 public static final ThingTypeUID THING_TYPE_HEATER = new ThingTypeUID(BINDING_ID, "heater");
40 public static final ThingTypeUID THING_TYPE_PUMP = new ThingTypeUID(BINDING_ID, "pump");
41 public static final ThingTypeUID THING_TYPE_RELAY = new ThingTypeUID(BINDING_ID, "relay");
42 public static final ThingTypeUID THING_TYPE_SENSOR = new ThingTypeUID(BINDING_ID, "sensor");
43 public static final ThingTypeUID THING_TYPE_VIRTUALHEATER = new ThingTypeUID(BINDING_ID, "virtualHeater");
45 public static final Set<ThingTypeUID> BRIDGE_THING_TYPES_UIDS = Set.of(THING_TYPE_BRIDGE);
47 public static final Set<ThingTypeUID> THING_TYPES_UIDS = Set.of(HaywardBindingConstants.THING_TYPE_BACKYARD,
48 HaywardBindingConstants.THING_TYPE_BOW, HaywardBindingConstants.THING_TYPE_BRIDGE,
49 HaywardBindingConstants.THING_TYPE_CHLORINATOR, HaywardBindingConstants.THING_TYPE_COLORLOGIC,
50 HaywardBindingConstants.THING_TYPE_FILTER, HaywardBindingConstants.THING_TYPE_HEATER,
51 HaywardBindingConstants.THING_TYPE_PUMP, HaywardBindingConstants.THING_TYPE_RELAY,
52 HaywardBindingConstants.THING_TYPE_SENSOR, HaywardBindingConstants.THING_TYPE_VIRTUALHEATER);
54 // List of all Channel ids (bridge)
57 // List of all Channel ids (backyard)
58 public static final String CHANNEL_BACKYARD_AIRTEMP = "backyardAirTemp";
59 public static final String CHANNEL_BACKYARD_STATUS = "backyardStatus";
60 public static final String CHANNEL_BACKYARD_STATE = "backyardState";
62 // List of all Channel ids (bow)
63 public static final String CHANNEL_BOW_WATERTEMP = "bowWaterTemp";
64 public static final String CHANNEL_BOW_FLOW = "bowFlow";
66 // List of all Channel ids (chlorinator)
67 public static final String CHANNEL_CHLORINATOR_ENABLE = "chlorEnable";
68 public static final String CHANNEL_CHLORINATOR_OPERATINGMODE = "chlorOperatingMode";
69 public static final String CHANNEL_CHLORINATOR_TIMEDPERCENT = "chlorTimedPercent";
70 public static final String CHANNEL_CHLORINATOR_SCMODE = "chlorScMode";
71 public static final String CHANNEL_CHLORINATOR_ERROR = "chlorError";
72 public static final String CHANNEL_CHLORINATOR_ALERT = "chlorAlert";
73 public static final String CHANNEL_CHLORINATOR_AVGSALTLEVEL = "chlorAvgSaltLevel";
74 public static final String CHANNEL_CHLORINATOR_INSTANTSALTLEVEL = "chlorInstantSaltLevel";
75 public static final String CHANNEL_CHLORINATOR_STATUS = "chlorStatus";
77 // List of all Channel ids (colorlogic)
78 public static final String CHANNEL_COLORLOGIC_ENABLE = "colorLogicLightEnable";
79 public static final String CHANNEL_COLORLOGIC_LIGHTSTATE = "colorLogicLightState";
80 public static final String CHANNEL_COLORLOGIC_CURRENTSHOW = "colorLogicLightCurrentShow";
82 // List of all Channel ids (filter)
83 public static final String CHANNEL_FILTER_ENABLE = "filterEnable";
84 public static final String CHANNEL_FILTER_VALVEPOSITION = "filterValvePosition";
85 public static final String CHANNEL_FILTER_SPEED = "filterSpeed";
86 public static final String CHANNEL_FILTER_STATE = "filterState";
87 public static final String CHANNEL_FILTER_LASTSPEED = "filterLastSpeed";
89 public static final String PROPERTY_FILTER_MINPUMPSPEED = "Min Pump Percent";
90 public static final String PROPERTY_FILTER_MAXPUMPSPEED = "Max Pump Percent";
91 public static final String PROPERTY_FILTER_MINPUMPRPM = "Min Pump RPM";
92 public static final String PROPERTY_FILTER_MAXPUMPRPM = "Max Pump RPM";
94 // List of all Channel ids (heater)
95 public static final String CHANNEL_HEATER_STATE = "heaterState";
96 public static final String CHANNEL_HEATER_TEMP = "heaterTemp";
97 public static final String CHANNEL_HEATER_ENABLE = "heaterEnable";
99 // List of all Channel ids (pump)
100 public static final String CHANNEL_PUMP_ENABLE = "pumpEnable";
101 public static final String CHANNEL_PUMP_SPEED = "pumpSpeed";
103 public static final String PROPERTY_PUMP_MINPUMPSPEED = "Min Pump Speed";
104 public static final String PROPERTY_PUMP_MAXPUMPSPEED = "Min Pump Speed";
105 public static final String PROPERTY_PUMP_MINPUMPRPM = "Min Pump RPM";
106 public static final String PROPERTY_PUMP_MAXPUMPRPM = "Max Pump RPM";
108 // List of all Channel ids (relay)
109 public static final String CHANNEL_RELAY_STATE = "relayState";
111 // List of all Channel ids (sensor)
112 public static final String CHANNEL_SENSOR_DATA = "sensorData";
114 // List of all Channel ids (virtualHeater)
115 public static final String CHANNEL_VIRTUALHEATER_CURRENTSETPOINT = "virtualHeaterCurrentSetpoint";
116 public static final String CHANNEL_VIRTUALHEATER_ENABLE = "virtualHeaterEnable";
118 // The properties associated with all things
119 public static final String PROPERTY_SYSTEM_ID = "Property system ID";
120 public static final String PROPERTY_TYPE = "propertyType";
121 public static final String PROPERTY_BOWNAME = "BOW Name";
122 public static final String PROPERTY_BOWID = "BOW ID";
124 // Hayward Command html
125 public static final String COMMAND_PARAMETERS = "<?xml version=\"1.0\" encoding=\"utf-8\"?><Request>";
127 public static final String COMMAND_SCHEDULE = "<Parameter name=\"IsCountDownTimer\" dataType=\"bool\">false</Parameter>"
128 + "<Parameter name=\"StartTimeHours\" dataType=\"int\">0</Parameter>"
129 + "<Parameter name=\"StartTimeMinutes\" dataType=\"int\">0</Parameter>"
130 + "<Parameter name=\"EndTimeHours\" dataType=\"int\">0</Parameter>"
131 + "<Parameter name=\"EndTimeMinutes\" dataType=\"int\">0</Parameter>"
132 + "<Parameter name=\"DaysActive\" dataType=\"int\">0</Parameter>"
133 + "<Parameter name=\"Recurring\" dataType=\"bool\">false</Parameter>";