Class: NestConnect::Device::Structure

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

Constant Summary collapse

AWAY_VALUES =
['home', 'away']

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

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

Returns a new instance of Structure.



8
9
10
11
12
13
# File 'lib/nest_connect/devices/structure.rb', line 8

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

Instance Attribute Details

#awayObject

Returns the value of attribute away.



56
57
58
# File 'lib/nest_connect/devices/structure.rb', line 56

def away
  @away
end

#co_alarm_stateObject (readonly)

Returns the value of attribute co_alarm_state.



21
22
23
# File 'lib/nest_connect/devices/structure.rb', line 21

def co_alarm_state
  @co_alarm_state
end

#country_codeObject (readonly)

Returns the value of attribute country_code.



21
22
23
# File 'lib/nest_connect/devices/structure.rb', line 21

def country_code
  @country_code
end

#eta_beginObject (readonly)

Returns the value of attribute eta_begin.



21
22
23
# File 'lib/nest_connect/devices/structure.rb', line 21

def eta_begin
  @eta_begin
end

#nameObject

Returns the value of attribute name.



67
68
69
# File 'lib/nest_connect/devices/structure.rb', line 67

def name
  @name
end

#peak_period_end_timeObject (readonly)

Returns the value of attribute peak_period_end_time.



21
22
23
# File 'lib/nest_connect/devices/structure.rb', line 21

def peak_period_end_time
  @peak_period_end_time
end

#peak_period_start_timeObject (readonly)

Returns the value of attribute peak_period_start_time.



21
22
23
# File 'lib/nest_connect/devices/structure.rb', line 21

def peak_period_start_time
  @peak_period_start_time
end

#postal_codeObject (readonly)

Returns the value of attribute postal_code.



21
22
23
# File 'lib/nest_connect/devices/structure.rb', line 21

def postal_code
  @postal_code
end

#rhr_enrollmentObject (readonly)

Returns the value of attribute rhr_enrollment.



21
22
23
# File 'lib/nest_connect/devices/structure.rb', line 21

def rhr_enrollment
  @rhr_enrollment
end

#smoke_alarm_stateObject (readonly)

Returns the value of attribute smoke_alarm_state.



21
22
23
# File 'lib/nest_connect/devices/structure.rb', line 21

def smoke_alarm_state
  @smoke_alarm_state
end

#structure_idObject (readonly)

Returns the value of attribute structure_id.



21
22
23
# File 'lib/nest_connect/devices/structure.rb', line 21

def structure_id
  @structure_id
end

#time_zoneObject (readonly)

Returns the value of attribute time_zone.



21
22
23
# File 'lib/nest_connect/devices/structure.rb', line 21

def time_zone
  @time_zone
end

#wheresObject (readonly)

Returns the value of attribute wheres.



21
22
23
# File 'lib/nest_connect/devices/structure.rb', line 21

def wheres
  @wheres
end

#wwn_security_stateObject (readonly)

Returns the value of attribute wwn_security_state.



21
22
23
# File 'lib/nest_connect/devices/structure.rb', line 21

def wwn_security_state
  @wwn_security_state
end

Class Method Details

.from_hash_collection(hash) ⇒ Object



4
5
6
# File 'lib/nest_connect/devices/structure.rb', line 4

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

Instance Method Details

#camerasObject



48
49
50
51
52
# File 'lib/nest_connect/devices/structure.rb', line 48

def cameras
  @cameras.to_a.map do |device_id|
    Device::Camera.new(device_id: device_id)
  end
end

#protectsObject



42
43
44
45
46
# File 'lib/nest_connect/devices/structure.rb', line 42

def protects
  @smoke_alarm_state.to_a.map do |device_id|
    Device::Protect.new(device_id: device_id)
  end
end

#reloadObject



15
16
17
18
19
# File 'lib/nest_connect/devices/structure.rb', line 15

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

#thermostatsObject



36
37
38
39
40
# File 'lib/nest_connect/devices/structure.rb', line 36

def thermostats
  @thermostats.to_a.map do |device_id|
    Device::Thermostat.new(device_id: device_id)
  end
end