mirror of
https://github.com/openhab/openhab-addons.git
synced 2025-01-10 15:11:59 +01:00
[radiothermostat] Add configuration to update thermostat's internal schedule (#14149)
* Add configuration to update thermostat's internal schedule Signed-off-by: Michael Lobstein <michael.lobstein@gmail.com>
This commit is contained in:
parent
fca7b4edce
commit
279374a14b
@ -6,6 +6,7 @@ Thermostats using a Z-Wave module are not supported but can be used via the open
|
||||
The binding retrieves and periodically updates all basic system information from the thermostat.
|
||||
The main thermostat functions such as thermostat mode, fan mode, temperature set point and hold mode can be controlled.
|
||||
System run-time information and humidity readings are polled less frequently and can be disabled completely if not desired.
|
||||
The heating and cooling program schedules on the thermostat can also be configured.
|
||||
|
||||
## Supported Things
|
||||
|
||||
@ -18,10 +19,6 @@ Multiple Things can be added if more than one thermostat is to be controlled.
|
||||
Auto-discovery is supported if the thermostat can be located on the local network using SSDP.
|
||||
Otherwise the thing must be manually added.
|
||||
|
||||
## Binding Configuration
|
||||
|
||||
The binding has no configuration options, all configuration is done at Thing level.
|
||||
|
||||
## Thing Configuration
|
||||
|
||||
The thing has a few configuration parameters:
|
||||
@ -34,9 +31,31 @@ The thing has a few configuration parameters:
|
||||
| isCT80 | Flag to enable additional features only available on the CT80 thermostat. Optional, the default is false. |
|
||||
| disableLogs | Disable retrieval of run-time logs from the thermostat. Optional, the default is false. |
|
||||
| setpointMode | Controls temporary or absolute setpoint mode. In "temporary" mode the thermostat will temporarily maintain the given setpoint until the next scheduled setpoint time period. In "absolute" mode the thermostat will ignore its program and maintain the given setpoint indefinitely. Optional, the default is "temporary". |
|
||||
| clockSync | Flag to enable the binding to sync the internal clock on the thermostat to match the openHAB host's system clock. Use if the thermostat is not setup to connect to the manufacturer's cloud server. Sync occurs at binding startup and every hour thereafter. Optional, the default is false. |
|
||||
| clockSync | Flag to enable the binding to sync the internal clock on the thermostat to match the openHAB host's system clock. Sync occurs at binding startup and every hour thereafter. Optional, the default is **true**. |
|
||||
|
||||
Some notes:
|
||||
### Schedule Configuration
|
||||
|
||||
The heating and cooling program schedules that persist on the thermostat can be configured by the binding.
|
||||
Click the 'Show advanced' checkbox on the Thing configuration page to display the schedule.
|
||||
For both the heating and cooling programs, the 7-day repeating schedule has 4 setpoint periods per day (Morning, Day, Evening, Night).
|
||||
In order for the heating or cooling program to be valid, all time and setpoint fields must be populated.
|
||||
The time is expressed in 24-hour (HH:mm) format and the time value for each successive period within a day must be greater than the previous period.
|
||||
Once the schedule is populated and the configuration saved, the new schedule will be sent to the thermostat during binding initialization, overwriting its existing schedule.
|
||||
|
||||
If one or more time or setpoint fields are left blank in a given schedule and the configuration saved, the Thing will display a configuration error until the entries are corrected.
|
||||
A heating or cooling schedule with all fields left blank will be ignored by the binding.
|
||||
In that case, the existing schedule on the thermostat will remain untouched.
|
||||
|
||||
If the thermostat schedule is to be managed by openHAB, the thermostat should be de-provisioned from the MyRadioThermostat/EnergyHub cloud service to prevent the openHAB schedule from being overridden.
|
||||
|
||||
The thermostat can de-provisioned from the cloud by issuing the following `curl` commands:
|
||||
|
||||
```shell
|
||||
curl http://$THERMOSTAT_IP/cloud -d '{"enabled":0}' -X POST
|
||||
curl http://$THERMOSTAT_IP/cloud -d '{"authkey":""}' -X POST
|
||||
```
|
||||
|
||||
### Some notes
|
||||
|
||||
- The main caveat for using this binding is to keep in mind that the web server in the thermostat is very slow. Do not over load it with excessive amounts of simultaneous commands.
|
||||
- When changing the thermostat mode, the current temperature set point is cleared and a refresh of the thermostat data is done to get the new mode's set point.
|
||||
|
@ -50,6 +50,8 @@ public class RadioThermostatBindingConstants {
|
||||
public static final String HUMIDITY_RESOURCE = "tstat/humidity";
|
||||
public static final String REMOTE_TEMP_RESOURCE = "tstat/remote_temp";
|
||||
public static final String TIME_RESOURCE = "tstat/time";
|
||||
public static final String HEAT_PROGRAM_RESOURCE = "tstat/program/heat";
|
||||
public static final String COOL_PROGRAM_RESOURCE = "tstat/program/cool";
|
||||
|
||||
// List of all Thing Type UIDs
|
||||
public static final ThingTypeUID THING_TYPE_RTHERM = new ThingTypeUID(BINDING_ID, "rtherm");
|
||||
|
@ -30,4 +30,120 @@ public class RadioThermostatConfiguration {
|
||||
public boolean disableLogs = false;
|
||||
public boolean clockSync = false;
|
||||
public String setpointMode = "temporary";
|
||||
|
||||
public @Nullable String monMorningHeatTime;
|
||||
public @Nullable String monDayHeatTime;
|
||||
public @Nullable String monEveningHeatTime;
|
||||
public @Nullable String monNightHeatTime;
|
||||
public @Nullable String tueMorningHeatTime;
|
||||
public @Nullable String tueDayHeatTime;
|
||||
public @Nullable String tueEveningHeatTime;
|
||||
public @Nullable String tueNightHeatTime;
|
||||
public @Nullable String wedMorningHeatTime;
|
||||
public @Nullable String wedDayHeatTime;
|
||||
public @Nullable String wedEveningHeatTime;
|
||||
public @Nullable String wedNightHeatTime;
|
||||
public @Nullable String thuMorningHeatTime;
|
||||
public @Nullable String thuDayHeatTime;
|
||||
public @Nullable String thuEveningHeatTime;
|
||||
public @Nullable String thuNightHeatTime;
|
||||
public @Nullable String friMorningHeatTime;
|
||||
public @Nullable String friDayHeatTime;
|
||||
public @Nullable String friEveningHeatTime;
|
||||
public @Nullable String friNightHeatTime;
|
||||
public @Nullable String satMorningHeatTime;
|
||||
public @Nullable String satDayHeatTime;
|
||||
public @Nullable String satEveningHeatTime;
|
||||
public @Nullable String satNightHeatTime;
|
||||
public @Nullable String sunMorningHeatTime;
|
||||
public @Nullable String sunDayHeatTime;
|
||||
public @Nullable String sunEveningHeatTime;
|
||||
public @Nullable String sunNightHeatTime;
|
||||
|
||||
public @Nullable String monMorningCoolTime;
|
||||
public @Nullable String monDayCoolTime;
|
||||
public @Nullable String monEveningCoolTime;
|
||||
public @Nullable String monNightCoolTime;
|
||||
public @Nullable String tueMorningCoolTime;
|
||||
public @Nullable String tueDayCoolTime;
|
||||
public @Nullable String tueEveningCoolTime;
|
||||
public @Nullable String tueNightCoolTime;
|
||||
public @Nullable String wedMorningCoolTime;
|
||||
public @Nullable String wedDayCoolTime;
|
||||
public @Nullable String wedEveningCoolTime;
|
||||
public @Nullable String wedNightCoolTime;
|
||||
public @Nullable String thuMorningCoolTime;
|
||||
public @Nullable String thuDayCoolTime;
|
||||
public @Nullable String thuEveningCoolTime;
|
||||
public @Nullable String thuNightCoolTime;
|
||||
public @Nullable String friMorningCoolTime;
|
||||
public @Nullable String friDayCoolTime;
|
||||
public @Nullable String friEveningCoolTime;
|
||||
public @Nullable String friNightCoolTime;
|
||||
public @Nullable String satMorningCoolTime;
|
||||
public @Nullable String satDayCoolTime;
|
||||
public @Nullable String satEveningCoolTime;
|
||||
public @Nullable String satNightCoolTime;
|
||||
public @Nullable String sunMorningCoolTime;
|
||||
public @Nullable String sunDayCoolTime;
|
||||
public @Nullable String sunEveningCoolTime;
|
||||
public @Nullable String sunNightCoolTime;
|
||||
|
||||
public @Nullable Integer monMorningHeatTemp;
|
||||
public @Nullable Integer monDayHeatTemp;
|
||||
public @Nullable Integer monEveningHeatTemp;
|
||||
public @Nullable Integer monNightHeatTemp;
|
||||
public @Nullable Integer tueMorningHeatTemp;
|
||||
public @Nullable Integer tueDayHeatTemp;
|
||||
public @Nullable Integer tueEveningHeatTemp;
|
||||
public @Nullable Integer tueNightHeatTemp;
|
||||
public @Nullable Integer wedMorningHeatTemp;
|
||||
public @Nullable Integer wedDayHeatTemp;
|
||||
public @Nullable Integer wedEveningHeatTemp;
|
||||
public @Nullable Integer wedNightHeatTemp;
|
||||
public @Nullable Integer thuMorningHeatTemp;
|
||||
public @Nullable Integer thuDayHeatTemp;
|
||||
public @Nullable Integer thuEveningHeatTemp;
|
||||
public @Nullable Integer thuNightHeatTemp;
|
||||
public @Nullable Integer friMorningHeatTemp;
|
||||
public @Nullable Integer friDayHeatTemp;
|
||||
public @Nullable Integer friEveningHeatTemp;
|
||||
public @Nullable Integer friNightHeatTemp;
|
||||
public @Nullable Integer satMorningHeatTemp;
|
||||
public @Nullable Integer satDayHeatTemp;
|
||||
public @Nullable Integer satEveningHeatTemp;
|
||||
public @Nullable Integer satNightHeatTemp;
|
||||
public @Nullable Integer sunMorningHeatTemp;
|
||||
public @Nullable Integer sunDayHeatTemp;
|
||||
public @Nullable Integer sunEveningHeatTemp;
|
||||
public @Nullable Integer sunNightHeatTemp;
|
||||
|
||||
public @Nullable Integer monMorningCoolTemp;
|
||||
public @Nullable Integer monDayCoolTemp;
|
||||
public @Nullable Integer monEveningCoolTemp;
|
||||
public @Nullable Integer monNightCoolTemp;
|
||||
public @Nullable Integer tueMorningCoolTemp;
|
||||
public @Nullable Integer tueDayCoolTemp;
|
||||
public @Nullable Integer tueEveningCoolTemp;
|
||||
public @Nullable Integer tueNightCoolTemp;
|
||||
public @Nullable Integer wedMorningCoolTemp;
|
||||
public @Nullable Integer wedDayCoolTemp;
|
||||
public @Nullable Integer wedEveningCoolTemp;
|
||||
public @Nullable Integer wedNightCoolTemp;
|
||||
public @Nullable Integer thuMorningCoolTemp;
|
||||
public @Nullable Integer thuDayCoolTemp;
|
||||
public @Nullable Integer thuEveningCoolTemp;
|
||||
public @Nullable Integer thuNightCoolTemp;
|
||||
public @Nullable Integer friMorningCoolTemp;
|
||||
public @Nullable Integer friDayCoolTemp;
|
||||
public @Nullable Integer friEveningCoolTemp;
|
||||
public @Nullable Integer friNightCoolTemp;
|
||||
public @Nullable Integer satMorningCoolTemp;
|
||||
public @Nullable Integer satDayCoolTemp;
|
||||
public @Nullable Integer satEveningCoolTemp;
|
||||
public @Nullable Integer satNightCoolTemp;
|
||||
public @Nullable Integer sunMorningCoolTemp;
|
||||
public @Nullable Integer sunDayCoolTemp;
|
||||
public @Nullable Integer sunEveningCoolTemp;
|
||||
public @Nullable Integer sunNightCoolTemp;
|
||||
}
|
||||
|
@ -91,7 +91,6 @@ public class RadioThermostatConnector {
|
||||
public void onComplete(@Nullable Result result) {
|
||||
if (result != null && !result.isFailed()) {
|
||||
String response = getContentAsString();
|
||||
logger.debug("thermostatResponse = {}", response);
|
||||
dispatchKeyValue(resource, response);
|
||||
} else {
|
||||
dispatchKeyValue(KEY_ERROR, "");
|
||||
@ -134,6 +133,7 @@ public class RadioThermostatConnector {
|
||||
request.header(HttpHeader.ACCEPT, "text/plain");
|
||||
request.header(HttpHeader.CONTENT_TYPE, "text/plain");
|
||||
request.content(new StringContentProvider(postJson), "application/json");
|
||||
logger.trace("Sending POST request to '{}', data: {}", resource, postJson);
|
||||
|
||||
ContentResponse contentResponse = request.send();
|
||||
int httpStatus = contentResponse.getStatus();
|
||||
@ -142,8 +142,9 @@ public class RadioThermostatConnector {
|
||||
throw new RadioThermostatHttpException("Thermostat HTTP response code was: " + httpStatus);
|
||||
}
|
||||
output = contentResponse.getContentAsString();
|
||||
logger.trace("Response: {}", output);
|
||||
} catch (RadioThermostatHttpException | InterruptedException | TimeoutException | ExecutionException e) {
|
||||
logger.warn("Error executing thermostat command: {}, {}", postJson, e.getMessage());
|
||||
logger.debug("Error executing thermostat command: {}, {}", postJson, e.getMessage());
|
||||
}
|
||||
|
||||
return output;
|
||||
|
@ -70,7 +70,7 @@ public class RadioThermostatTimeDTO {
|
||||
day = "Tuesday ";
|
||||
break;
|
||||
case "2":
|
||||
day = "Wedensday ";
|
||||
day = "Wednesday ";
|
||||
break;
|
||||
case "3":
|
||||
day = "Thursday ";
|
||||
|
@ -41,6 +41,7 @@ import org.openhab.binding.radiothermostat.internal.dto.RadioThermostatDTO;
|
||||
import org.openhab.binding.radiothermostat.internal.dto.RadioThermostatHumidityDTO;
|
||||
import org.openhab.binding.radiothermostat.internal.dto.RadioThermostatRuntimeDTO;
|
||||
import org.openhab.binding.radiothermostat.internal.dto.RadioThermostatTstatDTO;
|
||||
import org.openhab.binding.radiothermostat.internal.util.RadioThermostatScheduleJson;
|
||||
import org.openhab.core.library.types.DateTimeType;
|
||||
import org.openhab.core.library.types.DecimalType;
|
||||
import org.openhab.core.library.types.OnOffType;
|
||||
@ -95,6 +96,8 @@ public class RadioThermostatHandler extends BaseThingHandler implements RadioThe
|
||||
private boolean disableLogs = false;
|
||||
private boolean clockSync = false;
|
||||
private String setpointCmdKeyPrefix = "t_";
|
||||
private String heatProgramJson = "";
|
||||
private String coolProgramJson = "";
|
||||
|
||||
public RadioThermostatHandler(Thing thing, RadioThermostatStateDescriptionProvider stateDescriptionProvider,
|
||||
HttpClient httpClient) {
|
||||
@ -118,7 +121,7 @@ public class RadioThermostatHandler extends BaseThingHandler implements RadioThe
|
||||
|
||||
if (hostName == null || "".equals(hostName)) {
|
||||
updateStatus(ThingStatus.OFFLINE, ThingStatusDetail.CONFIGURATION_ERROR,
|
||||
"Thermostat Host Name must be specified");
|
||||
"@text/offline.configuration-error-hostname");
|
||||
return;
|
||||
}
|
||||
|
||||
@ -150,6 +153,24 @@ public class RadioThermostatHandler extends BaseThingHandler implements RadioThe
|
||||
updateThing(editThing().withChannels(channels).build());
|
||||
}
|
||||
|
||||
final RadioThermostatScheduleJson thermostatSchedule = new RadioThermostatScheduleJson(config);
|
||||
|
||||
try {
|
||||
heatProgramJson = thermostatSchedule.getHeatProgramJson();
|
||||
} catch (IllegalStateException e) {
|
||||
updateStatus(ThingStatus.OFFLINE, ThingStatusDetail.CONFIGURATION_ERROR,
|
||||
"@text/offline.configuration-error-heating-program");
|
||||
return;
|
||||
}
|
||||
|
||||
try {
|
||||
coolProgramJson = thermostatSchedule.getCoolProgramJson();
|
||||
} catch (IllegalStateException e) {
|
||||
updateStatus(ThingStatus.OFFLINE, ThingStatusDetail.CONFIGURATION_ERROR,
|
||||
"@text/offline.configuration-error-cooling-program");
|
||||
return;
|
||||
}
|
||||
|
||||
updateStatus(ThingStatus.UNKNOWN);
|
||||
|
||||
startAutomaticRefresh();
|
||||
@ -175,6 +196,22 @@ public class RadioThermostatHandler extends BaseThingHandler implements RadioThe
|
||||
ScheduledFuture<?> refreshJob = this.refreshJob;
|
||||
if (refreshJob == null || refreshJob.isCancelled()) {
|
||||
Runnable runnable = () -> {
|
||||
// populate the heat and cool programs on the thermostat from the user configuration,
|
||||
// the commands will be sent each time the refresh job runs until a success response is seen
|
||||
if (!"".equals(heatProgramJson)) {
|
||||
final String response = connector.sendCommand(null, null, heatProgramJson, HEAT_PROGRAM_RESOURCE);
|
||||
if (response.contains("success")) {
|
||||
heatProgramJson = "";
|
||||
}
|
||||
}
|
||||
|
||||
if (!"".equals(coolProgramJson)) {
|
||||
final String response = connector.sendCommand(null, null, coolProgramJson, COOL_PROGRAM_RESOURCE);
|
||||
if (response.contains("success")) {
|
||||
coolProgramJson = "";
|
||||
}
|
||||
}
|
||||
|
||||
// send an async call to the thermostat to get the 'tstat' data
|
||||
connector.getAsyncThermostatData(DEFAULT_RESOURCE);
|
||||
};
|
||||
@ -191,7 +228,7 @@ public class RadioThermostatHandler extends BaseThingHandler implements RadioThe
|
||||
ScheduledFuture<?> clockSyncJob = this.clockSyncJob;
|
||||
if (clockSyncJob == null || clockSyncJob.isCancelled()) {
|
||||
clockSyncJob = null;
|
||||
this.clockSyncJob = scheduler.scheduleWithFixedDelay(this::syncThermostatClock, 1, 60, TimeUnit.MINUTES);
|
||||
this.clockSyncJob = scheduler.schedule(this::syncThermostatClock, 1, TimeUnit.MINUTES);
|
||||
}
|
||||
}
|
||||
|
||||
@ -208,9 +245,13 @@ public class RadioThermostatHandler extends BaseThingHandler implements RadioThe
|
||||
thermDayOfWeek += 7;
|
||||
}
|
||||
|
||||
connector.sendCommand(null, null,
|
||||
final String response = connector.sendCommand(null, null,
|
||||
String.format(JSON_TIME, thermDayOfWeek, c.get(Calendar.HOUR_OF_DAY), c.get(Calendar.MINUTE)),
|
||||
TIME_RESOURCE);
|
||||
|
||||
// if sync call was successful run again in one hour, if un-successful try again in one minute
|
||||
this.clockSyncJob = scheduler.schedule(this::syncThermostatClock, (response.contains("success") ? 60 : 1),
|
||||
TimeUnit.MINUTES);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -363,7 +404,7 @@ public class RadioThermostatHandler extends BaseThingHandler implements RadioThe
|
||||
|
||||
if (KEY_ERROR.equals(evtKey)) {
|
||||
updateStatus(ThingStatus.OFFLINE, ThingStatusDetail.OFFLINE.COMMUNICATION_ERROR,
|
||||
"Error retrieving data from Thermostat ");
|
||||
"@text/offline.communication-error-get-data");
|
||||
} else {
|
||||
updateStatus(ThingStatus.ONLINE, ThingStatusDetail.NONE);
|
||||
|
||||
|
@ -0,0 +1,152 @@
|
||||
/**
|
||||
* Copyright (c) 2010-2023 Contributors to the openHAB project
|
||||
*
|
||||
* See the NOTICE file(s) distributed with this work for additional
|
||||
* information.
|
||||
*
|
||||
* This program and the accompanying materials are made available under the
|
||||
* terms of the Eclipse Public License 2.0 which is available at
|
||||
* http://www.eclipse.org/legal/epl-2.0
|
||||
*
|
||||
* SPDX-License-Identifier: EPL-2.0
|
||||
*/
|
||||
package org.openhab.binding.radiothermostat.internal.util;
|
||||
|
||||
import org.eclipse.jdt.annotation.NonNullByDefault;
|
||||
import org.eclipse.jdt.annotation.Nullable;
|
||||
import org.openhab.binding.radiothermostat.internal.RadioThermostatConfiguration;
|
||||
|
||||
/**
|
||||
* The {@link RadioThermostatScheduleJson} is the class used to convert the heating and cooling schedules from user
|
||||
* configuration into the json that is sent to the thermostat
|
||||
*
|
||||
* @author Michael Lobstein - Initial contribution
|
||||
*/
|
||||
@NonNullByDefault
|
||||
public class RadioThermostatScheduleJson {
|
||||
private final @Nullable String monHeat;
|
||||
private final @Nullable String tueHeat;
|
||||
private final @Nullable String wedHeat;
|
||||
private final @Nullable String thuHeat;
|
||||
private final @Nullable String friHeat;
|
||||
private final @Nullable String satHeat;
|
||||
private final @Nullable String sunHeat;
|
||||
|
||||
private final @Nullable String monCool;
|
||||
private final @Nullable String tueCool;
|
||||
private final @Nullable String wedCool;
|
||||
private final @Nullable String thuCool;
|
||||
private final @Nullable String friCool;
|
||||
private final @Nullable String satCool;
|
||||
private final @Nullable String sunCool;
|
||||
|
||||
public RadioThermostatScheduleJson(RadioThermostatConfiguration config) {
|
||||
monHeat = getDaySchedule(config.monMorningHeatTime, config.monDayHeatTime, config.monEveningHeatTime,
|
||||
config.monNightHeatTime, config.monMorningHeatTemp, config.monDayHeatTemp, config.monEveningHeatTemp,
|
||||
config.monNightHeatTemp);
|
||||
tueHeat = getDaySchedule(config.tueMorningHeatTime, config.tueDayHeatTime, config.tueEveningHeatTime,
|
||||
config.tueNightHeatTime, config.tueMorningHeatTemp, config.tueDayHeatTemp, config.tueEveningHeatTemp,
|
||||
config.tueNightHeatTemp);
|
||||
wedHeat = getDaySchedule(config.wedMorningHeatTime, config.wedDayHeatTime, config.wedEveningHeatTime,
|
||||
config.wedNightHeatTime, config.wedMorningHeatTemp, config.wedDayHeatTemp, config.wedEveningHeatTemp,
|
||||
config.wedNightHeatTemp);
|
||||
thuHeat = getDaySchedule(config.thuMorningHeatTime, config.thuDayHeatTime, config.thuEveningHeatTime,
|
||||
config.thuNightHeatTime, config.thuMorningHeatTemp, config.thuDayHeatTemp, config.thuEveningHeatTemp,
|
||||
config.thuNightHeatTemp);
|
||||
friHeat = getDaySchedule(config.friMorningHeatTime, config.friDayHeatTime, config.friEveningHeatTime,
|
||||
config.friNightHeatTime, config.friMorningHeatTemp, config.friDayHeatTemp, config.friEveningHeatTemp,
|
||||
config.friNightHeatTemp);
|
||||
satHeat = getDaySchedule(config.satMorningHeatTime, config.satDayHeatTime, config.satEveningHeatTime,
|
||||
config.satNightHeatTime, config.satMorningHeatTemp, config.satDayHeatTemp, config.satEveningHeatTemp,
|
||||
config.satNightHeatTemp);
|
||||
sunHeat = getDaySchedule(config.sunMorningHeatTime, config.sunDayHeatTime, config.sunEveningHeatTime,
|
||||
config.sunNightHeatTime, config.sunMorningHeatTemp, config.sunDayHeatTemp, config.sunEveningHeatTemp,
|
||||
config.sunNightHeatTemp);
|
||||
|
||||
monCool = getDaySchedule(config.monMorningCoolTime, config.monDayCoolTime, config.monEveningCoolTime,
|
||||
config.monNightCoolTime, config.monMorningCoolTemp, config.monDayCoolTemp, config.monEveningCoolTemp,
|
||||
config.monNightCoolTemp);
|
||||
tueCool = getDaySchedule(config.tueMorningCoolTime, config.tueDayCoolTime, config.tueEveningCoolTime,
|
||||
config.tueNightCoolTime, config.tueMorningCoolTemp, config.tueDayCoolTemp, config.tueEveningCoolTemp,
|
||||
config.tueNightCoolTemp);
|
||||
wedCool = getDaySchedule(config.wedMorningCoolTime, config.wedDayCoolTime, config.wedEveningCoolTime,
|
||||
config.wedNightCoolTime, config.wedMorningCoolTemp, config.wedDayCoolTemp, config.wedEveningCoolTemp,
|
||||
config.wedNightCoolTemp);
|
||||
thuCool = getDaySchedule(config.thuMorningCoolTime, config.thuDayCoolTime, config.thuEveningCoolTime,
|
||||
config.thuNightCoolTime, config.thuMorningCoolTemp, config.thuDayCoolTemp, config.thuEveningCoolTemp,
|
||||
config.thuNightCoolTemp);
|
||||
friCool = getDaySchedule(config.friMorningCoolTime, config.friDayCoolTime, config.friEveningCoolTime,
|
||||
config.friNightCoolTime, config.friMorningCoolTemp, config.friDayCoolTemp, config.friEveningCoolTemp,
|
||||
config.friNightCoolTemp);
|
||||
satCool = getDaySchedule(config.satMorningCoolTime, config.satDayCoolTime, config.satEveningCoolTime,
|
||||
config.satNightCoolTime, config.satMorningCoolTemp, config.satDayCoolTemp, config.satEveningCoolTemp,
|
||||
config.satNightCoolTemp);
|
||||
sunCool = getDaySchedule(config.sunMorningCoolTime, config.sunDayCoolTime, config.sunEveningCoolTime,
|
||||
config.sunNightCoolTime, config.sunMorningCoolTemp, config.sunDayCoolTemp, config.sunEveningCoolTemp,
|
||||
config.sunNightCoolTemp);
|
||||
}
|
||||
|
||||
public String getHeatProgramJson() throws IllegalStateException {
|
||||
return getProgramJson(monHeat, tueHeat, wedHeat, thuHeat, friHeat, satHeat, sunHeat);
|
||||
}
|
||||
|
||||
public String getCoolProgramJson() throws IllegalStateException {
|
||||
return getProgramJson(monCool, tueCool, wedCool, thuCool, friCool, satCool, sunCool);
|
||||
}
|
||||
|
||||
private String getProgramJson(@Nullable String mon, @Nullable String tue, @Nullable String wed,
|
||||
@Nullable String thu, @Nullable String fri, @Nullable String sat, @Nullable String sun)
|
||||
throws IllegalStateException {
|
||||
// all were null, bypass
|
||||
if (mon == null && tue == null && wed == null && thu == null && fri == null && sat == null && sun == null) {
|
||||
return "";
|
||||
}
|
||||
|
||||
// some were null, the schedule is invalid
|
||||
if (mon == null || tue == null || wed == null || thu == null || fri == null || sat == null || sun == null) {
|
||||
throw new IllegalStateException();
|
||||
}
|
||||
|
||||
return "{\"0\":" + mon + ",\"1\":" + tue + ",\"2\":" + wed + ",\"3\":" + thu + ",\"4\":" + fri + ",\"5\":" + sat
|
||||
+ ",\"6\":" + sun + "}";
|
||||
}
|
||||
|
||||
private @Nullable String getDaySchedule(@Nullable String morningTime, @Nullable String dayTime,
|
||||
@Nullable String eveningTime, @Nullable String nightTime, @Nullable Integer morningTemp,
|
||||
@Nullable Integer dayTemp, @Nullable Integer eveningTemp, @Nullable Integer nightTemp) {
|
||||
// if any null, this day schedule is not valid
|
||||
if (morningTime == null || dayTime == null || eveningTime == null || nightTime == null || morningTemp == null
|
||||
|| dayTemp == null || eveningTemp == null || nightTemp == null) {
|
||||
return null;
|
||||
}
|
||||
|
||||
final int morningMin;
|
||||
final int dayMin;
|
||||
final int eveningMin;
|
||||
final int nightMin;
|
||||
|
||||
try {
|
||||
morningMin = parseMinutes(morningTime);
|
||||
dayMin = parseMinutes(dayTime);
|
||||
eveningMin = parseMinutes(eveningTime);
|
||||
nightMin = parseMinutes(nightTime);
|
||||
} catch (NumberFormatException nfe) {
|
||||
// if any of the times could not be parsed into minutes, the schedule is invalid
|
||||
return null;
|
||||
}
|
||||
|
||||
// the minute value for each period must be greater than the previous period otherwise the schedule is invalid
|
||||
if (morningMin >= dayMin || dayMin >= eveningMin || eveningMin >= nightMin) {
|
||||
return null;
|
||||
}
|
||||
|
||||
return "[" + morningMin + "," + morningTemp + "," + dayMin + "," + dayTemp + "," + eveningMin + ","
|
||||
+ eveningTemp + "," + nightMin + "," + nightTemp + "]";
|
||||
}
|
||||
|
||||
private int parseMinutes(String timeStr) {
|
||||
final String[] hourMin = timeStr.split(":");
|
||||
|
||||
return Integer.parseInt(hourMin[0]) * 60 + Integer.parseInt(hourMin[1]);
|
||||
}
|
||||
}
|
@ -6,5 +6,6 @@
|
||||
<type>binding</type>
|
||||
<name>Radio Thermostat Binding</name>
|
||||
<description>Controls the RadioThermostat model CT30, CT50 or CT80 via the built-in WIFI module</description>
|
||||
<connection>local</connection>
|
||||
|
||||
</addon:addon>
|
||||
|
@ -0,0 +1,814 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<config-description:config-descriptions
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xmlns:config-description="https://openhab.org/schemas/config-description/v1.0.0"
|
||||
xsi:schemaLocation="https://openhab.org/schemas/config-description/v1.0.0 https://openhab.org/schemas/config-description-1.0.0.xsd">
|
||||
|
||||
<config-description uri="thing-type:radiothermostat:thermostatconfig">
|
||||
<parameter-group name="heating">
|
||||
<label>Heating Program</label>
|
||||
<description>This group defines the setpoints for the heating program.</description>
|
||||
</parameter-group>
|
||||
|
||||
<parameter-group name="cooling">
|
||||
<label>Cooling Program</label>
|
||||
<description>This group defines the setpoints for the cooling program.</description>
|
||||
</parameter-group>
|
||||
|
||||
<parameter name="hostName" type="text" required="true">
|
||||
<context>network-address</context>
|
||||
<label>Thermostat Host Name/IP Address</label>
|
||||
<description>Host Name or IP Address of the Thermostat</description>
|
||||
</parameter>
|
||||
<parameter name="refresh" type="integer" min="1" required="false" unit="min">
|
||||
<label>Refresh Interval</label>
|
||||
<description>Specifies the Refresh Interval in Minutes</description>
|
||||
<default>2</default>
|
||||
</parameter>
|
||||
<parameter name="logRefresh" type="integer" min="5" required="false" unit="min">
|
||||
<label>Run-time Log Refresh Interval</label>
|
||||
<description>Specifies the Run-time Log and Humidity Refresh Interval in Minutes</description>
|
||||
<default>10</default>
|
||||
</parameter>
|
||||
<parameter name="isCT80" type="boolean">
|
||||
<label>Enable CT80 Thermostat Options</label>
|
||||
<description>Optional Flag to Enable Additional Features Only Available on the CT80 Thermostat</description>
|
||||
<default>false</default>
|
||||
</parameter>
|
||||
<parameter name="disableLogs" type="boolean">
|
||||
<label>Disable Retrieval of Run-time Data</label>
|
||||
<description>Optional Flag to Disable the Retrieval of Run-time Data from the Thermostat</description>
|
||||
<default>false</default>
|
||||
</parameter>
|
||||
<parameter name="setpointMode" type="text">
|
||||
<label>Setpoint Mode</label>
|
||||
<description>Run in absolute or temporary setpoint mode</description>
|
||||
<default>temporary</default>
|
||||
<options>
|
||||
<option value="absolute">Absolute</option>
|
||||
<option value="temporary">Temporary</option>
|
||||
</options>
|
||||
</parameter>
|
||||
<parameter name="clockSync" type="boolean">
|
||||
<label>Enable Thermostat Clock Sync</label>
|
||||
<description>Optional Flag to sync the thermostat's clock with the host system clock</description>
|
||||
<default>true</default>
|
||||
</parameter>
|
||||
|
||||
<parameter name="monMorningHeatTime" type="text" pattern="([01]?[0-9]|2[0-3]):[0-5][0-9]"
|
||||
groupName="heating">
|
||||
<label>Monday Morning</label>
|
||||
<description>Monday Morning setpoint start time (HH:mm)</description>
|
||||
<advanced>true</advanced>
|
||||
</parameter>
|
||||
|
||||
<parameter name="monMorningHeatTemp" type="integer" min="45" max="95" unit="F" groupName="heating">
|
||||
<label>Monday Morning Heat Setpoint</label>
|
||||
<description>The setpoint in Degrees Fahrenheit</description>
|
||||
<unitLabel>degrees F</unitLabel>
|
||||
<advanced>true</advanced>
|
||||
</parameter>
|
||||
|
||||
<parameter name="monDayHeatTime" type="text" pattern="([01]?[0-9]|2[0-3]):[0-5][0-9]" groupName="heating">
|
||||
<label>Monday Day</label>
|
||||
<description>Monday Day setpoint start time (HH:mm)</description>
|
||||
<advanced>true</advanced>
|
||||
</parameter>
|
||||
|
||||
<parameter name="monDayHeatTemp" type="integer" min="45" max="95" unit="F" groupName="heating">
|
||||
<label>Monday Day Heat Setpoint</label>
|
||||
<description>The setpoint in Degrees Fahrenheit</description>
|
||||
<unitLabel>degrees F</unitLabel>
|
||||
<advanced>true</advanced>
|
||||
</parameter>
|
||||
|
||||
<parameter name="monEveningHeatTime" type="text" pattern="([01]?[0-9]|2[0-3]):[0-5][0-9]"
|
||||
groupName="heating">
|
||||
<label>Monday Evening</label>
|
||||
<description>Monday Evening setpoint start time (HH:mm)</description>
|
||||
<advanced>true</advanced>
|
||||
</parameter>
|
||||
|
||||
<parameter name="monEveningHeatTemp" type="integer" min="45" max="95" unit="F" groupName="heating">
|
||||
<label>Monday Evening Heat Setpoint</label>
|
||||
<description>The setpoint in Degrees Fahrenheit</description>
|
||||
<unitLabel>degrees F</unitLabel>
|
||||
<advanced>true</advanced>
|
||||
</parameter>
|
||||
|
||||
<parameter name="monNightHeatTime" type="text" pattern="([01]?[0-9]|2[0-3]):[0-5][0-9]" groupName="heating">
|
||||
<label>Monday Night</label>
|
||||
<description>Monday Night setpoint start time (HH:mm)</description>
|
||||
<advanced>true</advanced>
|
||||
</parameter>
|
||||
|
||||
<parameter name="monNightHeatTemp" type="integer" min="45" max="95" unit="F" groupName="heating">
|
||||
<label>Monday Night Heat Setpoint</label>
|
||||
<description>The setpoint in Degrees Fahrenheit</description>
|
||||
<unitLabel>degrees F</unitLabel>
|
||||
<advanced>true</advanced>
|
||||
</parameter>
|
||||
|
||||
<parameter name="tueMorningHeatTime" type="text" pattern="([01]?[0-9]|2[0-3]):[0-5][0-9]"
|
||||
groupName="heating">
|
||||
<label>Tuesday Morning</label>
|
||||
<description>Tuesday Morning setpoint start time (HH:mm)</description>
|
||||
<advanced>true</advanced>
|
||||
</parameter>
|
||||
|
||||
<parameter name="tueMorningHeatTemp" type="integer" min="45" max="95" unit="F" groupName="heating">
|
||||
<label>Tuesday Morning Heat Setpoint</label>
|
||||
<description>The setpoint in Degrees Fahrenheit</description>
|
||||
<unitLabel>degrees F</unitLabel>
|
||||
<advanced>true</advanced>
|
||||
</parameter>
|
||||
|
||||
<parameter name="tueDayHeatTime" type="text" pattern="([01]?[0-9]|2[0-3]):[0-5][0-9]" groupName="heating">
|
||||
<label>Tuesday Day</label>
|
||||
<description>Tuesday Day setpoint start time (HH:mm)</description>
|
||||
<advanced>true</advanced>
|
||||
</parameter>
|
||||
|
||||
<parameter name="tueDayHeatTemp" type="integer" min="45" max="95" unit="F" groupName="heating">
|
||||
<label>Tuesday Day Heat Setpoint</label>
|
||||
<description>The setpoint in Degrees Fahrenheit</description>
|
||||
<unitLabel>degrees F</unitLabel>
|
||||
<advanced>true</advanced>
|
||||
</parameter>
|
||||
|
||||
<parameter name="tueEveningHeatTime" type="text" pattern="([01]?[0-9]|2[0-3]):[0-5][0-9]"
|
||||
groupName="heating">
|
||||
<label>Tuesday Evening</label>
|
||||
<description>Tuesday Evening setpoint start time (HH:mm)</description>
|
||||
<advanced>true</advanced>
|
||||
</parameter>
|
||||
|
||||
<parameter name="tueEveningHeatTemp" type="integer" min="45" max="95" unit="F" groupName="heating">
|
||||
<label>Tuesday Evening Heat Setpoint</label>
|
||||
<description>The setpoint in Degrees Fahrenheit</description>
|
||||
<unitLabel>degrees F</unitLabel>
|
||||
<advanced>true</advanced>
|
||||
</parameter>
|
||||
|
||||
<parameter name="tueNightHeatTime" type="text" pattern="([01]?[0-9]|2[0-3]):[0-5][0-9]" groupName="heating">
|
||||
<label>Tuesday Night</label>
|
||||
<description>Tuesday Night setpoint start time (HH:mm)</description>
|
||||
<advanced>true</advanced>
|
||||
</parameter>
|
||||
|
||||
<parameter name="tueNightHeatTemp" type="integer" min="45" max="95" unit="F" groupName="heating">
|
||||
<label>Tuesday Night Heat Setpoint</label>
|
||||
<description>The setpoint in Degrees Fahrenheit</description>
|
||||
<unitLabel>degrees F</unitLabel>
|
||||
<advanced>true</advanced>
|
||||
</parameter>
|
||||
|
||||
<parameter name="wedMorningHeatTime" type="text" pattern="([01]?[0-9]|2[0-3]):[0-5][0-9]"
|
||||
groupName="heating">
|
||||
<label>Wednesday Morning</label>
|
||||
<description>Wednesday Morning setpoint start time (HH:mm)</description>
|
||||
<advanced>true</advanced>
|
||||
</parameter>
|
||||
|
||||
<parameter name="wedMorningHeatTemp" type="integer" min="45" max="95" unit="F" groupName="heating">
|
||||
<label>Wednesday Morning Heat Setpoint</label>
|
||||
<description>The setpoint in Degrees Fahrenheit</description>
|
||||
<unitLabel>degrees F</unitLabel>
|
||||
<advanced>true</advanced>
|
||||
</parameter>
|
||||
|
||||
<parameter name="wedDayHeatTime" type="text" pattern="([01]?[0-9]|2[0-3]):[0-5][0-9]" groupName="heating">
|
||||
<label>Wednesday Day</label>
|
||||
<description>Wednesday Day setpoint start time (HH:mm)</description>
|
||||
<advanced>true</advanced>
|
||||
</parameter>
|
||||
|
||||
<parameter name="wedDayHeatTemp" type="integer" min="45" max="95" unit="F" groupName="heating">
|
||||
<label>Wednesday Day Heat Setpoint</label>
|
||||
<description>The setpoint in Degrees Fahrenheit</description>
|
||||
<unitLabel>degrees F</unitLabel>
|
||||
<advanced>true</advanced>
|
||||
</parameter>
|
||||
|
||||
<parameter name="wedEveningHeatTime" type="text" pattern="([01]?[0-9]|2[0-3]):[0-5][0-9]"
|
||||
groupName="heating">
|
||||
<label>Wednesday Evening</label>
|
||||
<description>Wednesday Evening setpoint start time (HH:mm)</description>
|
||||
<advanced>true</advanced>
|
||||
</parameter>
|
||||
|
||||
<parameter name="wedEveningHeatTemp" type="integer" min="45" max="95" unit="F" groupName="heating">
|
||||
<label>Wednesday Evening Heat Setpoint</label>
|
||||
<description>The setpoint in Degrees Fahrenheit</description>
|
||||
<unitLabel>degrees F</unitLabel>
|
||||
<advanced>true</advanced>
|
||||
</parameter>
|
||||
|
||||
<parameter name="wedNightHeatTime" type="text" pattern="([01]?[0-9]|2[0-3]):[0-5][0-9]" groupName="heating">
|
||||
<label>Wednesday Night</label>
|
||||
<description>Wednesday Night setpoint start time (HH:mm)</description>
|
||||
<advanced>true</advanced>
|
||||
</parameter>
|
||||
|
||||
<parameter name="wedNightHeatTemp" type="integer" min="45" max="95" unit="F" groupName="heating">
|
||||
<label>Wednesday Night Heat Setpoint</label>
|
||||
<description>The setpoint in Degrees Fahrenheit</description>
|
||||
<unitLabel>degrees F</unitLabel>
|
||||
<advanced>true</advanced>
|
||||
</parameter>
|
||||
|
||||
<parameter name="thuMorningHeatTime" type="text" pattern="([01]?[0-9]|2[0-3]):[0-5][0-9]"
|
||||
groupName="heating">
|
||||
<label>Thursday Morning</label>
|
||||
<description>Thursday Morning setpoint start time (HH:mm)</description>
|
||||
<advanced>true</advanced>
|
||||
</parameter>
|
||||
|
||||
<parameter name="thuMorningHeatTemp" type="integer" min="45" max="95" unit="F" groupName="heating">
|
||||
<label>Thursday Morning Heat Setpoint</label>
|
||||
<description>The setpoint in Degrees Fahrenheit</description>
|
||||
<unitLabel>degrees F</unitLabel>
|
||||
<advanced>true</advanced>
|
||||
</parameter>
|
||||
|
||||
<parameter name="thuDayHeatTime" type="text" pattern="([01]?[0-9]|2[0-3]):[0-5][0-9]" groupName="heating">
|
||||
<label>Thursday Day</label>
|
||||
<description>Thursday Day setpoint start time (HH:mm)</description>
|
||||
<advanced>true</advanced>
|
||||
</parameter>
|
||||
|
||||
<parameter name="thuDayHeatTemp" type="integer" min="45" max="95" unit="F" groupName="heating">
|
||||
<label>Thursday Day Heat Setpoint</label>
|
||||
<description>The setpoint in Degrees Fahrenheit</description>
|
||||
<unitLabel>degrees F</unitLabel>
|
||||
<advanced>true</advanced>
|
||||
</parameter>
|
||||
|
||||
<parameter name="thuEveningHeatTime" type="text" pattern="([01]?[0-9]|2[0-3]):[0-5][0-9]"
|
||||
groupName="heating">
|
||||
<label>Thursday Evening</label>
|
||||
<description>Thursday Evening setpoint start time (HH:mm)</description>
|
||||
<advanced>true</advanced>
|
||||
</parameter>
|
||||
|
||||
<parameter name="thuEveningHeatTemp" type="integer" min="45" max="95" unit="F" groupName="heating">
|
||||
<label>Thursday Evening Heat Setpoint</label>
|
||||
<description>The setpoint in Degrees Fahrenheit</description>
|
||||
<unitLabel>degrees F</unitLabel>
|
||||
<advanced>true</advanced>
|
||||
</parameter>
|
||||
|
||||
<parameter name="thuNightHeatTime" type="text" pattern="([01]?[0-9]|2[0-3]):[0-5][0-9]" groupName="heating">
|
||||
<label>Thursday Night</label>
|
||||
<description>Thursday Night setpoint start time (HH:mm)</description>
|
||||
<advanced>true</advanced>
|
||||
</parameter>
|
||||
|
||||
<parameter name="thuNightHeatTemp" type="integer" min="45" max="95" unit="F" groupName="heating">
|
||||
<label>Thursday Night Heat Setpoint</label>
|
||||
<description>The setpoint in Degrees Fahrenheit</description>
|
||||
<unitLabel>degrees F</unitLabel>
|
||||
<advanced>true</advanced>
|
||||
</parameter>
|
||||
|
||||
<parameter name="friMorningHeatTime" type="text" pattern="([01]?[0-9]|2[0-3]):[0-5][0-9]"
|
||||
groupName="heating">
|
||||
<label>Friday Morning</label>
|
||||
<description>Friday Morning setpoint start time (HH:mm)</description>
|
||||
<advanced>true</advanced>
|
||||
</parameter>
|
||||
|
||||
<parameter name="friMorningHeatTemp" type="integer" min="45" max="95" unit="F" groupName="heating">
|
||||
<label>Friday Morning Heat Setpoint</label>
|
||||
<description>The setpoint in Degrees Fahrenheit</description>
|
||||
<unitLabel>degrees F</unitLabel>
|
||||
<advanced>true</advanced>
|
||||
</parameter>
|
||||
|
||||
<parameter name="friDayHeatTime" type="text" pattern="([01]?[0-9]|2[0-3]):[0-5][0-9]" groupName="heating">
|
||||
<label>Friday Day</label>
|
||||
<description>Friday Day setpoint start time (HH:mm)</description>
|
||||
<advanced>true</advanced>
|
||||
</parameter>
|
||||
|
||||
<parameter name="friDayHeatTemp" type="integer" min="45" max="95" unit="F" groupName="heating">
|
||||
<label>Friday Day Heat Setpoint</label>
|
||||
<description>The setpoint in Degrees Fahrenheit</description>
|
||||
<unitLabel>degrees F</unitLabel>
|
||||
<advanced>true</advanced>
|
||||
</parameter>
|
||||
|
||||
<parameter name="friEveningHeatTime" type="text" pattern="([01]?[0-9]|2[0-3]):[0-5][0-9]"
|
||||
groupName="heating">
|
||||
<label>Friday Evening</label>
|
||||
<description>Friday Evening setpoint start time (HH:mm)</description>
|
||||
<advanced>true</advanced>
|
||||
</parameter>
|
||||
|
||||
<parameter name="friEveningHeatTemp" type="integer" min="45" max="95" unit="F" groupName="heating">
|
||||
<label>Friday Evening Heat Setpoint</label>
|
||||
<description>The setpoint in Degrees Fahrenheit</description>
|
||||
<unitLabel>degrees F</unitLabel>
|
||||
<advanced>true</advanced>
|
||||
</parameter>
|
||||
|
||||
<parameter name="friNightHeatTime" type="text" pattern="([01]?[0-9]|2[0-3]):[0-5][0-9]" groupName="heating">
|
||||
<label>Friday Night</label>
|
||||
<description>Friday Night setpoint start time (HH:mm)</description>
|
||||
<advanced>true</advanced>
|
||||
</parameter>
|
||||
|
||||
<parameter name="friNightHeatTemp" type="integer" min="45" max="95" unit="F" groupName="heating">
|
||||
<label>Friday Night Heat Setpoint</label>
|
||||
<description>The setpoint in Degrees Fahrenheit</description>
|
||||
<unitLabel>degrees F</unitLabel>
|
||||
<advanced>true</advanced>
|
||||
</parameter>
|
||||
|
||||
<parameter name="satMorningHeatTime" type="text" pattern="([01]?[0-9]|2[0-3]):[0-5][0-9]"
|
||||
groupName="heating">
|
||||
<label>Saturday Morning</label>
|
||||
<description>Saturday Morning setpoint start time (HH:mm)</description>
|
||||
<advanced>true</advanced>
|
||||
</parameter>
|
||||
|
||||
<parameter name="satMorningHeatTemp" type="integer" min="45" max="95" unit="F" groupName="heating">
|
||||
<label>Saturday Morning Heat Setpoint</label>
|
||||
<description>The setpoint in Degrees Fahrenheit</description>
|
||||
<unitLabel>degrees F</unitLabel>
|
||||
<advanced>true</advanced>
|
||||
</parameter>
|
||||
|
||||
<parameter name="satDayHeatTime" type="text" pattern="([01]?[0-9]|2[0-3]):[0-5][0-9]" groupName="heating">
|
||||
<label>Saturday Day</label>
|
||||
<description>Saturday Day setpoint start time (HH:mm)</description>
|
||||
<advanced>true</advanced>
|
||||
</parameter>
|
||||
|
||||
<parameter name="satDayHeatTemp" type="integer" min="45" max="95" unit="F" groupName="heating">
|
||||
<label>Saturday Day Heat Setpoint</label>
|
||||
<description>The setpoint in Degrees Fahrenheit</description>
|
||||
<unitLabel>degrees F</unitLabel>
|
||||
<advanced>true</advanced>
|
||||
</parameter>
|
||||
|
||||
<parameter name="satEveningHeatTime" type="text" pattern="([01]?[0-9]|2[0-3]):[0-5][0-9]"
|
||||
groupName="heating">
|
||||
<label>Saturday Evening</label>
|
||||
<description>Saturday Evening setpoint start time (HH:mm)</description>
|
||||
<advanced>true</advanced>
|
||||
</parameter>
|
||||
|
||||
<parameter name="satEveningHeatTemp" type="integer" min="45" max="95" unit="F" groupName="heating">
|
||||
<label>Saturday Evening Heat Setpoint</label>
|
||||
<description>The setpoint in Degrees Fahrenheit</description>
|
||||
<unitLabel>degrees F</unitLabel>
|
||||
<advanced>true</advanced>
|
||||
</parameter>
|
||||
|
||||
<parameter name="satNightHeatTime" type="text" pattern="([01]?[0-9]|2[0-3]):[0-5][0-9]" groupName="heating">
|
||||
<label>Saturday Night</label>
|
||||
<description>Saturday Night setpoint start time (HH:mm)</description>
|
||||
<advanced>true</advanced>
|
||||
</parameter>
|
||||
|
||||
<parameter name="satNightHeatTemp" type="integer" min="45" max="95" unit="F" groupName="heating">
|
||||
<label>Saturday Night Heat Setpoint</label>
|
||||
<description>The setpoint in Degrees Fahrenheit</description>
|
||||
<unitLabel>degrees F</unitLabel>
|
||||
<advanced>true</advanced>
|
||||
</parameter>
|
||||
|
||||
<parameter name="sunMorningHeatTime" type="text" pattern="([01]?[0-9]|2[0-3]):[0-5][0-9]"
|
||||
groupName="heating">
|
||||
<label>Sunday Morning</label>
|
||||
<description>Sunday Morning setpoint start time (HH:mm)</description>
|
||||
<advanced>true</advanced>
|
||||
</parameter>
|
||||
|
||||
<parameter name="sunMorningHeatTemp" type="integer" min="45" max="95" unit="F" groupName="heating">
|
||||
<label>Sunday Morning Heat Setpoint</label>
|
||||
<description>The setpoint in Degrees Fahrenheit</description>
|
||||
<unitLabel>degrees F</unitLabel>
|
||||
<advanced>true</advanced>
|
||||
</parameter>
|
||||
|
||||
<parameter name="sunDayHeatTime" type="text" pattern="([01]?[0-9]|2[0-3]):[0-5][0-9]" groupName="heating">
|
||||
<label>Sunday Day</label>
|
||||
<description>Sunday Day setpoint start time (HH:mm)</description>
|
||||
<advanced>true</advanced>
|
||||
</parameter>
|
||||
|
||||
<parameter name="sunDayHeatTemp" type="integer" min="45" max="95" unit="F" groupName="heating">
|
||||
<label>Sunday Day Heat Setpoint</label>
|
||||
<description>The setpoint in Degrees Fahrenheit</description>
|
||||
<unitLabel>degrees F</unitLabel>
|
||||
<advanced>true</advanced>
|
||||
</parameter>
|
||||
|
||||
<parameter name="sunEveningHeatTime" type="text" pattern="([01]?[0-9]|2[0-3]):[0-5][0-9]"
|
||||
groupName="heating">
|
||||
<label>Sunday Evening</label>
|
||||
<description>Sunday Evening setpoint start time (HH:mm)</description>
|
||||
<advanced>true</advanced>
|
||||
</parameter>
|
||||
|
||||
<parameter name="sunEveningHeatTemp" type="integer" min="45" max="95" unit="F" groupName="heating">
|
||||
<label>Sunday Evening Heat Setpoint</label>
|
||||
<description>The setpoint in Degrees Fahrenheit</description>
|
||||
<unitLabel>degrees F</unitLabel>
|
||||
<advanced>true</advanced>
|
||||
</parameter>
|
||||
|
||||
<parameter name="sunNightHeatTime" type="text" pattern="([01]?[0-9]|2[0-3]):[0-5][0-9]" groupName="heating">
|
||||
<label>Sunday Night</label>
|
||||
<description>Sunday Night setpoint start time (HH:mm)</description>
|
||||
<advanced>true</advanced>
|
||||
</parameter>
|
||||
|
||||
<parameter name="sunNightHeatTemp" type="integer" min="45" max="95" unit="F" groupName="heating">
|
||||
<label>Sunday Night Heat Setpoint</label>
|
||||
<description>The setpoint in Degrees Fahrenheit</description>
|
||||
<unitLabel>degrees F</unitLabel>
|
||||
<advanced>true</advanced>
|
||||
</parameter>
|
||||
|
||||
<parameter name="monMorningCoolTime" type="text" pattern="([01]?[0-9]|2[0-3]):[0-5][0-9]"
|
||||
groupName="cooling">
|
||||
<label>Monday Morning</label>
|
||||
<description>Monday Morning setpoint start time (HH:mm)</description>
|
||||
<advanced>true</advanced>
|
||||
</parameter>
|
||||
|
||||
<parameter name="monMorningCoolTemp" type="integer" min="45" max="95" unit="F" groupName="cooling">
|
||||
<label>Monday Morning Cool Setpoint</label>
|
||||
<description>The setpoint in Degrees Fahrenheit</description>
|
||||
<unitLabel>degrees F</unitLabel>
|
||||
<advanced>true</advanced>
|
||||
</parameter>
|
||||
|
||||
<parameter name="monDayCoolTime" type="text" pattern="([01]?[0-9]|2[0-3]):[0-5][0-9]" groupName="cooling">
|
||||
<label>Monday Day</label>
|
||||
<description>Monday Day setpoint start time (HH:mm)</description>
|
||||
<advanced>true</advanced>
|
||||
</parameter>
|
||||
|
||||
<parameter name="monDayCoolTemp" type="integer" min="45" max="95" unit="F" groupName="cooling">
|
||||
<label>Monday Day Cool Setpoint</label>
|
||||
<description>The setpoint in Degrees Fahrenheit</description>
|
||||
<unitLabel>degrees F</unitLabel>
|
||||
<advanced>true</advanced>
|
||||
</parameter>
|
||||
|
||||
<parameter name="monEveningCoolTime" type="text" pattern="([01]?[0-9]|2[0-3]):[0-5][0-9]"
|
||||
groupName="cooling">
|
||||
<label>Monday Evening</label>
|
||||
<description>Monday Evening setpoint start time (HH:mm)</description>
|
||||
<advanced>true</advanced>
|
||||
</parameter>
|
||||
|
||||
<parameter name="monEveningCoolTemp" type="integer" min="45" max="95" unit="F" groupName="cooling">
|
||||
<label>Monday Evening Cool Setpoint</label>
|
||||
<description>The setpoint in Degrees Fahrenheit</description>
|
||||
<unitLabel>degrees F</unitLabel>
|
||||
<advanced>true</advanced>
|
||||
</parameter>
|
||||
|
||||
<parameter name="monNightCoolTime" type="text" pattern="([01]?[0-9]|2[0-3]):[0-5][0-9]" groupName="cooling">
|
||||
<label>Monday Night</label>
|
||||
<description>Monday Night setpoint start time (HH:mm)</description>
|
||||
<advanced>true</advanced>
|
||||
</parameter>
|
||||
|
||||
<parameter name="monNightCoolTemp" type="integer" min="45" max="95" unit="F" groupName="cooling">
|
||||
<label>Monday Night Cool Setpoint</label>
|
||||
<description>The setpoint in Degrees Fahrenheit</description>
|
||||
<unitLabel>degrees F</unitLabel>
|
||||
<advanced>true</advanced>
|
||||
</parameter>
|
||||
|
||||
<parameter name="tueMorningCoolTime" type="text" pattern="([01]?[0-9]|2[0-3]):[0-5][0-9]"
|
||||
groupName="cooling">
|
||||
<label>Tuesday Morning</label>
|
||||
<description>Tuesday Morning setpoint start time (HH:mm)</description>
|
||||
<advanced>true</advanced>
|
||||
</parameter>
|
||||
|
||||
<parameter name="tueMorningCoolTemp" type="integer" min="45" max="95" unit="F" groupName="cooling">
|
||||
<label>Tuesday Morning Cool Setpoint</label>
|
||||
<description>The setpoint in Degrees Fahrenheit</description>
|
||||
<unitLabel>degrees F</unitLabel>
|
||||
<advanced>true</advanced>
|
||||
</parameter>
|
||||
|
||||
<parameter name="tueDayCoolTime" type="text" pattern="([01]?[0-9]|2[0-3]):[0-5][0-9]" groupName="cooling">
|
||||
<label>Tuesday Day</label>
|
||||
<description>Tuesday Day setpoint start time (HH:mm)</description>
|
||||
<advanced>true</advanced>
|
||||
</parameter>
|
||||
|
||||
<parameter name="tueDayCoolTemp" type="integer" min="45" max="95" unit="F" groupName="cooling">
|
||||
<label>Tuesday Day Cool Setpoint</label>
|
||||
<description>The setpoint in Degrees Fahrenheit</description>
|
||||
<unitLabel>degrees F</unitLabel>
|
||||
<advanced>true</advanced>
|
||||
</parameter>
|
||||
|
||||
<parameter name="tueEveningCoolTime" type="text" pattern="([01]?[0-9]|2[0-3]):[0-5][0-9]"
|
||||
groupName="cooling">
|
||||
<label>Tuesday Evening</label>
|
||||
<description>Tuesday Evening setpoint start time (HH:mm)</description>
|
||||
<advanced>true</advanced>
|
||||
</parameter>
|
||||
|
||||
<parameter name="tueEveningCoolTemp" type="integer" min="45" max="95" unit="F" groupName="cooling">
|
||||
<label>Tuesday Evening Cool Setpoint</label>
|
||||
<description>The setpoint in Degrees Fahrenheit</description>
|
||||
<unitLabel>degrees F</unitLabel>
|
||||
<advanced>true</advanced>
|
||||
</parameter>
|
||||
|
||||
<parameter name="tueNightCoolTime" type="text" pattern="([01]?[0-9]|2[0-3]):[0-5][0-9]" groupName="cooling">
|
||||
<label>Tuesday Night</label>
|
||||
<description>Tuesday Night setpoint start time (HH:mm)</description>
|
||||
<advanced>true</advanced>
|
||||
</parameter>
|
||||
|
||||
<parameter name="tueNightCoolTemp" type="integer" min="45" max="95" unit="F" groupName="cooling">
|
||||
<label>Tuesday Night Cool Setpoint</label>
|
||||
<description>The setpoint in Degrees Fahrenheit</description>
|
||||
<unitLabel>degrees F</unitLabel>
|
||||
<advanced>true</advanced>
|
||||
</parameter>
|
||||
|
||||
<parameter name="wedMorningCoolTime" type="text" pattern="([01]?[0-9]|2[0-3]):[0-5][0-9]"
|
||||
groupName="cooling">
|
||||
<label>Wednesday Morning</label>
|
||||
<description>Wednesday Morning setpoint start time (HH:mm)</description>
|
||||
<advanced>true</advanced>
|
||||
</parameter>
|
||||
|
||||
<parameter name="wedMorningCoolTemp" type="integer" min="45" max="95" unit="F" groupName="cooling">
|
||||
<label>Wednesday Morning Cool Setpoint</label>
|
||||
<description>The setpoint in Degrees Fahrenheit</description>
|
||||
<unitLabel>degrees F</unitLabel>
|
||||
<advanced>true</advanced>
|
||||
</parameter>
|
||||
|
||||
<parameter name="wedDayCoolTime" type="text" pattern="([01]?[0-9]|2[0-3]):[0-5][0-9]" groupName="cooling">
|
||||
<label>Wednesday Day</label>
|
||||
<description>Wednesday Day setpoint start time (HH:mm)</description>
|
||||
<advanced>true</advanced>
|
||||
</parameter>
|
||||
|
||||
<parameter name="wedDayCoolTemp" type="integer" min="45" max="95" unit="F" groupName="cooling">
|
||||
<label>Wednesday Day Cool Setpoint</label>
|
||||
<description>The setpoint in Degrees Fahrenheit</description>
|
||||
<unitLabel>degrees F</unitLabel>
|
||||
<advanced>true</advanced>
|
||||
</parameter>
|
||||
|
||||
<parameter name="wedEveningCoolTime" type="text" pattern="([01]?[0-9]|2[0-3]):[0-5][0-9]"
|
||||
groupName="cooling">
|
||||
<label>Wednesday Evening</label>
|
||||
<description>Wednesday Evening setpoint start time (HH:mm)</description>
|
||||
<advanced>true</advanced>
|
||||
</parameter>
|
||||
|
||||
<parameter name="wedEveningCoolTemp" type="integer" min="45" max="95" unit="F" groupName="cooling">
|
||||
<label>Wednesday Evening Cool Setpoint</label>
|
||||
<description>The setpoint in Degrees Fahrenheit</description>
|
||||
<unitLabel>degrees F</unitLabel>
|
||||
<advanced>true</advanced>
|
||||
</parameter>
|
||||
|
||||
<parameter name="wedNightCoolTime" type="text" pattern="([01]?[0-9]|2[0-3]):[0-5][0-9]" groupName="cooling">
|
||||
<label>Wednesday Night</label>
|
||||
<description>Wednesday Night setpoint start time (HH:mm)</description>
|
||||
<advanced>true</advanced>
|
||||
</parameter>
|
||||
|
||||
<parameter name="wedNightCoolTemp" type="integer" min="45" max="95" unit="F" groupName="cooling">
|
||||
<label>Wednesday Night Cool Setpoint</label>
|
||||
<description>The setpoint in Degrees Fahrenheit</description>
|
||||
<unitLabel>degrees F</unitLabel>
|
||||
<advanced>true</advanced>
|
||||
</parameter>
|
||||
|
||||
<parameter name="thuMorningCoolTime" type="text" pattern="([01]?[0-9]|2[0-3]):[0-5][0-9]"
|
||||
groupName="cooling">
|
||||
<label>Thursday Morning</label>
|
||||
<description>Thursday Morning setpoint start time (HH:mm)</description>
|
||||
<advanced>true</advanced>
|
||||
</parameter>
|
||||
|
||||
<parameter name="thuMorningCoolTemp" type="integer" min="45" max="95" unit="F" groupName="cooling">
|
||||
<label>Thursday Morning Cool Setpoint</label>
|
||||
<description>The setpoint in Degrees Fahrenheit</description>
|
||||
<unitLabel>degrees F</unitLabel>
|
||||
<advanced>true</advanced>
|
||||
</parameter>
|
||||
|
||||
<parameter name="thuDayCoolTime" type="text" pattern="([01]?[0-9]|2[0-3]):[0-5][0-9]" groupName="cooling">
|
||||
<label>Thursday Day</label>
|
||||
<description>Thursday Day setpoint start time (HH:mm)</description>
|
||||
<advanced>true</advanced>
|
||||
</parameter>
|
||||
|
||||
<parameter name="thuDayCoolTemp" type="integer" min="45" max="95" unit="F" groupName="cooling">
|
||||
<label>Thursday Day Cool Setpoint</label>
|
||||
<description>The setpoint in Degrees Fahrenheit</description>
|
||||
<unitLabel>degrees F</unitLabel>
|
||||
<advanced>true</advanced>
|
||||
</parameter>
|
||||
|
||||
<parameter name="thuEveningCoolTime" type="text" pattern="([01]?[0-9]|2[0-3]):[0-5][0-9]"
|
||||
groupName="cooling">
|
||||
<label>Thursday Evening</label>
|
||||
<description>Thursday Evening setpoint start time (HH:mm)</description>
|
||||
<advanced>true</advanced>
|
||||
</parameter>
|
||||
|
||||
<parameter name="thuEveningCoolTemp" type="integer" min="45" max="95" unit="F" groupName="cooling">
|
||||
<label>Thursday Evening Cool Setpoint</label>
|
||||
<description>The setpoint in Degrees Fahrenheit</description>
|
||||
<unitLabel>degrees F</unitLabel>
|
||||
<advanced>true</advanced>
|
||||
</parameter>
|
||||
|
||||
<parameter name="thuNightCoolTime" type="text" pattern="([01]?[0-9]|2[0-3]):[0-5][0-9]" groupName="cooling">
|
||||
<label>Thursday Night</label>
|
||||
<description>Thursday Night setpoint start time (HH:mm)</description>
|
||||
<advanced>true</advanced>
|
||||
</parameter>
|
||||
|
||||
<parameter name="thuNightCoolTemp" type="integer" min="45" max="95" unit="F" groupName="cooling">
|
||||
<label>Thursday Night Cool Setpoint</label>
|
||||
<description>The setpoint in Degrees Fahrenheit</description>
|
||||
<unitLabel>degrees F</unitLabel>
|
||||
<advanced>true</advanced>
|
||||
</parameter>
|
||||
|
||||
<parameter name="friMorningCoolTime" type="text" pattern="([01]?[0-9]|2[0-3]):[0-5][0-9]"
|
||||
groupName="cooling">
|
||||
<label>Friday Morning</label>
|
||||
<description>Friday Morning setpoint start time (HH:mm)</description>
|
||||
<advanced>true</advanced>
|
||||
</parameter>
|
||||
|
||||
<parameter name="friMorningCoolTemp" type="integer" min="45" max="95" unit="F" groupName="cooling">
|
||||
<label>Friday Morning Cool Setpoint</label>
|
||||
<description>The setpoint in Degrees Fahrenheit</description>
|
||||
<unitLabel>degrees F</unitLabel>
|
||||
<advanced>true</advanced>
|
||||
</parameter>
|
||||
|
||||
<parameter name="friDayCoolTime" type="text" pattern="([01]?[0-9]|2[0-3]):[0-5][0-9]" groupName="cooling">
|
||||
<label>Friday Day</label>
|
||||
<description>Friday Day setpoint start time (HH:mm)</description>
|
||||
<advanced>true</advanced>
|
||||
</parameter>
|
||||
|
||||
<parameter name="friDayCoolTemp" type="integer" min="45" max="95" unit="F" groupName="cooling">
|
||||
<label>Friday Day Cool Setpoint</label>
|
||||
<description>The setpoint in Degrees Fahrenheit</description>
|
||||
<unitLabel>degrees F</unitLabel>
|
||||
<advanced>true</advanced>
|
||||
</parameter>
|
||||
|
||||
<parameter name="friEveningCoolTime" type="text" pattern="([01]?[0-9]|2[0-3]):[0-5][0-9]"
|
||||
groupName="cooling">
|
||||
<label>Friday Evening</label>
|
||||
<description>Friday Evening setpoint start time (HH:mm)</description>
|
||||
<advanced>true</advanced>
|
||||
</parameter>
|
||||
|
||||
<parameter name="friEveningCoolTemp" type="integer" min="45" max="95" unit="F" groupName="cooling">
|
||||
<label>Friday Evening Cool Setpoint</label>
|
||||
<description>The setpoint in Degrees Fahrenheit</description>
|
||||
<unitLabel>degrees F</unitLabel>
|
||||
<advanced>true</advanced>
|
||||
</parameter>
|
||||
|
||||
<parameter name="friNightCoolTime" type="text" pattern="([01]?[0-9]|2[0-3]):[0-5][0-9]" groupName="cooling">
|
||||
<label>Friday Night</label>
|
||||
<description>Friday Night setpoint start time (HH:mm)</description>
|
||||
<advanced>true</advanced>
|
||||
</parameter>
|
||||
|
||||
<parameter name="friNightCoolTemp" type="integer" min="45" max="95" unit="F" groupName="cooling">
|
||||
<label>Friday Night Cool Setpoint</label>
|
||||
<description>The setpoint in Degrees Fahrenheit</description>
|
||||
<unitLabel>degrees F</unitLabel>
|
||||
<advanced>true</advanced>
|
||||
</parameter>
|
||||
|
||||
<parameter name="satMorningCoolTime" type="text" pattern="([01]?[0-9]|2[0-3]):[0-5][0-9]"
|
||||
groupName="cooling">
|
||||
<label>Saturday Morning</label>
|
||||
<description>Saturday Morning setpoint start time (HH:mm)</description>
|
||||
<advanced>true</advanced>
|
||||
</parameter>
|
||||
|
||||
<parameter name="satMorningCoolTemp" type="integer" min="45" max="95" unit="F" groupName="cooling">
|
||||
<label>Saturday Morning Cool Setpoint</label>
|
||||
<description>The setpoint in Degrees Fahrenheit</description>
|
||||
<unitLabel>degrees F</unitLabel>
|
||||
<advanced>true</advanced>
|
||||
</parameter>
|
||||
|
||||
<parameter name="satDayCoolTime" type="text" pattern="([01]?[0-9]|2[0-3]):[0-5][0-9]" groupName="cooling">
|
||||
<label>Saturday Day</label>
|
||||
<description>Saturday Day setpoint start time (HH:mm)</description>
|
||||
<advanced>true</advanced>
|
||||
</parameter>
|
||||
|
||||
<parameter name="satDayCoolTemp" type="integer" min="45" max="95" unit="F" groupName="cooling">
|
||||
<label>Saturday Day Cool Setpoint</label>
|
||||
<description>The setpoint in Degrees Fahrenheit</description>
|
||||
<unitLabel>degrees F</unitLabel>
|
||||
<advanced>true</advanced>
|
||||
</parameter>
|
||||
|
||||
<parameter name="satEveningCoolTime" type="text" pattern="([01]?[0-9]|2[0-3]):[0-5][0-9]"
|
||||
groupName="cooling">
|
||||
<label>Saturday Evening</label>
|
||||
<description>Saturday Evening setpoint start time (HH:mm)</description>
|
||||
<advanced>true</advanced>
|
||||
</parameter>
|
||||
|
||||
<parameter name="satEveningCoolTemp" type="integer" min="45" max="95" unit="F" groupName="cooling">
|
||||
<label>Saturday Evening Cool Setpoint</label>
|
||||
<description>The setpoint in Degrees Fahrenheit</description>
|
||||
<unitLabel>degrees F</unitLabel>
|
||||
<advanced>true</advanced>
|
||||
</parameter>
|
||||
|
||||
<parameter name="satNightCoolTime" type="text" pattern="([01]?[0-9]|2[0-3]):[0-5][0-9]" groupName="cooling">
|
||||
<label>Saturday Night</label>
|
||||
<description>Saturday Night setpoint start time (HH:mm)</description>
|
||||
<advanced>true</advanced>
|
||||
</parameter>
|
||||
|
||||
<parameter name="satNightCoolTemp" type="integer" min="45" max="95" unit="F" groupName="cooling">
|
||||
<label>Saturday Night Cool Setpoint</label>
|
||||
<description>The setpoint in Degrees Fahrenheit</description>
|
||||
<unitLabel>degrees F</unitLabel>
|
||||
<advanced>true</advanced>
|
||||
</parameter>
|
||||
|
||||
<parameter name="sunMorningCoolTime" type="text" pattern="([01]?[0-9]|2[0-3]):[0-5][0-9]"
|
||||
groupName="cooling">
|
||||
<label>Sunday Morning</label>
|
||||
<description>Sunday Morning setpoint start time (HH:mm)</description>
|
||||
<advanced>true</advanced>
|
||||
</parameter>
|
||||
|
||||
<parameter name="sunMorningCoolTemp" type="integer" min="45" max="95" unit="F" groupName="cooling">
|
||||
<label>Sunday Morning Cool Setpoint</label>
|
||||
<description>The setpoint in Degrees Fahrenheit</description>
|
||||
<unitLabel>degrees F</unitLabel>
|
||||
<advanced>true</advanced>
|
||||
</parameter>
|
||||
|
||||
<parameter name="sunDayCoolTime" type="text" pattern="([01]?[0-9]|2[0-3]):[0-5][0-9]" groupName="cooling">
|
||||
<label>Sunday Day</label>
|
||||
<description>Sunday Day setpoint start time (HH:mm)</description>
|
||||
<advanced>true</advanced>
|
||||
</parameter>
|
||||
|
||||
<parameter name="sunDayCoolTemp" type="integer" min="45" max="95" unit="F" groupName="cooling">
|
||||
<label>Sunday Day Cool Setpoint</label>
|
||||
<description>The setpoint in Degrees Fahrenheit</description>
|
||||
<unitLabel>degrees F</unitLabel>
|
||||
<advanced>true</advanced>
|
||||
</parameter>
|
||||
|
||||
<parameter name="sunEveningCoolTime" type="text" pattern="([01]?[0-9]|2[0-3]):[0-5][0-9]"
|
||||
groupName="cooling">
|
||||
<label>Sunday Evening</label>
|
||||
<description>Sunday Evening setpoint start time (HH:mm)</description>
|
||||
<advanced>true</advanced>
|
||||
</parameter>
|
||||
|
||||
<parameter name="sunEveningCoolTemp" type="integer" min="45" max="95" unit="F" groupName="cooling">
|
||||
<label>Sunday Evening Cool Setpoint</label>
|
||||
<description>The setpoint in Degrees Fahrenheit</description>
|
||||
<unitLabel>degrees F</unitLabel>
|
||||
<advanced>true</advanced>
|
||||
</parameter>
|
||||
|
||||
<parameter name="sunNightCoolTime" type="text" pattern="([01]?[0-9]|2[0-3]):[0-5][0-9]" groupName="cooling">
|
||||
<label>Sunday Night</label>
|
||||
<description>Sunday Night setpoint start time (HH:mm)</description>
|
||||
<advanced>true</advanced>
|
||||
</parameter>
|
||||
|
||||
<parameter name="sunNightCoolTemp" type="integer" min="45" max="95" unit="F" groupName="cooling">
|
||||
<label>Sunday Night Cool Setpoint</label>
|
||||
<description>The setpoint in Degrees Fahrenheit</description>
|
||||
<unitLabel>degrees F</unitLabel>
|
||||
<advanced>true</advanced>
|
||||
</parameter>
|
||||
</config-description>
|
||||
</config-description:config-descriptions>
|
@ -10,22 +10,250 @@ thing-type.radiothermostat.rtherm.description = CT30, CT50/3M50 or CT80 Wi-Fi Th
|
||||
|
||||
# thing types config
|
||||
|
||||
thing-type.config.radiothermostat.rtherm.clockSync.label = Enable Thermostat Clock Sync
|
||||
thing-type.config.radiothermostat.rtherm.clockSync.description = Optional Flag to snyc the thermostat's clock with the host system clock
|
||||
thing-type.config.radiothermostat.rtherm.disableLogs.label = Disable Retrieval of Run-time Data
|
||||
thing-type.config.radiothermostat.rtherm.disableLogs.description = Optional Flag to Disable the Retrieval of Run-time Data from the Thermostat
|
||||
thing-type.config.radiothermostat.rtherm.hostName.label = Thermostat Host Name/IP Address
|
||||
thing-type.config.radiothermostat.rtherm.hostName.description = Host Name or IP Address of the Thermostat
|
||||
thing-type.config.radiothermostat.rtherm.isCT80.label = Enable CT80 Thermostat Options
|
||||
thing-type.config.radiothermostat.rtherm.isCT80.description = Optional Flag to Enable Additional Features Only Available on the CT80 Thermostat
|
||||
thing-type.config.radiothermostat.rtherm.logRefresh.label = Run-time Log Refresh Interval
|
||||
thing-type.config.radiothermostat.rtherm.logRefresh.description = Specifies the Run-time Log and Humidity Refresh Interval in Minutes
|
||||
thing-type.config.radiothermostat.rtherm.refresh.label = Refresh Interval
|
||||
thing-type.config.radiothermostat.rtherm.refresh.description = Specifies the Refresh Interval in Minutes
|
||||
thing-type.config.radiothermostat.rtherm.setpointMode.label = Setpoint Mode
|
||||
thing-type.config.radiothermostat.rtherm.setpointMode.description = Run in absolute or temporary setpoint mode
|
||||
thing-type.config.radiothermostat.rtherm.setpointMode.option.absolute = Absolute
|
||||
thing-type.config.radiothermostat.rtherm.setpointMode.option.temporary = Temporary
|
||||
thing-type.config.radiothermostat.thermostatconfig.clockSync.label = Enable Thermostat Clock Sync
|
||||
thing-type.config.radiothermostat.thermostatconfig.clockSync.description = Optional Flag to sync the thermostat's clock with the host system clock
|
||||
thing-type.config.radiothermostat.thermostatconfig.disableLogs.label = Disable Retrieval of Run-time Data
|
||||
thing-type.config.radiothermostat.thermostatconfig.disableLogs.description = Optional Flag to Disable the Retrieval of Run-time Data from the Thermostat
|
||||
thing-type.config.radiothermostat.thermostatconfig.friDayCoolTemp.label = Friday Day Cool Setpoint
|
||||
thing-type.config.radiothermostat.thermostatconfig.friDayCoolTemp.description = The setpoint in Degrees Fahrenheit
|
||||
thing-type.config.radiothermostat.thermostatconfig.friDayCoolTime.label = Friday Day
|
||||
thing-type.config.radiothermostat.thermostatconfig.friDayCoolTime.description = Friday Day setpoint start time (HH:mm)
|
||||
thing-type.config.radiothermostat.thermostatconfig.friDayHeatTemp.label = Friday Day Heat Setpoint
|
||||
thing-type.config.radiothermostat.thermostatconfig.friDayHeatTemp.description = The setpoint in Degrees Fahrenheit
|
||||
thing-type.config.radiothermostat.thermostatconfig.friDayHeatTime.label = Friday Day
|
||||
thing-type.config.radiothermostat.thermostatconfig.friDayHeatTime.description = Friday Day setpoint start time (HH:mm)
|
||||
thing-type.config.radiothermostat.thermostatconfig.friEveningCoolTemp.label = Friday Evening Cool Setpoint
|
||||
thing-type.config.radiothermostat.thermostatconfig.friEveningCoolTemp.description = The setpoint in Degrees Fahrenheit
|
||||
thing-type.config.radiothermostat.thermostatconfig.friEveningCoolTime.label = Friday Evening
|
||||
thing-type.config.radiothermostat.thermostatconfig.friEveningCoolTime.description = Friday Evening setpoint start time (HH:mm)
|
||||
thing-type.config.radiothermostat.thermostatconfig.friEveningHeatTemp.label = Friday Evening Heat Setpoint
|
||||
thing-type.config.radiothermostat.thermostatconfig.friEveningHeatTemp.description = The setpoint in Degrees Fahrenheit
|
||||
thing-type.config.radiothermostat.thermostatconfig.friEveningHeatTime.label = Friday Evening
|
||||
thing-type.config.radiothermostat.thermostatconfig.friEveningHeatTime.description = Friday Evening setpoint start time (HH:mm)
|
||||
thing-type.config.radiothermostat.thermostatconfig.friMorningCoolTemp.label = Friday Morning Cool Setpoint
|
||||
thing-type.config.radiothermostat.thermostatconfig.friMorningCoolTemp.description = The setpoint in Degrees Fahrenheit
|
||||
thing-type.config.radiothermostat.thermostatconfig.friMorningCoolTime.label = Friday Morning
|
||||
thing-type.config.radiothermostat.thermostatconfig.friMorningCoolTime.description = Friday Morning setpoint start time (HH:mm)
|
||||
thing-type.config.radiothermostat.thermostatconfig.friMorningHeatTemp.label = Friday Morning Heat Setpoint
|
||||
thing-type.config.radiothermostat.thermostatconfig.friMorningHeatTemp.description = The setpoint in Degrees Fahrenheit
|
||||
thing-type.config.radiothermostat.thermostatconfig.friMorningHeatTime.label = Friday Morning
|
||||
thing-type.config.radiothermostat.thermostatconfig.friMorningHeatTime.description = Friday Morning setpoint start time (HH:mm)
|
||||
thing-type.config.radiothermostat.thermostatconfig.friNightCoolTemp.label = Friday Night Cool Setpoint
|
||||
thing-type.config.radiothermostat.thermostatconfig.friNightCoolTemp.description = The setpoint in Degrees Fahrenheit
|
||||
thing-type.config.radiothermostat.thermostatconfig.friNightCoolTime.label = Friday Night
|
||||
thing-type.config.radiothermostat.thermostatconfig.friNightCoolTime.description = Friday Night setpoint start time (HH:mm)
|
||||
thing-type.config.radiothermostat.thermostatconfig.friNightHeatTemp.label = Friday Night Heat Setpoint
|
||||
thing-type.config.radiothermostat.thermostatconfig.friNightHeatTemp.description = The setpoint in Degrees Fahrenheit
|
||||
thing-type.config.radiothermostat.thermostatconfig.friNightHeatTime.label = Friday Night
|
||||
thing-type.config.radiothermostat.thermostatconfig.friNightHeatTime.description = Friday Night setpoint start time (HH:mm)
|
||||
thing-type.config.radiothermostat.thermostatconfig.group.cooling.label = Cooling Program
|
||||
thing-type.config.radiothermostat.thermostatconfig.group.cooling.description = This group defines the setpoints for the cooling program.
|
||||
thing-type.config.radiothermostat.thermostatconfig.group.heating.label = Heating Program
|
||||
thing-type.config.radiothermostat.thermostatconfig.group.heating.description = This group defines the setpoints for the heating program.
|
||||
thing-type.config.radiothermostat.thermostatconfig.hostName.label = Thermostat Host Name/IP Address
|
||||
thing-type.config.radiothermostat.thermostatconfig.hostName.description = Host Name or IP Address of the Thermostat
|
||||
thing-type.config.radiothermostat.thermostatconfig.isCT80.label = Enable CT80 Thermostat Options
|
||||
thing-type.config.radiothermostat.thermostatconfig.isCT80.description = Optional Flag to Enable Additional Features Only Available on the CT80 Thermostat
|
||||
thing-type.config.radiothermostat.thermostatconfig.logRefresh.label = Run-time Log Refresh Interval
|
||||
thing-type.config.radiothermostat.thermostatconfig.logRefresh.description = Specifies the Run-time Log and Humidity Refresh Interval in Minutes
|
||||
thing-type.config.radiothermostat.thermostatconfig.monDayCoolTemp.label = Monday Day Cool Setpoint
|
||||
thing-type.config.radiothermostat.thermostatconfig.monDayCoolTemp.description = The setpoint in Degrees Fahrenheit
|
||||
thing-type.config.radiothermostat.thermostatconfig.monDayCoolTime.label = Monday Day
|
||||
thing-type.config.radiothermostat.thermostatconfig.monDayCoolTime.description = Monday Day setpoint start time (HH:mm)
|
||||
thing-type.config.radiothermostat.thermostatconfig.monDayHeatTemp.label = Monday Day Heat Setpoint
|
||||
thing-type.config.radiothermostat.thermostatconfig.monDayHeatTemp.description = The setpoint in Degrees Fahrenheit
|
||||
thing-type.config.radiothermostat.thermostatconfig.monDayHeatTime.label = Monday Day
|
||||
thing-type.config.radiothermostat.thermostatconfig.monDayHeatTime.description = Monday Day setpoint start time (HH:mm)
|
||||
thing-type.config.radiothermostat.thermostatconfig.monEveningCoolTemp.label = Monday Evening Cool Setpoint
|
||||
thing-type.config.radiothermostat.thermostatconfig.monEveningCoolTemp.description = The setpoint in Degrees Fahrenheit
|
||||
thing-type.config.radiothermostat.thermostatconfig.monEveningCoolTime.label = Monday Evening
|
||||
thing-type.config.radiothermostat.thermostatconfig.monEveningCoolTime.description = Monday Evening setpoint start time (HH:mm)
|
||||
thing-type.config.radiothermostat.thermostatconfig.monEveningHeatTemp.label = Monday Evening Heat Setpoint
|
||||
thing-type.config.radiothermostat.thermostatconfig.monEveningHeatTemp.description = The setpoint in Degrees Fahrenheit
|
||||
thing-type.config.radiothermostat.thermostatconfig.monEveningHeatTime.label = Monday Evening
|
||||
thing-type.config.radiothermostat.thermostatconfig.monEveningHeatTime.description = Monday Evening setpoint start time (HH:mm)
|
||||
thing-type.config.radiothermostat.thermostatconfig.monMorningCoolTemp.label = Monday Morning Cool Setpoint
|
||||
thing-type.config.radiothermostat.thermostatconfig.monMorningCoolTemp.description = The setpoint in Degrees Fahrenheit
|
||||
thing-type.config.radiothermostat.thermostatconfig.monMorningCoolTime.label = Monday Morning
|
||||
thing-type.config.radiothermostat.thermostatconfig.monMorningCoolTime.description = Monday Morning setpoint start time (HH:mm)
|
||||
thing-type.config.radiothermostat.thermostatconfig.monMorningHeatTemp.label = Monday Morning Heat Setpoint
|
||||
thing-type.config.radiothermostat.thermostatconfig.monMorningHeatTemp.description = The setpoint in Degrees Fahrenheit
|
||||
thing-type.config.radiothermostat.thermostatconfig.monMorningHeatTime.label = Monday Morning
|
||||
thing-type.config.radiothermostat.thermostatconfig.monMorningHeatTime.description = Monday Morning setpoint start time (HH:mm)
|
||||
thing-type.config.radiothermostat.thermostatconfig.monNightCoolTemp.label = Monday Night Cool Setpoint
|
||||
thing-type.config.radiothermostat.thermostatconfig.monNightCoolTemp.description = The setpoint in Degrees Fahrenheit
|
||||
thing-type.config.radiothermostat.thermostatconfig.monNightCoolTime.label = Monday Night
|
||||
thing-type.config.radiothermostat.thermostatconfig.monNightCoolTime.description = Monday Night setpoint start time (HH:mm)
|
||||
thing-type.config.radiothermostat.thermostatconfig.monNightHeatTemp.label = Monday Night Heat Setpoint
|
||||
thing-type.config.radiothermostat.thermostatconfig.monNightHeatTemp.description = The setpoint in Degrees Fahrenheit
|
||||
thing-type.config.radiothermostat.thermostatconfig.monNightHeatTime.label = Monday Night
|
||||
thing-type.config.radiothermostat.thermostatconfig.monNightHeatTime.description = Monday Night setpoint start time (HH:mm)
|
||||
thing-type.config.radiothermostat.thermostatconfig.refresh.label = Refresh Interval
|
||||
thing-type.config.radiothermostat.thermostatconfig.refresh.description = Specifies the Refresh Interval in Minutes
|
||||
thing-type.config.radiothermostat.thermostatconfig.satDayCoolTemp.label = Saturday Day Cool Setpoint
|
||||
thing-type.config.radiothermostat.thermostatconfig.satDayCoolTemp.description = The setpoint in Degrees Fahrenheit
|
||||
thing-type.config.radiothermostat.thermostatconfig.satDayCoolTime.label = Saturday Day
|
||||
thing-type.config.radiothermostat.thermostatconfig.satDayCoolTime.description = Saturday Day setpoint start time (HH:mm)
|
||||
thing-type.config.radiothermostat.thermostatconfig.satDayHeatTemp.label = Saturday Day Heat Setpoint
|
||||
thing-type.config.radiothermostat.thermostatconfig.satDayHeatTemp.description = The setpoint in Degrees Fahrenheit
|
||||
thing-type.config.radiothermostat.thermostatconfig.satDayHeatTime.label = Saturday Day
|
||||
thing-type.config.radiothermostat.thermostatconfig.satDayHeatTime.description = Saturday Day setpoint start time (HH:mm)
|
||||
thing-type.config.radiothermostat.thermostatconfig.satEveningCoolTemp.label = Saturday Evening Cool Setpoint
|
||||
thing-type.config.radiothermostat.thermostatconfig.satEveningCoolTemp.description = The setpoint in Degrees Fahrenheit
|
||||
thing-type.config.radiothermostat.thermostatconfig.satEveningCoolTime.label = Saturday Evening
|
||||
thing-type.config.radiothermostat.thermostatconfig.satEveningCoolTime.description = Saturday Evening setpoint start time (HH:mm)
|
||||
thing-type.config.radiothermostat.thermostatconfig.satEveningHeatTemp.label = Saturday Evening Heat Setpoint
|
||||
thing-type.config.radiothermostat.thermostatconfig.satEveningHeatTemp.description = The setpoint in Degrees Fahrenheit
|
||||
thing-type.config.radiothermostat.thermostatconfig.satEveningHeatTime.label = Saturday Evening
|
||||
thing-type.config.radiothermostat.thermostatconfig.satEveningHeatTime.description = Saturday Evening setpoint start time (HH:mm)
|
||||
thing-type.config.radiothermostat.thermostatconfig.satMorningCoolTemp.label = Saturday Morning Cool Setpoint
|
||||
thing-type.config.radiothermostat.thermostatconfig.satMorningCoolTemp.description = The setpoint in Degrees Fahrenheit
|
||||
thing-type.config.radiothermostat.thermostatconfig.satMorningCoolTime.label = Saturday Morning
|
||||
thing-type.config.radiothermostat.thermostatconfig.satMorningCoolTime.description = Saturday Morning setpoint start time (HH:mm)
|
||||
thing-type.config.radiothermostat.thermostatconfig.satMorningHeatTemp.label = Saturday Morning Heat Setpoint
|
||||
thing-type.config.radiothermostat.thermostatconfig.satMorningHeatTemp.description = The setpoint in Degrees Fahrenheit
|
||||
thing-type.config.radiothermostat.thermostatconfig.satMorningHeatTime.label = Saturday Morning
|
||||
thing-type.config.radiothermostat.thermostatconfig.satMorningHeatTime.description = Saturday Morning setpoint start time (HH:mm)
|
||||
thing-type.config.radiothermostat.thermostatconfig.satNightCoolTemp.label = Saturday Night Cool Setpoint
|
||||
thing-type.config.radiothermostat.thermostatconfig.satNightCoolTemp.description = The setpoint in Degrees Fahrenheit
|
||||
thing-type.config.radiothermostat.thermostatconfig.satNightCoolTime.label = Saturday Night
|
||||
thing-type.config.radiothermostat.thermostatconfig.satNightCoolTime.description = Saturday Night setpoint start time (HH:mm)
|
||||
thing-type.config.radiothermostat.thermostatconfig.satNightHeatTemp.label = Saturday Night Heat Setpoint
|
||||
thing-type.config.radiothermostat.thermostatconfig.satNightHeatTemp.description = The setpoint in Degrees Fahrenheit
|
||||
thing-type.config.radiothermostat.thermostatconfig.satNightHeatTime.label = Saturday Night
|
||||
thing-type.config.radiothermostat.thermostatconfig.satNightHeatTime.description = Saturday Night setpoint start time (HH:mm)
|
||||
thing-type.config.radiothermostat.thermostatconfig.setpointMode.label = Setpoint Mode
|
||||
thing-type.config.radiothermostat.thermostatconfig.setpointMode.description = Run in absolute or temporary setpoint mode
|
||||
thing-type.config.radiothermostat.thermostatconfig.setpointMode.option.absolute = Absolute
|
||||
thing-type.config.radiothermostat.thermostatconfig.setpointMode.option.temporary = Temporary
|
||||
thing-type.config.radiothermostat.thermostatconfig.sunDayCoolTemp.label = Sunday Day Cool Setpoint
|
||||
thing-type.config.radiothermostat.thermostatconfig.sunDayCoolTemp.description = The setpoint in Degrees Fahrenheit
|
||||
thing-type.config.radiothermostat.thermostatconfig.sunDayCoolTime.label = Sunday Day
|
||||
thing-type.config.radiothermostat.thermostatconfig.sunDayCoolTime.description = Sunday Day setpoint start time (HH:mm)
|
||||
thing-type.config.radiothermostat.thermostatconfig.sunDayHeatTemp.label = Sunday Day Heat Setpoint
|
||||
thing-type.config.radiothermostat.thermostatconfig.sunDayHeatTemp.description = The setpoint in Degrees Fahrenheit
|
||||
thing-type.config.radiothermostat.thermostatconfig.sunDayHeatTime.label = Sunday Day
|
||||
thing-type.config.radiothermostat.thermostatconfig.sunDayHeatTime.description = Sunday Day setpoint start time (HH:mm)
|
||||
thing-type.config.radiothermostat.thermostatconfig.sunEveningCoolTemp.label = Sunday Evening Cool Setpoint
|
||||
thing-type.config.radiothermostat.thermostatconfig.sunEveningCoolTemp.description = The setpoint in Degrees Fahrenheit
|
||||
thing-type.config.radiothermostat.thermostatconfig.sunEveningCoolTime.label = Sunday Evening
|
||||
thing-type.config.radiothermostat.thermostatconfig.sunEveningCoolTime.description = Sunday Evening setpoint start time (HH:mm)
|
||||
thing-type.config.radiothermostat.thermostatconfig.sunEveningHeatTemp.label = Sunday Evening Heat Setpoint
|
||||
thing-type.config.radiothermostat.thermostatconfig.sunEveningHeatTemp.description = The setpoint in Degrees Fahrenheit
|
||||
thing-type.config.radiothermostat.thermostatconfig.sunEveningHeatTime.label = Sunday Evening
|
||||
thing-type.config.radiothermostat.thermostatconfig.sunEveningHeatTime.description = Sunday Evening setpoint start time (HH:mm)
|
||||
thing-type.config.radiothermostat.thermostatconfig.sunMorningCoolTemp.label = Sunday Morning Cool Setpoint
|
||||
thing-type.config.radiothermostat.thermostatconfig.sunMorningCoolTemp.description = The setpoint in Degrees Fahrenheit
|
||||
thing-type.config.radiothermostat.thermostatconfig.sunMorningCoolTime.label = Sunday Morning
|
||||
thing-type.config.radiothermostat.thermostatconfig.sunMorningCoolTime.description = Sunday Morning setpoint start time (HH:mm)
|
||||
thing-type.config.radiothermostat.thermostatconfig.sunMorningHeatTemp.label = Sunday Morning Heat Setpoint
|
||||
thing-type.config.radiothermostat.thermostatconfig.sunMorningHeatTemp.description = The setpoint in Degrees Fahrenheit
|
||||
thing-type.config.radiothermostat.thermostatconfig.sunMorningHeatTime.label = Sunday Morning
|
||||
thing-type.config.radiothermostat.thermostatconfig.sunMorningHeatTime.description = Sunday Morning setpoint start time (HH:mm)
|
||||
thing-type.config.radiothermostat.thermostatconfig.sunNightCoolTemp.label = Sunday Night Cool Setpoint
|
||||
thing-type.config.radiothermostat.thermostatconfig.sunNightCoolTemp.description = The setpoint in Degrees Fahrenheit
|
||||
thing-type.config.radiothermostat.thermostatconfig.sunNightCoolTime.label = Sunday Night
|
||||
thing-type.config.radiothermostat.thermostatconfig.sunNightCoolTime.description = Sunday Night setpoint start time (HH:mm)
|
||||
thing-type.config.radiothermostat.thermostatconfig.sunNightHeatTemp.label = Sunday Night Heat Setpoint
|
||||
thing-type.config.radiothermostat.thermostatconfig.sunNightHeatTemp.description = The setpoint in Degrees Fahrenheit
|
||||
thing-type.config.radiothermostat.thermostatconfig.sunNightHeatTime.label = Sunday Night
|
||||
thing-type.config.radiothermostat.thermostatconfig.sunNightHeatTime.description = Sunday Night setpoint start time (HH:mm)
|
||||
thing-type.config.radiothermostat.thermostatconfig.thuDayCoolTemp.label = Thursday Day Cool Setpoint
|
||||
thing-type.config.radiothermostat.thermostatconfig.thuDayCoolTemp.description = The setpoint in Degrees Fahrenheit
|
||||
thing-type.config.radiothermostat.thermostatconfig.thuDayCoolTime.label = Thursday Day
|
||||
thing-type.config.radiothermostat.thermostatconfig.thuDayCoolTime.description = Thursday Day setpoint start time (HH:mm)
|
||||
thing-type.config.radiothermostat.thermostatconfig.thuDayHeatTemp.label = Thursday Day Heat Setpoint
|
||||
thing-type.config.radiothermostat.thermostatconfig.thuDayHeatTemp.description = The setpoint in Degrees Fahrenheit
|
||||
thing-type.config.radiothermostat.thermostatconfig.thuDayHeatTime.label = Thursday Day
|
||||
thing-type.config.radiothermostat.thermostatconfig.thuDayHeatTime.description = Thursday Day setpoint start time (HH:mm)
|
||||
thing-type.config.radiothermostat.thermostatconfig.thuEveningCoolTemp.label = Thursday Evening Cool Setpoint
|
||||
thing-type.config.radiothermostat.thermostatconfig.thuEveningCoolTemp.description = The setpoint in Degrees Fahrenheit
|
||||
thing-type.config.radiothermostat.thermostatconfig.thuEveningCoolTime.label = Thursday Evening
|
||||
thing-type.config.radiothermostat.thermostatconfig.thuEveningCoolTime.description = Thursday Evening setpoint start time (HH:mm)
|
||||
thing-type.config.radiothermostat.thermostatconfig.thuEveningHeatTemp.label = Thursday Evening Heat Setpoint
|
||||
thing-type.config.radiothermostat.thermostatconfig.thuEveningHeatTemp.description = The setpoint in Degrees Fahrenheit
|
||||
thing-type.config.radiothermostat.thermostatconfig.thuEveningHeatTime.label = Thursday Evening
|
||||
thing-type.config.radiothermostat.thermostatconfig.thuEveningHeatTime.description = Thursday Evening setpoint start time (HH:mm)
|
||||
thing-type.config.radiothermostat.thermostatconfig.thuMorningCoolTemp.label = Thursday Morning Cool Setpoint
|
||||
thing-type.config.radiothermostat.thermostatconfig.thuMorningCoolTemp.description = The setpoint in Degrees Fahrenheit
|
||||
thing-type.config.radiothermostat.thermostatconfig.thuMorningCoolTime.label = Thursday Morning
|
||||
thing-type.config.radiothermostat.thermostatconfig.thuMorningCoolTime.description = Thursday Morning setpoint start time (HH:mm)
|
||||
thing-type.config.radiothermostat.thermostatconfig.thuMorningHeatTemp.label = Thursday Morning Heat Setpoint
|
||||
thing-type.config.radiothermostat.thermostatconfig.thuMorningHeatTemp.description = The setpoint in Degrees Fahrenheit
|
||||
thing-type.config.radiothermostat.thermostatconfig.thuMorningHeatTime.label = Thursday Morning
|
||||
thing-type.config.radiothermostat.thermostatconfig.thuMorningHeatTime.description = Thursday Morning setpoint start time (HH:mm)
|
||||
thing-type.config.radiothermostat.thermostatconfig.thuNightCoolTemp.label = Thursday Night Cool Setpoint
|
||||
thing-type.config.radiothermostat.thermostatconfig.thuNightCoolTemp.description = The setpoint in Degrees Fahrenheit
|
||||
thing-type.config.radiothermostat.thermostatconfig.thuNightCoolTime.label = Thursday Night
|
||||
thing-type.config.radiothermostat.thermostatconfig.thuNightCoolTime.description = Thursday Night setpoint start time (HH:mm)
|
||||
thing-type.config.radiothermostat.thermostatconfig.thuNightHeatTemp.label = Thursday Night Heat Setpoint
|
||||
thing-type.config.radiothermostat.thermostatconfig.thuNightHeatTemp.description = The setpoint in Degrees Fahrenheit
|
||||
thing-type.config.radiothermostat.thermostatconfig.thuNightHeatTime.label = Thursday Night
|
||||
thing-type.config.radiothermostat.thermostatconfig.thuNightHeatTime.description = Thursday Night setpoint start time (HH:mm)
|
||||
thing-type.config.radiothermostat.thermostatconfig.tueDayCoolTemp.label = Tuesday Day Cool Setpoint
|
||||
thing-type.config.radiothermostat.thermostatconfig.tueDayCoolTemp.description = The setpoint in Degrees Fahrenheit
|
||||
thing-type.config.radiothermostat.thermostatconfig.tueDayCoolTime.label = Tuesday Day
|
||||
thing-type.config.radiothermostat.thermostatconfig.tueDayCoolTime.description = Tuesday Day setpoint start time (HH:mm)
|
||||
thing-type.config.radiothermostat.thermostatconfig.tueDayHeatTemp.label = Tuesday Day Heat Setpoint
|
||||
thing-type.config.radiothermostat.thermostatconfig.tueDayHeatTemp.description = The setpoint in Degrees Fahrenheit
|
||||
thing-type.config.radiothermostat.thermostatconfig.tueDayHeatTime.label = Tuesday Day
|
||||
thing-type.config.radiothermostat.thermostatconfig.tueDayHeatTime.description = Tuesday Day setpoint start time (HH:mm)
|
||||
thing-type.config.radiothermostat.thermostatconfig.tueEveningCoolTemp.label = Tuesday Evening Cool Setpoint
|
||||
thing-type.config.radiothermostat.thermostatconfig.tueEveningCoolTemp.description = The setpoint in Degrees Fahrenheit
|
||||
thing-type.config.radiothermostat.thermostatconfig.tueEveningCoolTime.label = Tuesday Evening
|
||||
thing-type.config.radiothermostat.thermostatconfig.tueEveningCoolTime.description = Tuesday Evening setpoint start time (HH:mm)
|
||||
thing-type.config.radiothermostat.thermostatconfig.tueEveningHeatTemp.label = Tuesday Evening Heat Setpoint
|
||||
thing-type.config.radiothermostat.thermostatconfig.tueEveningHeatTemp.description = The setpoint in Degrees Fahrenheit
|
||||
thing-type.config.radiothermostat.thermostatconfig.tueEveningHeatTime.label = Tuesday Evening
|
||||
thing-type.config.radiothermostat.thermostatconfig.tueEveningHeatTime.description = Tuesday Evening setpoint start time (HH:mm)
|
||||
thing-type.config.radiothermostat.thermostatconfig.tueMorningCoolTemp.label = Tuesday Morning Cool Setpoint
|
||||
thing-type.config.radiothermostat.thermostatconfig.tueMorningCoolTemp.description = The setpoint in Degrees Fahrenheit
|
||||
thing-type.config.radiothermostat.thermostatconfig.tueMorningCoolTime.label = Tuesday Morning
|
||||
thing-type.config.radiothermostat.thermostatconfig.tueMorningCoolTime.description = Tuesday Morning setpoint start time (HH:mm)
|
||||
thing-type.config.radiothermostat.thermostatconfig.tueMorningHeatTemp.label = Tuesday Morning Heat Setpoint
|
||||
thing-type.config.radiothermostat.thermostatconfig.tueMorningHeatTemp.description = The setpoint in Degrees Fahrenheit
|
||||
thing-type.config.radiothermostat.thermostatconfig.tueMorningHeatTime.label = Tuesday Morning
|
||||
thing-type.config.radiothermostat.thermostatconfig.tueMorningHeatTime.description = Tuesday Morning setpoint start time (HH:mm)
|
||||
thing-type.config.radiothermostat.thermostatconfig.tueNightCoolTemp.label = Tuesday Night Cool Setpoint
|
||||
thing-type.config.radiothermostat.thermostatconfig.tueNightCoolTemp.description = The setpoint in Degrees Fahrenheit
|
||||
thing-type.config.radiothermostat.thermostatconfig.tueNightCoolTime.label = Tuesday Night
|
||||
thing-type.config.radiothermostat.thermostatconfig.tueNightCoolTime.description = Tuesday Night setpoint start time (HH:mm)
|
||||
thing-type.config.radiothermostat.thermostatconfig.tueNightHeatTemp.label = Tuesday Night Heat Setpoint
|
||||
thing-type.config.radiothermostat.thermostatconfig.tueNightHeatTemp.description = The setpoint in Degrees Fahrenheit
|
||||
thing-type.config.radiothermostat.thermostatconfig.tueNightHeatTime.label = Tuesday Night
|
||||
thing-type.config.radiothermostat.thermostatconfig.tueNightHeatTime.description = Tuesday Night setpoint start time (HH:mm)
|
||||
thing-type.config.radiothermostat.thermostatconfig.wedDayCoolTemp.label = Wednesday Day Cool Setpoint
|
||||
thing-type.config.radiothermostat.thermostatconfig.wedDayCoolTemp.description = The setpoint in Degrees Fahrenheit
|
||||
thing-type.config.radiothermostat.thermostatconfig.wedDayCoolTime.label = Wednesday Day
|
||||
thing-type.config.radiothermostat.thermostatconfig.wedDayCoolTime.description = Wednesday Day setpoint start time (HH:mm)
|
||||
thing-type.config.radiothermostat.thermostatconfig.wedDayHeatTemp.label = Wednesday Day Heat Setpoint
|
||||
thing-type.config.radiothermostat.thermostatconfig.wedDayHeatTemp.description = The setpoint in Degrees Fahrenheit
|
||||
thing-type.config.radiothermostat.thermostatconfig.wedDayHeatTime.label = Wednesday Day
|
||||
thing-type.config.radiothermostat.thermostatconfig.wedDayHeatTime.description = Wednesday Day setpoint start time (HH:mm)
|
||||
thing-type.config.radiothermostat.thermostatconfig.wedEveningCoolTemp.label = Wednesday Evening Cool Setpoint
|
||||
thing-type.config.radiothermostat.thermostatconfig.wedEveningCoolTemp.description = The setpoint in Degrees Fahrenheit
|
||||
thing-type.config.radiothermostat.thermostatconfig.wedEveningCoolTime.label = Wednesday Evening
|
||||
thing-type.config.radiothermostat.thermostatconfig.wedEveningCoolTime.description = Wednesday Evening setpoint start time (HH:mm)
|
||||
thing-type.config.radiothermostat.thermostatconfig.wedEveningHeatTemp.label = Wednesday Evening Heat Setpoint
|
||||
thing-type.config.radiothermostat.thermostatconfig.wedEveningHeatTemp.description = The setpoint in Degrees Fahrenheit
|
||||
thing-type.config.radiothermostat.thermostatconfig.wedEveningHeatTime.label = Wednesday Evening
|
||||
thing-type.config.radiothermostat.thermostatconfig.wedEveningHeatTime.description = Wednesday Evening setpoint start time (HH:mm)
|
||||
thing-type.config.radiothermostat.thermostatconfig.wedMorningCoolTemp.label = Wednesday Morning Cool Setpoint
|
||||
thing-type.config.radiothermostat.thermostatconfig.wedMorningCoolTemp.description = The setpoint in Degrees Fahrenheit
|
||||
thing-type.config.radiothermostat.thermostatconfig.wedMorningCoolTime.label = Wednesday Morning
|
||||
thing-type.config.radiothermostat.thermostatconfig.wedMorningCoolTime.description = Wednesday Morning setpoint start time (HH:mm)
|
||||
thing-type.config.radiothermostat.thermostatconfig.wedMorningHeatTemp.label = Wednesday Morning Heat Setpoint
|
||||
thing-type.config.radiothermostat.thermostatconfig.wedMorningHeatTemp.description = The setpoint in Degrees Fahrenheit
|
||||
thing-type.config.radiothermostat.thermostatconfig.wedMorningHeatTime.label = Wednesday Morning
|
||||
thing-type.config.radiothermostat.thermostatconfig.wedMorningHeatTime.description = Wednesday Morning setpoint start time (HH:mm)
|
||||
thing-type.config.radiothermostat.thermostatconfig.wedNightCoolTemp.label = Wednesday Night Cool Setpoint
|
||||
thing-type.config.radiothermostat.thermostatconfig.wedNightCoolTemp.description = The setpoint in Degrees Fahrenheit
|
||||
thing-type.config.radiothermostat.thermostatconfig.wedNightCoolTime.label = Wednesday Night
|
||||
thing-type.config.radiothermostat.thermostatconfig.wedNightCoolTime.description = Wednesday Night setpoint start time (HH:mm)
|
||||
thing-type.config.radiothermostat.thermostatconfig.wedNightHeatTemp.label = Wednesday Night Heat Setpoint
|
||||
thing-type.config.radiothermostat.thermostatconfig.wedNightHeatTemp.description = The setpoint in Degrees Fahrenheit
|
||||
thing-type.config.radiothermostat.thermostatconfig.wedNightHeatTime.label = Wednesday Night
|
||||
thing-type.config.radiothermostat.thermostatconfig.wedNightHeatTime.description = Wednesday Night setpoint start time (HH:mm)
|
||||
|
||||
# channel types
|
||||
|
||||
@ -76,3 +304,10 @@ channel-type.radiothermostat.yesterday_cool_runtime.label = Yesterday's Cooling
|
||||
channel-type.radiothermostat.yesterday_cool_runtime.description = The Number of Minutes of Cooling Run-time Yesterday
|
||||
channel-type.radiothermostat.yesterday_heat_runtime.label = Yesterday's Heating Runtime
|
||||
channel-type.radiothermostat.yesterday_heat_runtime.description = The Number of Minutes of Heating Run-time Yesterday
|
||||
|
||||
# message strings
|
||||
|
||||
offline.configuration-error-hostname = Thermostat hostname must be specified
|
||||
offline.configuration-error-heating-program = Thermostat HEATING program schedule is invalid, check configuration!
|
||||
offline.configuration-error-cooling-program = Thermostat COOLING program schedule is invalid, check configuration!
|
||||
offline.communication-error-get-data = Error retrieving data from Thermostat
|
||||
|
@ -33,47 +33,8 @@
|
||||
<channel id="yesterday_cool_runtime" typeId="yesterday_cool_runtime"/>
|
||||
</channels>
|
||||
|
||||
<config-description>
|
||||
<parameter name="hostName" type="text" required="true">
|
||||
<context>network-address</context>
|
||||
<label>Thermostat Host Name/IP Address</label>
|
||||
<description>Host Name or IP Address of the Thermostat</description>
|
||||
</parameter>
|
||||
<parameter name="refresh" type="integer" min="1" required="false" unit="min">
|
||||
<label>Refresh Interval</label>
|
||||
<description>Specifies the Refresh Interval in Minutes</description>
|
||||
<default>2</default>
|
||||
</parameter>
|
||||
<parameter name="logRefresh" type="integer" min="5" required="false" unit="min">
|
||||
<label>Run-time Log Refresh Interval</label>
|
||||
<description>Specifies the Run-time Log and Humidity Refresh Interval in Minutes</description>
|
||||
<default>10</default>
|
||||
</parameter>
|
||||
<parameter name="isCT80" type="boolean">
|
||||
<label>Enable CT80 Thermostat Options</label>
|
||||
<description>Optional Flag to Enable Additional Features Only Available on the CT80 Thermostat</description>
|
||||
<default>false</default>
|
||||
</parameter>
|
||||
<parameter name="disableLogs" type="boolean">
|
||||
<label>Disable Retrieval of Run-time Data</label>
|
||||
<description>Optional Flag to Disable the Retrieval of Run-time Data from the Thermostat</description>
|
||||
<default>false</default>
|
||||
</parameter>
|
||||
<parameter name="setpointMode" type="text">
|
||||
<label>Setpoint Mode</label>
|
||||
<description>Run in absolute or temporary setpoint mode</description>
|
||||
<default>temporary</default>
|
||||
<options>
|
||||
<option value="absolute">Absolute</option>
|
||||
<option value="temporary">Temporary</option>
|
||||
</options>
|
||||
</parameter>
|
||||
<parameter name="clockSync" type="boolean">
|
||||
<label>Enable Thermostat Clock Sync</label>
|
||||
<description>Optional Flag to snyc the thermostat's clock with the host system clock</description>
|
||||
<default>false</default>
|
||||
</parameter>
|
||||
</config-description>
|
||||
<config-description-ref uri="thing-type:radiothermostat:thermostatconfig"/>
|
||||
|
||||
</thing-type>
|
||||
|
||||
<channel-type id="temp-temperature">
|
||||
|
Loading…
Reference in New Issue
Block a user