Sha256: 76061acf9d97cd7b6710dfa70209e9a037b62774aee0d8856474b238efee2701
Contents?: true
Size: 1.46 KB
Versions: 1
Compression:
Stored size: 1.46 KB
Contents
module NestConnect module Device class Structure < BaseDevice def self.api_class NestConnect::API::Devices::Structure end attr_reader( :co_alarm_state, :country_code, :eta_begin, :peak_period_end_time, :peak_period_start_time, :postal_code, :rhr_enrollment, :smoke_alarm_state, :structure_id, :time_zone, :wheres, :wwn_security_state ) def thermostats @thermostats.to_a.map do |device_id| Device::Thermostat.new(device_id: device_id) end end def protects @smoke_alarm_state.to_a.map do |device_id| Device::Protect.new(device_id: device_id) end end def cameras @cameras.to_a.map do |device_id| Device::Camera.new(device_id: device_id) end end AWAY_VALUES = ['home', 'away'] attr_reader :away def away=(value) unless AWAY_VALUES.include?(value) raise ValueError.new("away must be #{AWAY_VALUES}") end api_runner.put({away: value}) @away = value end attr_reader :name def name=(value) normalized_value = value.to_s api_runner.put({name: normalized_value}) @name = normalized_value end private def api_runner api_class.new(resource_id: structure_id, access_token: access_token) end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
nest_connect-0.1.7 | lib/nest_connect/devices/structure.rb |