2 * Copyright (c) 2010-2023 Contributors to the openHAB project
4 * See the NOTICE file(s) distributed with this work for additional
7 * This program and the accompanying materials are made available under the
8 * terms of the Eclipse Public License 2.0 which is available at
9 * http://www.eclipse.org/legal/epl-2.0
11 * SPDX-License-Identifier: EPL-2.0
13 package org.openhab.binding.ecobee.internal.dto.thermostat;
16 * The {@link EventDTO} represents a scheduled thermostat
17 * program change. All events have a start and end time during which the
18 * thermostat runtime settings will be modified. Events may not be directly
19 * modified, various Functions provide the capability to modify the calendar
20 * events and to modify the program. The event list is sorted with events
21 * ordered by whether they are currently running and the internal priority
22 * of each event. It is safe to take the first event which is running and
23 * show it as the currently running event. When the resume function is used,
24 * events are removed in the order they are listed here.
26 * @author Mark Hilbush - Initial contribution
28 public class EventDTO {
30 * The type of event. Values: hold, demandResponse, sensor, switchOccupancy,
31 * vacation, quickSave, today, autoAway, autoHome
36 * The unique event name.
41 * Whether the event is currently active or not.
43 public Boolean running;
46 * The event start date in thermostat local time.
48 public String startDate;
51 * The event start time in thermostat local time.
53 public String startTime;
56 * The event end date in thermostat local time.
58 public String endDate;
61 * The event end time in thermostat local time.
63 public String endTime;
66 * Whether there are persons occupying the property during the event.
68 public Boolean isOccupied;
71 * Whether cooling will be turned off during the event.
73 public Boolean isCoolOff;
76 * Whether heating will be turned off during the event.
78 public Boolean isHeatOff;
81 * The cooling absolute temperature to set.
83 public Integer coolHoldTemp;
86 * The heating absolute temperature to set.
88 public Integer heatHoldTemp;
91 * The fan mode during the event. Values: auto, on Default: based on current climate and hvac mode.
96 * The ventilator mode during the vent. Values: auto, minontime, on, off.
101 * The minimum amount of time the ventilator equipment must stay on on each duty cycle.
103 public Integer ventilatorMinOnTime;
106 * Whether this event is mandatory or the end user can cancel it.
108 public Boolean isOptional;
111 * Whether the event is using a relative temperature setting to the currently
112 * active program climate. See the Note at the bottom of this page for more information.
114 public Boolean isTemperatureRelative;
117 * The relative cool temperature adjustment.
119 public Integer coolRelativeTemp;
122 * The relative heat temperature adjustment.
124 public Integer heatRelativeTemp;
127 * Whether the event uses absolute temperatures to set the values. Default:
128 * true for DRs. See the Note at the bottom of this page for more information.
130 public Boolean isTemperatureAbsolute;
133 * Indicates the % scheduled runtime during a Demand Response event. Valid range
134 * is 0 - 100%. Default = 100, indicates no change to schedule.
136 public Integer dutyCyclePercentage;
139 * The minimum number of minutes to run the fan each hour. Range: 0-60, Default: 0
141 public Integer fanMinOnTime;
144 * True if this calendar event was created because of the occupied sensor.
146 public Boolean occupiedSensorActive;
149 * True if this calendar event was created because of the occupied sensor.
151 public Boolean unoccupiedSensorActive;
154 * Unsupported. Future feature.
156 public Integer drRampUpTemp;
159 * Unsupported. Future feature.
161 public Integer drRampUpTime;
164 * Unique identifier set by the server to link one or more events and alerts together.
166 public String linkRef;
169 * Used for display purposes to indicate what climate (if any) is being used for the hold.
171 public String holdClimateRef;