Class: Dirigera::Blinds
Instance Attribute Summary
Attributes inherited from Device
#client
Instance Method Summary
collapse
Methods inherited from Device
#battery_level, #created_at, #id, #initialize, #last_seen_at, #name, #name=, #reachable?, #reload, #room, #type
Instance Method Details
#current_level ⇒ Object
14
15
16
|
# File 'lib/dirigera/blinds.rb', line 14
def current_level
@data['attributes']['blindsCurrentLevel']
end
|
#down ⇒ Object
6
7
8
|
# File 'lib/dirigera/blinds.rb', line 6
def down
self.target_level = 100
end
|
#state ⇒ Object
10
11
12
|
# File 'lib/dirigera/blinds.rb', line 10
def state
@data['attributes']['blindsState']
end
|
#target_level ⇒ Object
18
19
20
|
# File 'lib/dirigera/blinds.rb', line 18
def target_level
@data['attributes']['blindsTargetLevel']
end
|
#target_level=(level) ⇒ Object
22
23
24
25
26
27
28
29
|
# File 'lib/dirigera/blinds.rb', line 22
def target_level=(level)
raise ArgumentError, 'level must be between 0 and 100' unless (0..100).include?(level)
response = @client.patch("/devices/#{id}", [{ attributes: { blindsTargetLevel: level } }])
raise 'Failed to update target level' unless response.code == 202
@data['attributes']['blindsTargetLevel'] = level
end
|
#up ⇒ Object
2
3
4
|
# File 'lib/dirigera/blinds.rb', line 2
def up
self.target_level = 0
end
|