rzwaveway 0.0.9 → 0.0.10

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,15 +1,7 @@
1
1
  ---
2
- !binary "U0hBMQ==":
3
- metadata.gz: !binary |-
4
- YzJmZWU2ZGQ1YTc5ODMwNjcxNzdiYmYyNDgyNWQ3YzYxZDYzYTNlYg==
5
- data.tar.gz: !binary |-
6
- MThiNTZhNTY4OWU5MDRlZmY0MjIxYTdjODc2M2VkM2E4ZDcxZDQ0NQ==
2
+ SHA1:
3
+ metadata.gz: c12e4156998c8b5f3b5f46d45e1e155169d556c6
4
+ data.tar.gz: 12394850fe070c5c3094507453159057fee67222
7
5
  SHA512:
8
- metadata.gz: !binary |-
9
- NDIwYjk5OGNhZDViNGNmNDliNDFhMTNjMTZiZGFhM2YwMWE5NjhkM2NkYWQ3
10
- N2JhMDhmNzMzMTdiNjFiZWVlNWEwYjI5OTNkNzJlNmZiNWFhZGU2YmVjNjI0
11
- MDZmMWZiOWEyNTUxMGZkZTAyYmYyMDZmYzJiMjcyZmY2YmNjODc=
12
- data.tar.gz: !binary |-
13
- MTBiM2QzYmRmNzZhNjAxMTUzYzk0NmJhOWViMGQwZGQ0MmJmNWQ4MWIzZjRi
14
- ZTUyNzA2Y2RiMmIwOGQxZTVhYzU0NWY1ZjAxMjNmNjE4ZjkxZDdiNjNhNDhi
15
- M2IzZGE0YTA0Y2ZiZjg0NmNmYWY5ZDA0Y2U3MjM4NWUxZmExMTE=
6
+ metadata.gz: 1ab8e9b3a74c1ba9a355193acecef32554527808ebfdf4ebe818a996e1e198f30d16749dc21e11b7b933c43ce87c4310368028b2406b934ff7a3f75d50090f45
7
+ data.tar.gz: ffc3ff8422425c5a9fbdef9fe0d11dd30b0c00cfd6b6f955a6e7484beba1887896efddc3369c103f1c90b7da2481c491906ed1c4e631e26cad83c2cd8cfc5feb
@@ -5,9 +5,9 @@ module RZWaveWay
5
5
 
6
6
  def initialize(data, device)
7
7
  @device = device
8
- @device.add_property(:battery_level,
9
- find('data.last.value', data),
10
- find('data.last.updateTime', data))
8
+ @device.add_property(name: :battery_level,
9
+ value: find('data.last.value', data),
10
+ update_time: find('data.last.updateTime', data))
11
11
  end
12
12
 
13
13
  def process(updates)
@@ -5,9 +5,9 @@ module RZWaveWay
5
5
 
6
6
  def initialize(data, device)
7
7
  @device = device
8
- @device.add_property(:level,
9
- find('data.1.level.value', data),
10
- find('data.1.level.updateTime', data))
8
+ @device.add_property(name: :level,
9
+ value: find('data.1.level.value', data),
10
+ update_time: find('data.1.level.updateTime', data))
11
11
  end
12
12
 
13
13
  def process(updates)
@@ -5,9 +5,10 @@ module RZWaveWay
5
5
 
6
6
  def initialize(data, device)
7
7
  @device = device
8
- @device.add_property(:level,
9
- find('data.level.value', data),
10
- find('data.level.updateTime', data))
8
+ @device.add_property(name: :level,
9
+ value: find('data.level.value', data),
10
+ update_time: find('data.level.updateTime', data),
11
+ read_only: false)
11
12
  end
12
13
 
13
14
  def process(updates)
@@ -5,9 +5,9 @@ module RZWaveWay
5
5
 
6
6
  def initialize(data, device)
7
7
  @device = device
8
- @device.add_property(:level,
9
- find('data.level.value', data),
10
- find('data.level.updateTime', data))
8
+ @device.add_property(name: :level,
9
+ value: find('data.level.value', data),
10
+ update_time: find('data.level.updateTime', data))
11
11
  end
12
12
 
13
13
  def process(updates)
@@ -9,15 +9,15 @@ module RZWaveWay
9
9
  last_wakeup_time = find('data.lastWakeup.value', data)
10
10
  last_sleep_time = find('data.lastSleep.value', data)
11
11
 
12
- @device.add_property(:wakeup_interval,
13
- wakeup_interval,
14
- find('data.interval.updateTime', data))
15
- @device.add_property(:wakeup_last_sleep_time,
16
- last_sleep_time,
17
- find('data.lastSleep.updateTime', data))
18
- @device.add_property(:wakeup_last_wakeup_time,
19
- last_wakeup_time,
20
- find('data.lastSleep.updateTime', data))
12
+ @device.add_property(name: :wakeup_interval,
13
+ value: wakeup_interval,
14
+ update_time: find('data.interval.updateTime', data))
15
+ @device.add_property(name: :wakeup_last_sleep_time,
16
+ value: last_sleep_time,
17
+ update_time: find('data.lastSleep.updateTime', data))
18
+ @device.add_property(name: :wakeup_last_wakeup_time,
19
+ value: last_wakeup_time,
20
+ update_time: find('data.lastSleep.updateTime', data))
21
21
 
22
22
  @device.contact_frequency = wakeup_interval
23
23
  @device.notify_contacted(last_wakeup_time)
@@ -1,3 +1,3 @@
1
1
  module RZWaveWay
2
- VERSION = '0.0.9'
2
+ VERSION = '0.0.10'
3
3
  end
@@ -27,16 +27,16 @@ module RZWaveWay
27
27
 
28
28
  def to_json
29
29
  attributes = {
30
- 'name' => @name,
31
- 'deviceId' => @id,
30
+ name: @name,
31
+ deviceId: @id,
32
32
  # TODO remove these obsolete attributes (kept for backward compatibility)
33
- 'lastSleepTime' => @last_contact_time,
34
- 'lastWakeUpTime' => @last_contact_time,
35
- 'wakeUpInterval' => @contact_frequency
33
+ lastSleepTime: @last_contact_time,
34
+ lastWakeUpTime: @last_contact_time,
35
+ wakeUpInterval: @contact_frequency,
36
36
  # ---
37
37
  # 'lastContactTime' => @last_contact_time,
38
38
  # 'contactFrequency' => @contact_frequency,
39
- # 'properties' => @properties.to_json
39
+ properties: @properties
40
40
  }
41
41
  attributes.to_json
42
42
  end
@@ -87,20 +87,22 @@ module RZWaveWay
87
87
  end
88
88
  end
89
89
 
90
- def add_property(name, value, updateTime)
91
- @properties[name] = [value, updateTime]
90
+ def add_property(options)
91
+ name = options.delete(:name)
92
+ read_only = options.delete(:read_only) || true
93
+ @properties[name] = options
92
94
  end
93
95
 
94
96
  def get_property(name)
95
- @properties[name].dup
97
+ [ @properties[name][:value], @properties[name][:update_time] ]
96
98
  end
97
99
 
98
- def update_property(name, value, updateTime)
100
+ def update_property(name, value, update_time)
99
101
  if @properties.has_key?(name)
100
102
  property = @properties[name]
101
- if property[0] != value || property[1] < updateTime
102
- property[0] = value
103
- property[1] = updateTime
103
+ if property[:value] != value || property[:update_time] < update_time
104
+ property[:value] = value
105
+ property[:update_time] = update_time
104
106
  true
105
107
  end
106
108
  end
@@ -44,6 +44,15 @@ module RZWaveWay
44
44
  end
45
45
  end
46
46
 
47
+ describe '#add_property' do
48
+ it 'stores a property' do
49
+ property = { name: 'prop1', value: 123, update_time: Time.now.to_i, read_only: true }
50
+ device.add_property(property)
51
+
52
+ expect(device.get_property('prop1')).not_to be_nil
53
+ end
54
+ end
55
+
47
56
  describe '#contacts_controller_periodically?' do
48
57
  it 'returns true if device supports wake up cc' do
49
58
  expect(device.contacts_controller_periodically?).to be true
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rzwaveway
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.9
4
+ version: 0.0.10
5
5
  platform: ruby
6
6
  authors:
7
7
  - Vincent Touchard
@@ -14,70 +14,70 @@ dependencies:
14
14
  name: log4r
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ~>
17
+ - - "~>"
18
18
  - !ruby/object:Gem::Version
19
19
  version: 1.1.10
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - ~>
24
+ - - "~>"
25
25
  - !ruby/object:Gem::Version
26
26
  version: 1.1.10
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: faraday
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - ! '>='
31
+ - - ">="
32
32
  - !ruby/object:Gem::Version
33
33
  version: '0'
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - ! '>='
38
+ - - ">="
39
39
  - !ruby/object:Gem::Version
40
40
  version: '0'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: httpclient
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - ! '>='
45
+ - - ">="
46
46
  - !ruby/object:Gem::Version
47
47
  version: '0'
48
48
  type: :runtime
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - ! '>='
52
+ - - ">="
53
53
  - !ruby/object:Gem::Version
54
54
  version: '0'
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: bundler
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
- - - ~>
59
+ - - "~>"
60
60
  - !ruby/object:Gem::Version
61
61
  version: '1.0'
62
62
  type: :development
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
- - - ~>
66
+ - - "~>"
67
67
  - !ruby/object:Gem::Version
68
68
  version: '1.0'
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: rspec
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
- - - ~>
73
+ - - "~>"
74
74
  - !ruby/object:Gem::Version
75
75
  version: 3.0.0
76
76
  type: :development
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
- - - ~>
80
+ - - "~>"
81
81
  - !ruby/object:Gem::Version
82
82
  version: 3.0.0
83
83
  description: A Ruby API to use the Razberry ZWave ZWay interface
@@ -86,7 +86,7 @@ executables: []
86
86
  extensions: []
87
87
  extra_rdoc_files: []
88
88
  files:
89
- - .gitignore
89
+ - ".gitignore"
90
90
  - Gemfile
91
91
  - LICENSE
92
92
  - README.md
@@ -128,17 +128,17 @@ require_paths:
128
128
  - lib
129
129
  required_ruby_version: !ruby/object:Gem::Requirement
130
130
  requirements:
131
- - - ! '>='
131
+ - - ">="
132
132
  - !ruby/object:Gem::Version
133
133
  version: '0'
134
134
  required_rubygems_version: !ruby/object:Gem::Requirement
135
135
  requirements:
136
- - - ! '>='
136
+ - - ">="
137
137
  - !ruby/object:Gem::Version
138
138
  version: '0'
139
139
  requirements: []
140
140
  rubyforge_project:
141
- rubygems_version: 2.5.0
141
+ rubygems_version: 2.2.2
142
142
  signing_key:
143
143
  specification_version: 4
144
144
  summary: ZWave API for ZWay