Class: NestConnect::Device::Thermostat

Inherits:
Object
  • Object
show all
Defined in:
lib/nest_connect/devices/thermostat.rb

Constant Summary collapse

TARGET_TEMPERATURE_F_RANGE =
(50..90)
TARGET_TEMPERATURE_C_RANGE =
(9..30)
FAN_TIMER_DURATION_VALUES =
[15, 30, 45, 60, 120, 240, 480, 720]
HVAC_MODE_VALUES =
['heat', 'cool', 'heat-cool', 'eco', 'off']
TEMPERATURE_SCALE_VALUES =
['C', 'F']

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(api_class: NestConnect::API::Devices::Thermostat, **args) ⇒ Thermostat

Returns a new instance of Thermostat.



11
12
13
14
15
16
# File 'lib/nest_connect/devices/thermostat.rb', line 11

def initialize(api_class: NestConnect::API::Devices::Thermostat, **args)
  @api_class = api_class
  args.each do |key, value|
    instance_variable_set("@#{key}", value)
  end
end

Instance Attribute Details

#ambient_temperature_cObject (readonly)

Returns the value of attribute ambient_temperature_c.



147
148
149
# File 'lib/nest_connect/devices/thermostat.rb', line 147

def ambient_temperature_c
  @ambient_temperature_c
end

#ambient_temperature_fObject (readonly)

Returns the value of attribute ambient_temperature_f.



147
148
149
# File 'lib/nest_connect/devices/thermostat.rb', line 147

def ambient_temperature_f
  @ambient_temperature_f
end

#can_coolObject (readonly)

Returns the value of attribute can_cool.



147
148
149
# File 'lib/nest_connect/devices/thermostat.rb', line 147

def can_cool
  @can_cool
end

#can_heatObject (readonly)

Returns the value of attribute can_heat.



147
148
149
# File 'lib/nest_connect/devices/thermostat.rb', line 147

def can_heat
  @can_heat
end

#device_idObject (readonly)

Returns the value of attribute device_id.



147
148
149
# File 'lib/nest_connect/devices/thermostat.rb', line 147

def device_id
  @device_id
end

#eco_temperature_high_cObject (readonly)

Returns the value of attribute eco_temperature_high_c.



147
148
149
# File 'lib/nest_connect/devices/thermostat.rb', line 147

def eco_temperature_high_c
  @eco_temperature_high_c
end

#eco_temperature_high_fObject (readonly)

Returns the value of attribute eco_temperature_high_f.



147
148
149
# File 'lib/nest_connect/devices/thermostat.rb', line 147

def eco_temperature_high_f
  @eco_temperature_high_f
end

#eco_temperature_low_cObject (readonly)

Returns the value of attribute eco_temperature_low_c.



147
148
149
# File 'lib/nest_connect/devices/thermostat.rb', line 147

def eco_temperature_low_c
  @eco_temperature_low_c
end

#eco_temperature_low_fObject (readonly)

Returns the value of attribute eco_temperature_low_f.



147
148
149
# File 'lib/nest_connect/devices/thermostat.rb', line 147

def eco_temperature_low_f
  @eco_temperature_low_f
end

#fan_timer_activeObject

Returns the value of attribute fan_timer_active.



54
55
56
# File 'lib/nest_connect/devices/thermostat.rb', line 54

def fan_timer_active
  @fan_timer_active
end

#fan_timer_durationObject

Returns the value of attribute fan_timer_duration.



65
66
67
# File 'lib/nest_connect/devices/thermostat.rb', line 65

def fan_timer_duration
  @fan_timer_duration
end

#fan_timer_timeoutObject (readonly)

Returns the value of attribute fan_timer_timeout.



147
148
149
# File 'lib/nest_connect/devices/thermostat.rb', line 147

def fan_timer_timeout
  @fan_timer_timeout
end

#has_fanObject (readonly)

Returns the value of attribute has_fan.



147
148
149
# File 'lib/nest_connect/devices/thermostat.rb', line 147

def has_fan
  @has_fan
end

#has_leafObject (readonly)

Returns the value of attribute has_leaf.



147
148
149
# File 'lib/nest_connect/devices/thermostat.rb', line 147

def has_leaf
  @has_leaf
end

#humidityObject (readonly)

Returns the value of attribute humidity.



147
148
149
# File 'lib/nest_connect/devices/thermostat.rb', line 147

def humidity
  @humidity
end

#hvac_modeObject

Returns the value of attribute hvac_mode.



78
79
80
# File 'lib/nest_connect/devices/thermostat.rb', line 78

def hvac_mode
  @hvac_mode
end

#hvac_stateObject (readonly)

Returns the value of attribute hvac_state.



147
148
149
# File 'lib/nest_connect/devices/thermostat.rb', line 147

def hvac_state
  @hvac_state
end

#is_lockedObject (readonly)

Returns the value of attribute is_locked.



147
148
149
# File 'lib/nest_connect/devices/thermostat.rb', line 147

def is_locked
  @is_locked
end

#is_onlineObject (readonly)

Returns the value of attribute is_online.



147
148
149
# File 'lib/nest_connect/devices/thermostat.rb', line 147

def is_online
  @is_online
end

#is_using_emergency_heatObject (readonly)

Returns the value of attribute is_using_emergency_heat.



147
148
149
# File 'lib/nest_connect/devices/thermostat.rb', line 147

def is_using_emergency_heat
  @is_using_emergency_heat
end

#labelObject

Returns the value of attribute label.



89
90
91
# File 'lib/nest_connect/devices/thermostat.rb', line 89

def label
  @label
end

#last_connectionObject (readonly)

Returns the value of attribute last_connection.



147
148
149
# File 'lib/nest_connect/devices/thermostat.rb', line 147

def last_connection
  @last_connection
end

#localeObject (readonly)

Returns the value of attribute locale.



147
148
149
# File 'lib/nest_connect/devices/thermostat.rb', line 147

def locale
  @locale
end

#locked_temp_max_cObject (readonly)

Returns the value of attribute locked_temp_max_c.



147
148
149
# File 'lib/nest_connect/devices/thermostat.rb', line 147

def locked_temp_max_c
  @locked_temp_max_c
end

#locked_temp_max_fObject (readonly)

Returns the value of attribute locked_temp_max_f.



147
148
149
# File 'lib/nest_connect/devices/thermostat.rb', line 147

def locked_temp_max_f
  @locked_temp_max_f
end

#locked_temp_min_cObject (readonly)

Returns the value of attribute locked_temp_min_c.



147
148
149
# File 'lib/nest_connect/devices/thermostat.rb', line 147

def locked_temp_min_c
  @locked_temp_min_c
end

#locked_temp_min_fObject (readonly)

Returns the value of attribute locked_temp_min_f.



147
148
149
# File 'lib/nest_connect/devices/thermostat.rb', line 147

def locked_temp_min_f
  @locked_temp_min_f
end

#nameObject (readonly)

Returns the value of attribute name.



147
148
149
# File 'lib/nest_connect/devices/thermostat.rb', line 147

def name
  @name
end

#name_longObject (readonly)

Returns the value of attribute name_long.



147
148
149
# File 'lib/nest_connect/devices/thermostat.rb', line 147

def name_long
  @name_long
end

#previous_hvac_modeObject (readonly)

Returns the value of attribute previous_hvac_mode.



147
148
149
# File 'lib/nest_connect/devices/thermostat.rb', line 147

def previous_hvac_mode
  @previous_hvac_mode
end

#software_versionObject (readonly)

Returns the value of attribute software_version.



147
148
149
# File 'lib/nest_connect/devices/thermostat.rb', line 147

def software_version
  @software_version
end

#structure_idObject (readonly)

Returns the value of attribute structure_id.



147
148
149
# File 'lib/nest_connect/devices/thermostat.rb', line 147

def structure_id
  @structure_id
end

#sunlight_correction_activeObject (readonly)

Returns the value of attribute sunlight_correction_active.



147
148
149
# File 'lib/nest_connect/devices/thermostat.rb', line 147

def sunlight_correction_active
  @sunlight_correction_active
end

#sunlight_correction_enabledObject (readonly)

Returns the value of attribute sunlight_correction_enabled.



147
148
149
# File 'lib/nest_connect/devices/thermostat.rb', line 147

def sunlight_correction_enabled
  @sunlight_correction_enabled
end

#target_temperature_cObject

Returns the value of attribute target_temperature_c.



41
42
43
# File 'lib/nest_connect/devices/thermostat.rb', line 41

def target_temperature_c
  @target_temperature_c
end

#target_temperature_fObject

Returns the value of attribute target_temperature_f.



26
27
28
# File 'lib/nest_connect/devices/thermostat.rb', line 26

def target_temperature_f
  @target_temperature_f
end

#target_temperature_high_cObject

Returns the value of attribute target_temperature_high_c.



98
99
100
# File 'lib/nest_connect/devices/thermostat.rb', line 98

def target_temperature_high_c
  @target_temperature_high_c
end

#target_temperature_high_fObject

Returns the value of attribute target_temperature_high_f.



116
117
118
# File 'lib/nest_connect/devices/thermostat.rb', line 116

def target_temperature_high_f
  @target_temperature_high_f
end

#target_temperature_low_cObject

Returns the value of attribute target_temperature_low_c.



107
108
109
# File 'lib/nest_connect/devices/thermostat.rb', line 107

def target_temperature_low_c
  @target_temperature_low_c
end

#target_temperature_low_fObject

Returns the value of attribute target_temperature_low_f.



125
126
127
# File 'lib/nest_connect/devices/thermostat.rb', line 125

def target_temperature_low_f
  @target_temperature_low_f
end

#temperature_scaleObject

Returns the value of attribute temperature_scale.



136
137
138
# File 'lib/nest_connect/devices/thermostat.rb', line 136

def temperature_scale
  @temperature_scale
end

#time_to_targetObject (readonly)

Returns the value of attribute time_to_target.



147
148
149
# File 'lib/nest_connect/devices/thermostat.rb', line 147

def time_to_target
  @time_to_target
end

#time_to_target_trainingObject (readonly)

Returns the value of attribute time_to_target_training.



147
148
149
# File 'lib/nest_connect/devices/thermostat.rb', line 147

def time_to_target_training
  @time_to_target_training
end

#where_idObject (readonly)

Returns the value of attribute where_id.



147
148
149
# File 'lib/nest_connect/devices/thermostat.rb', line 147

def where_id
  @where_id
end

#where_nameObject (readonly)

Returns the value of attribute where_name.



147
148
149
# File 'lib/nest_connect/devices/thermostat.rb', line 147

def where_name
  @where_name
end

Class Method Details

.from_hash_collection(hash) ⇒ Object



7
8
9
# File 'lib/nest_connect/devices/thermostat.rb', line 7

def self.from_hash_collection(hash)
  hash.values.map { |value| new(value) }
end

Instance Method Details

#reloadObject



18
19
20
21
22
# File 'lib/nest_connect/devices/thermostat.rb', line 18

def reload
  api_runner.get.body.each do |key, value|
    instance_variable_set("@#{key}", value)
  end
end