rzwaveway 0.0.10 → 0.0.11
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/rzwaveway/command_classes/battery.rb +0 -4
- data/lib/rzwaveway/command_classes/switch_multi_level.rb +2 -1
- data/lib/rzwaveway/command_classes/wake_up.rb +6 -3
- data/lib/rzwaveway/version.rb +1 -1
- data/lib/rzwaveway/zwave_device.rb +12 -21
- data/spec/zwave_device_spec.rb +15 -0
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 01e99f245086e41fbeca9e16d6c0c6867324906d
|
4
|
+
data.tar.gz: adc57ec22b54fb1f084b2adc44bbcde9835fb3c8
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 54c2f9b32d733c49a8e5022e452cc8d16c828f9b7eab5da5436db7dab2c15b73f7391378895f163b17bc6558a46dd13c3330e033a255d9b8fc23d0a973264687
|
7
|
+
data.tar.gz: 7c1b8a78ebd3e5942b86e576b9e2323089b865c73dff680c7edd031c0c096e50afed5aa469db3853523b8911e640a53567e2ad8affbee8b55f10652f934e6486
|
@@ -7,7 +7,8 @@ module RZWaveWay
|
|
7
7
|
@device = device
|
8
8
|
@device.add_property(name: :level,
|
9
9
|
value: find('data.level.value', data),
|
10
|
-
update_time: find('data.level.updateTime', data)
|
10
|
+
update_time: find('data.level.updateTime', data),
|
11
|
+
read_only: false)
|
11
12
|
end
|
12
13
|
|
13
14
|
def process(updates)
|
@@ -11,13 +11,16 @@ module RZWaveWay
|
|
11
11
|
|
12
12
|
@device.add_property(name: :wakeup_interval,
|
13
13
|
value: wakeup_interval,
|
14
|
-
update_time: find('data.interval.updateTime', data)
|
14
|
+
update_time: find('data.interval.updateTime', data),
|
15
|
+
internal: true)
|
15
16
|
@device.add_property(name: :wakeup_last_sleep_time,
|
16
17
|
value: last_sleep_time,
|
17
|
-
update_time: find('data.lastSleep.updateTime', data)
|
18
|
+
update_time: find('data.lastSleep.updateTime', data),
|
19
|
+
internal: true)
|
18
20
|
@device.add_property(name: :wakeup_last_wakeup_time,
|
19
21
|
value: last_wakeup_time,
|
20
|
-
update_time: find('data.
|
22
|
+
update_time: find('data.lastWakeup.updateTime', data),
|
23
|
+
internal: true)
|
21
24
|
|
22
25
|
@device.contact_frequency = wakeup_interval
|
23
26
|
@device.notify_contacted(last_wakeup_time)
|
data/lib/rzwaveway/version.rb
CHANGED
@@ -25,22 +25,6 @@ module RZWaveWay
|
|
25
25
|
@last_contact_time + (@contact_frequency * (1 + @missed_contact_count) * 1.1)
|
26
26
|
end
|
27
27
|
|
28
|
-
def to_json
|
29
|
-
attributes = {
|
30
|
-
name: @name,
|
31
|
-
deviceId: @id,
|
32
|
-
# TODO remove these obsolete attributes (kept for backward compatibility)
|
33
|
-
lastSleepTime: @last_contact_time,
|
34
|
-
lastWakeUpTime: @last_contact_time,
|
35
|
-
wakeUpInterval: @contact_frequency,
|
36
|
-
# ---
|
37
|
-
# 'lastContactTime' => @last_contact_time,
|
38
|
-
# 'contactFrequency' => @contact_frequency,
|
39
|
-
properties: @properties
|
40
|
-
}
|
41
|
-
attributes.to_json
|
42
|
-
end
|
43
|
-
|
44
28
|
def support_commandclass?(command_class_id)
|
45
29
|
@command_classes.has_key? command_class_id
|
46
30
|
end
|
@@ -87,14 +71,21 @@ module RZWaveWay
|
|
87
71
|
end
|
88
72
|
end
|
89
73
|
|
90
|
-
def add_property(
|
91
|
-
name =
|
92
|
-
read_only =
|
93
|
-
@properties[name] =
|
74
|
+
def add_property(property)
|
75
|
+
name = property.delete(:name)
|
76
|
+
property[:read_only] = true unless property.has_key? :read_only
|
77
|
+
@properties[name] = property
|
94
78
|
end
|
95
79
|
|
96
80
|
def get_property(name)
|
97
|
-
[
|
81
|
+
[
|
82
|
+
@properties[name][:value],
|
83
|
+
@properties[name][:update_time]
|
84
|
+
]
|
85
|
+
end
|
86
|
+
|
87
|
+
def properties
|
88
|
+
@properties.reject { |_, property| property.has_key? :internal }
|
98
89
|
end
|
99
90
|
|
100
91
|
def update_property(name, value, update_time)
|
data/spec/zwave_device_spec.rb
CHANGED
@@ -53,6 +53,21 @@ module RZWaveWay
|
|
53
53
|
end
|
54
54
|
end
|
55
55
|
|
56
|
+
describe '#properties' do
|
57
|
+
it 'returns the name and value of all properties' do
|
58
|
+
device.add_property({ name: 'prop1', value: 123, update_time: 1390252000 })
|
59
|
+
device.add_property({ name: 'prop2', value: 456, update_time: 1390252000 })
|
60
|
+
|
61
|
+
expect(device.properties).to eq( 'prop1' => { value: 123, update_time: 1390252000, read_only: true },
|
62
|
+
'prop2' => { value: 456, update_time: 1390252000, read_only: true })
|
63
|
+
end
|
64
|
+
|
65
|
+
it 'does not include internal properties' do
|
66
|
+
device.add_property({ name: 'prop1', value: 123, update_time: 1390252000, internal: true })
|
67
|
+
expect(device.properties).to be_empty
|
68
|
+
end
|
69
|
+
end
|
70
|
+
|
56
71
|
describe '#contacts_controller_periodically?' do
|
57
72
|
it 'returns true if device supports wake up cc' do
|
58
73
|
expect(device.contacts_controller_periodically?).to be true
|