ruby_home 0.2.0 → 0.2.5
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.github/workflows/tests.yml +41 -0
- data/CHANGELOG.md +13 -0
- data/README.md +47 -84
- data/examples/air_purifier.rb +67 -0
- data/examples/air_quality_sensor.rb +120 -0
- data/examples/battery_service.rb +59 -0
- data/examples/carbon_dioxide_sensor.rb +79 -0
- data/examples/carbon_monoxide_sensor.rb +79 -0
- data/examples/contact_sensor.rb +67 -0
- data/examples/door.rb +49 -0
- data/examples/fan.rb +31 -0
- data/examples/fan_v2.rb +69 -0
- data/examples/garage_door_opener.rb +72 -0
- data/examples/heater_cooler.rb +93 -0
- data/examples/humidifier_dehumidifier.rb +89 -0
- data/examples/humidity_sensor.rb +63 -0
- data/examples/leak_sensor.rb +67 -0
- data/examples/light_sensor.rb +65 -0
- data/examples/lightbulb.rb +32 -0
- data/examples/lock_mechanism.rb +35 -0
- data/examples/motion_sensor.rb +67 -0
- data/examples/occupancy_sensor.rb +67 -0
- data/examples/outlet.rb +30 -0
- data/examples/security_system.rb +54 -0
- data/examples/smoke_sensor.rb +67 -0
- data/examples/switch.rb +17 -0
- data/examples/television.rb +78 -0
- data/examples/temperature_sensor.rb +63 -0
- data/examples/thermostat.rb +114 -0
- data/examples/window.rb +49 -0
- data/examples/window_covering.rb +73 -0
- data/lib/ruby_home.rb +0 -1
- data/lib/ruby_home/characteristic.rb +7 -1
- data/lib/ruby_home/config/categories.yml +39 -0
- data/lib/ruby_home/config/characteristics.yml +479 -3
- data/lib/ruby_home/config/services.yml +79 -4
- data/lib/ruby_home/configuration.rb +19 -0
- data/lib/ruby_home/dns/service.rb +2 -0
- data/lib/ruby_home/dns/text_record.rb +1 -1
- data/lib/ruby_home/errors.rb +4 -0
- data/lib/ruby_home/factories/characteristic_factory.rb +1 -0
- data/lib/ruby_home/factories/templates/characteristic_template.rb +1 -1
- data/lib/ruby_home/factories/templates/service_template.rb +1 -1
- data/lib/ruby_home/hap/server_handler.rb +4 -13
- data/lib/ruby_home/hap/values/uint8_value.rb +11 -1
- data/lib/ruby_home/http/controllers/application_controller.rb +10 -3
- data/lib/ruby_home/http/controllers/pair_setups_controller.rb +3 -3
- data/lib/ruby_home/http/controllers/pair_verifies_controller.rb +10 -12
- data/lib/ruby_home/http/controllers/pairings_controller.rb +1 -1
- data/lib/ruby_home/http/serializers/characteristic_serializer.rb +13 -5
- data/lib/ruby_home/http/serializers/service_serializer.rb +11 -1
- data/lib/ruby_home/http/services/verify_finish_service.rb +56 -0
- data/lib/ruby_home/http/services/verify_srp_service.rb +32 -41
- data/lib/ruby_home/persistable.rb +4 -12
- data/lib/ruby_home/service.rb +3 -0
- data/lib/ruby_home/version.rb +1 -1
- data/rubyhome.gemspec +7 -7
- data/sbin/service_generator.rb +12 -2
- metadata +65 -39
- data/.travis.yml +0 -31
@@ -0,0 +1,114 @@
|
|
1
|
+
require 'ruby_home'
|
2
|
+
|
3
|
+
accessory_information = RubyHome::ServiceFactory.create(:accessory_information)
|
4
|
+
thermostat = RubyHome::ServiceFactory.create(:thermostat,
|
5
|
+
temperature_display_units: 0, # required
|
6
|
+
target_temperature: 18, # required
|
7
|
+
current_temperature: 18, # required
|
8
|
+
target_heating_cooling_state: 0, # required
|
9
|
+
current_heating_cooling_state: 0, # required
|
10
|
+
name: "thermostat", # optional
|
11
|
+
heating_threshold_temperature: 20, # optional
|
12
|
+
cooling_threshold_temperature: 10, # optional
|
13
|
+
target_relative_humidity: 0, # optional
|
14
|
+
current_relative_humidity: 0, # optional
|
15
|
+
)
|
16
|
+
|
17
|
+
thermostat.temperature_display_units.after_update do |temperature_display_unit|
|
18
|
+
if temperature_display_unit == 0
|
19
|
+
puts "thermostat temperature display units Celsius"
|
20
|
+
elsif temperature_display_unit == 1
|
21
|
+
puts "thermostat temperature display units Fahrenheit"
|
22
|
+
end
|
23
|
+
end
|
24
|
+
|
25
|
+
thermostat.target_temperature.after_update do |target_temperature|
|
26
|
+
puts "thermostat target_temperature #{target_temperature}"
|
27
|
+
|
28
|
+
if target_temperature.to_i > thermostat.current_temperature.to_i
|
29
|
+
thermostat.target_heating_cooling_state = 1
|
30
|
+
elsif target_temperature < thermostat.current_temperature
|
31
|
+
thermostat.target_heating_cooling_state = 2
|
32
|
+
elsif target_temperature.to_i == thermostat.current_temperature.to_i
|
33
|
+
thermostat.target_heating_cooling_state = 0
|
34
|
+
end
|
35
|
+
end
|
36
|
+
|
37
|
+
thermostat.current_temperature.after_update do |current_temperature|
|
38
|
+
puts "thermostat current_temperature #{current_temperature}"
|
39
|
+
|
40
|
+
if current_temperature.to_i < thermostat.target_temperature.to_i
|
41
|
+
thermostat.target_heating_cooling_state = 1
|
42
|
+
elsif current_temperature.to_i > thermostat.target_temperature.to_i
|
43
|
+
thermostat.target_heating_cooling_state = 2
|
44
|
+
elsif current_temperature.to_i == thermostat.target_temperature.to_i
|
45
|
+
thermostat.target_heating_cooling_state = 0
|
46
|
+
end
|
47
|
+
end
|
48
|
+
|
49
|
+
target_heating_cooling_state_values = {
|
50
|
+
0 => 'Off',
|
51
|
+
1 => 'Heat',
|
52
|
+
2 => 'Cool',
|
53
|
+
3 => 'Auto',
|
54
|
+
}
|
55
|
+
thermostat.target_heating_cooling_state.after_update do |target_heating_cooling_state|
|
56
|
+
state = target_heating_cooling_state_values[target_heating_cooling_state]
|
57
|
+
puts "heater cooler target heating cooler state is #{state}"
|
58
|
+
|
59
|
+
return if thermostat.current_heating_cooling_state == target_heating_cooling_state
|
60
|
+
|
61
|
+
if target_heating_cooling_state == 1
|
62
|
+
thermostat.current_heating_cooling_state = 1
|
63
|
+
elsif target_heating_cooling_state == 2
|
64
|
+
thermostat.current_heating_cooling_state = 2
|
65
|
+
elsif target_heating_cooling_state == 0
|
66
|
+
thermostat.current_heating_cooling_state = 0
|
67
|
+
end
|
68
|
+
end
|
69
|
+
|
70
|
+
current_heating_cooling_state_values = {
|
71
|
+
0 => 'Off',
|
72
|
+
1 => 'Heat',
|
73
|
+
2 => 'Cool',
|
74
|
+
}
|
75
|
+
thermostat.current_heating_cooling_state.after_update do |current_heating_cooling_state|
|
76
|
+
state = current_heating_cooling_state_values[current_heating_cooling_state]
|
77
|
+
puts "heater cooler current heating cooler state is #{state}"
|
78
|
+
end
|
79
|
+
|
80
|
+
thermostat.heating_threshold_temperature.after_update do |heating_threshold_temperature|
|
81
|
+
# maximum_value: 25
|
82
|
+
# minimum_value: 0
|
83
|
+
# step_value: 0.1
|
84
|
+
puts "heater cooler heating threshold temperature #{heating_threshold_temperature}"
|
85
|
+
end
|
86
|
+
|
87
|
+
thermostat.cooling_threshold_temperature.after_update do |cooling_threshold_temperature|
|
88
|
+
# maximum_value: 35
|
89
|
+
# minimum_value: 10
|
90
|
+
# step_value: 0.1
|
91
|
+
puts "heater cooler cooling threshold temperature temperature #{cooling_threshold_temperature}"
|
92
|
+
end
|
93
|
+
|
94
|
+
thermostat.target_relative_humidity.after_update do |target_relative_humidity|
|
95
|
+
puts "thermostat target_relative_humidity #{target_relative_humidity}"
|
96
|
+
end
|
97
|
+
|
98
|
+
thermostat.current_relative_humidity.after_update do |current_relative_humidity|
|
99
|
+
puts "thermostat current_relative_humidity #{current_relative_humidity}"
|
100
|
+
end
|
101
|
+
|
102
|
+
Thread.new do
|
103
|
+
loop do
|
104
|
+
sleep 5
|
105
|
+
|
106
|
+
if thermostat.target_temperature.to_i > thermostat.current_temperature.to_i
|
107
|
+
thermostat.current_temperature += 1
|
108
|
+
elsif thermostat.target_temperature.to_i < thermostat.current_temperature.to_i
|
109
|
+
thermostat.current_temperature -= 1
|
110
|
+
end
|
111
|
+
end
|
112
|
+
end
|
113
|
+
|
114
|
+
RubyHome.run
|
data/examples/window.rb
ADDED
@@ -0,0 +1,49 @@
|
|
1
|
+
require 'ruby_home'
|
2
|
+
|
3
|
+
accessory_information = RubyHome::ServiceFactory.create(:accessory_information)
|
4
|
+
window = RubyHome::ServiceFactory.create(:window,
|
5
|
+
target_position: 0, # required
|
6
|
+
position_state: 1, # required
|
7
|
+
current_position: 0, # required
|
8
|
+
name: "window", # optional
|
9
|
+
obstruction_detected: false, # optional
|
10
|
+
)
|
11
|
+
|
12
|
+
window.target_position.after_update do |target_position|
|
13
|
+
puts "window target position #{target_position}"
|
14
|
+
|
15
|
+
if target_position < window.current_position
|
16
|
+
window.position_state = 0
|
17
|
+
elsif target_position > window.current_position
|
18
|
+
window.position_state = 1
|
19
|
+
end
|
20
|
+
|
21
|
+
sleep 1
|
22
|
+
|
23
|
+
window.current_position = target_position
|
24
|
+
window.position_state = 2
|
25
|
+
end
|
26
|
+
|
27
|
+
position_state_values = {
|
28
|
+
0 => 'Decreasing',
|
29
|
+
1 => 'Increasing',
|
30
|
+
2 => 'Stopped'
|
31
|
+
}
|
32
|
+
window.position_state.after_update do |position_state|
|
33
|
+
state = position_state_values[position_state]
|
34
|
+
puts "window position state #{state}"
|
35
|
+
end
|
36
|
+
|
37
|
+
window.current_position.after_update do |current_position|
|
38
|
+
puts "window current position #{current_position}"
|
39
|
+
end
|
40
|
+
|
41
|
+
window.obstruction_detected.after_update do |obstruction_detected|
|
42
|
+
if obstruction_detected
|
43
|
+
puts "window obstruction detected"
|
44
|
+
else
|
45
|
+
puts "window no obstruction detected"
|
46
|
+
end
|
47
|
+
end
|
48
|
+
|
49
|
+
RubyHome.run
|
@@ -0,0 +1,73 @@
|
|
1
|
+
require 'ruby_home'
|
2
|
+
|
3
|
+
accessory_information = RubyHome::ServiceFactory.create(:accessory_information)
|
4
|
+
window_covering = RubyHome::ServiceFactory.create(:window_covering,
|
5
|
+
target_position: 0, # required
|
6
|
+
position_state: 1, # required
|
7
|
+
current_position: 0, # required
|
8
|
+
name: "window_covering", # optional
|
9
|
+
obstruction_detected: false, # optional
|
10
|
+
current_vertical_tilt_angle: 0, # optional
|
11
|
+
target_vertical_tilt_angle: 0, # optional
|
12
|
+
current_horizontal_tilt_angle: 0, # optional
|
13
|
+
target_horizontal_tilt_angle: 0 # optional
|
14
|
+
)
|
15
|
+
|
16
|
+
window_covering.target_position.after_update do |target_position|
|
17
|
+
puts "window covering target position #{target_position}"
|
18
|
+
|
19
|
+
if target_position < window_covering.current_position
|
20
|
+
window_covering.position_state = 0
|
21
|
+
elsif target_position > window_covering.current_position
|
22
|
+
window_covering.position_state = 1
|
23
|
+
end
|
24
|
+
|
25
|
+
sleep 1
|
26
|
+
|
27
|
+
window_covering.current_position = target_position
|
28
|
+
window_covering.position_state = 2
|
29
|
+
end
|
30
|
+
|
31
|
+
position_state_values = {
|
32
|
+
0 => 'Decreasing',
|
33
|
+
1 => 'Increasing',
|
34
|
+
2 => 'Stopped'
|
35
|
+
}
|
36
|
+
window_covering.position_state.after_update do |position_state|
|
37
|
+
state = position_state_values[position_state]
|
38
|
+
puts "window covering position state #{state}"
|
39
|
+
end
|
40
|
+
|
41
|
+
window_covering.current_position.after_update do |current_position|
|
42
|
+
puts "window covering current position #{current_position}"
|
43
|
+
end
|
44
|
+
|
45
|
+
window_covering.obstruction_detected.after_update do |obstruction_detected|
|
46
|
+
if obstruction_detected
|
47
|
+
puts "window covering obstruction detected"
|
48
|
+
else
|
49
|
+
puts "window covering no obstruction detected"
|
50
|
+
end
|
51
|
+
end
|
52
|
+
|
53
|
+
window_covering.current_vertical_tilt_angle.after_update do |current_vertical_tilt_angle|
|
54
|
+
puts "window covering current_vertical_tilt_angle #{current_vertical_tilt_angle}"
|
55
|
+
end
|
56
|
+
|
57
|
+
window_covering.target_vertical_tilt_angle.after_update do |target_vertical_tilt_angle|
|
58
|
+
puts "window covering target_vertical_tilt_angle #{target_vertical_tilt_angle}"
|
59
|
+
sleep 1
|
60
|
+
window_covering.current_vertical_tilt_angle = target_vertical_tilt_angle
|
61
|
+
end
|
62
|
+
|
63
|
+
window_covering.current_horizontal_tilt_angle.after_update do |current_horizontal_tilt_angle|
|
64
|
+
puts "window covering current_horizontal_tilt_angle #{current_horizontal_tilt_angle}"
|
65
|
+
end
|
66
|
+
|
67
|
+
window_covering.target_horizontal_tilt_angle.after_update do |target_horizontal_tilt_angle|
|
68
|
+
puts "window covering target_horizontal_tilt_angle #{target_horizontal_tilt_angle}"
|
69
|
+
sleep 1
|
70
|
+
window_covering.current_horizontal_tilt_angle = target_horizontal_tilt_angle
|
71
|
+
end
|
72
|
+
|
73
|
+
RubyHome.run
|
data/lib/ruby_home.rb
CHANGED
@@ -25,13 +25,14 @@ module RubyHome
|
|
25
25
|
'write' => 'pw',
|
26
26
|
}.freeze
|
27
27
|
|
28
|
-
def initialize(uuid:, name:, description:, format:, unit:, properties:, service: , value_object: )
|
28
|
+
def initialize(uuid:, name:, description:, format:, unit:, properties:, constraints:, service: , value_object: )
|
29
29
|
@uuid = uuid
|
30
30
|
@name = name
|
31
31
|
@description = description
|
32
32
|
@format = format
|
33
33
|
@unit = unit
|
34
34
|
@properties = properties
|
35
|
+
@constraints = constraints
|
35
36
|
@service = service
|
36
37
|
@value_object = value_object
|
37
38
|
end
|
@@ -44,6 +45,7 @@ module RubyHome
|
|
44
45
|
:format,
|
45
46
|
:unit,
|
46
47
|
:properties,
|
48
|
+
:constraints,
|
47
49
|
:instance_id,
|
48
50
|
:value_object,
|
49
51
|
)
|
@@ -66,6 +68,10 @@ module RubyHome
|
|
66
68
|
service.instance_id
|
67
69
|
end
|
68
70
|
|
71
|
+
def valid_values
|
72
|
+
constraints.fetch('ValidValues', {}).keys.map(&:to_i)
|
73
|
+
end
|
74
|
+
|
69
75
|
def method_missing(method_name, *args, &block)
|
70
76
|
value.send(method_name, *args, &block)
|
71
77
|
end
|
@@ -0,0 +1,39 @@
|
|
1
|
+
---
|
2
|
+
:other: 1
|
3
|
+
:bridge: 2
|
4
|
+
:fan: 3
|
5
|
+
:garage_door_opener: 4
|
6
|
+
:lightbulb: 5
|
7
|
+
:door_lock: 6
|
8
|
+
:outlet: 7
|
9
|
+
:switch: 8
|
10
|
+
:thermostat: 9
|
11
|
+
:sensor: 10
|
12
|
+
:alarm_system: 11
|
13
|
+
:security_system: 11
|
14
|
+
:door: 12
|
15
|
+
:window: 13
|
16
|
+
:window_covering: 14
|
17
|
+
:programmable_switch: 15
|
18
|
+
:range_extender: 16
|
19
|
+
:camera: 17
|
20
|
+
:ip_camera: 17
|
21
|
+
:video_doorbell: 18
|
22
|
+
:air_purifier: 19
|
23
|
+
:air_heater: 20
|
24
|
+
:air_conditioner: 21
|
25
|
+
:air_humidifier: 22
|
26
|
+
:air_dehumidifier: 23
|
27
|
+
:apple_tv: 24
|
28
|
+
:homepod: 25
|
29
|
+
:speaker: 26
|
30
|
+
:airport: 27
|
31
|
+
:sprinkler: 28
|
32
|
+
:faucet: 29
|
33
|
+
:shower_head: 30
|
34
|
+
:television: 31
|
35
|
+
:target_controller: 32
|
36
|
+
:router: 33
|
37
|
+
:audio_receiver: 34
|
38
|
+
:tv_set_top_box: 35
|
39
|
+
:tv_streaming_stick: 36
|
@@ -25,10 +25,23 @@
|
|
25
25
|
- read
|
26
26
|
- write
|
27
27
|
- cnotify
|
28
|
+
- uncnotify
|
28
29
|
:constraints:
|
29
30
|
ValidValues:
|
30
31
|
'0': Inactive
|
31
32
|
'1': Active
|
33
|
+
- :name: :active_identifier
|
34
|
+
:description: Active Identifier
|
35
|
+
:uuid: 000000E7-0000-1000-8000-0026BB765291
|
36
|
+
:format: uint32
|
37
|
+
:unit: nil
|
38
|
+
:permissions:
|
39
|
+
- securedRead
|
40
|
+
:properties:
|
41
|
+
- read
|
42
|
+
- write
|
43
|
+
- cnotify
|
44
|
+
:constraints:
|
32
45
|
- :name: :administrator_only_access
|
33
46
|
:description: Administrator Only Access
|
34
47
|
:uuid: 00000001-0000-1000-8000-0026BB765291
|
@@ -41,6 +54,7 @@
|
|
41
54
|
- read
|
42
55
|
- write
|
43
56
|
- cnotify
|
57
|
+
- uncnotify
|
44
58
|
:constraints:
|
45
59
|
- :name: :air_particulate_density
|
46
60
|
:description: Air Particulate Density
|
@@ -52,6 +66,7 @@
|
|
52
66
|
:properties:
|
53
67
|
- read
|
54
68
|
- cnotify
|
69
|
+
- uncnotify
|
55
70
|
:constraints:
|
56
71
|
MaximumValue: 1000
|
57
72
|
MinimumValue: 0
|
@@ -66,6 +81,7 @@
|
|
66
81
|
:properties:
|
67
82
|
- read
|
68
83
|
- cnotify
|
84
|
+
- uncnotify
|
69
85
|
:constraints:
|
70
86
|
ValidValues:
|
71
87
|
'0': 2.5 μm
|
@@ -101,6 +117,7 @@
|
|
101
117
|
- read
|
102
118
|
- write
|
103
119
|
- cnotify
|
120
|
+
- uncnotify
|
104
121
|
:constraints:
|
105
122
|
- :name: :battery_level
|
106
123
|
:description: Battery Level
|
@@ -112,6 +129,7 @@
|
|
112
129
|
:properties:
|
113
130
|
- read
|
114
131
|
- cnotify
|
132
|
+
- uncnotify
|
115
133
|
:constraints:
|
116
134
|
MaximumValue: 100
|
117
135
|
MinimumValue: 0
|
@@ -128,6 +146,7 @@
|
|
128
146
|
- read
|
129
147
|
- write
|
130
148
|
- cnotify
|
149
|
+
- uncnotify
|
131
150
|
:constraints:
|
132
151
|
MaximumValue: 100
|
133
152
|
MinimumValue: 0
|
@@ -157,6 +176,7 @@
|
|
157
176
|
:properties:
|
158
177
|
- read
|
159
178
|
- cnotify
|
179
|
+
- uncnotify
|
160
180
|
:constraints:
|
161
181
|
MaximumValue: 100000
|
162
182
|
MinimumValue: 0
|
@@ -170,6 +190,7 @@
|
|
170
190
|
:properties:
|
171
191
|
- read
|
172
192
|
- cnotify
|
193
|
+
- uncnotify
|
173
194
|
:constraints:
|
174
195
|
MaximumValue: 100000
|
175
196
|
MinimumValue: 0
|
@@ -198,6 +219,7 @@
|
|
198
219
|
:properties:
|
199
220
|
- read
|
200
221
|
- cnotify
|
222
|
+
- uncnotify
|
201
223
|
:constraints:
|
202
224
|
MaximumValue: 100
|
203
225
|
MinimumValue: 0
|
@@ -211,6 +233,7 @@
|
|
211
233
|
:properties:
|
212
234
|
- read
|
213
235
|
- cnotify
|
236
|
+
- uncnotify
|
214
237
|
:constraints:
|
215
238
|
MaximumValue: 100
|
216
239
|
MinimumValue: 0
|
@@ -224,11 +247,29 @@
|
|
224
247
|
:properties:
|
225
248
|
- read
|
226
249
|
- cnotify
|
250
|
+
- uncnotify
|
227
251
|
:constraints:
|
228
252
|
ValidValues:
|
229
253
|
'0': Not Charging
|
230
254
|
'1': Charging
|
231
255
|
'2': Not Chargeable
|
256
|
+
- :name: :closed_captions
|
257
|
+
:description: Closed Captions
|
258
|
+
:uuid: 000000DD-0000-1000-8000-0026BB765291
|
259
|
+
:format: uint8
|
260
|
+
:unit: nil
|
261
|
+
:permissions:
|
262
|
+
- securedRead
|
263
|
+
:properties:
|
264
|
+
- read
|
265
|
+
- write
|
266
|
+
- cnotify
|
267
|
+
:constraints:
|
268
|
+
MaximumValue: 1
|
269
|
+
MinimumValue: 0
|
270
|
+
ValidValues:
|
271
|
+
'0': Disabled
|
272
|
+
'1': Enabled
|
232
273
|
- :name: :color_temperature
|
233
274
|
:description: Color Temperature
|
234
275
|
:uuid: 000000CE-0000-1000-8000-0026BB765291
|
@@ -241,10 +282,23 @@
|
|
241
282
|
- read
|
242
283
|
- write
|
243
284
|
- cnotify
|
285
|
+
- uncnotify
|
244
286
|
:constraints:
|
245
287
|
MaximumValue: 500
|
246
288
|
MinimumValue: 140
|
247
289
|
StepValue: 1
|
290
|
+
- :name: :configured_name
|
291
|
+
:description: Configured Name
|
292
|
+
:uuid: 000000E3-0000-1000-8000-0026BB765291
|
293
|
+
:format: string
|
294
|
+
:unit: nil
|
295
|
+
:permissions:
|
296
|
+
- securedRead
|
297
|
+
:properties:
|
298
|
+
- read
|
299
|
+
- write
|
300
|
+
- cnotify
|
301
|
+
:constraints:
|
248
302
|
- :name: :contact_sensor_state
|
249
303
|
:description: Contact Sensor State
|
250
304
|
:uuid: 0000006A-0000-1000-8000-0026BB765291
|
@@ -272,6 +326,7 @@
|
|
272
326
|
- read
|
273
327
|
- write
|
274
328
|
- cnotify
|
329
|
+
- uncnotify
|
275
330
|
:constraints:
|
276
331
|
MaximumValue: 35
|
277
332
|
MinimumValue: 10
|
@@ -286,6 +341,7 @@
|
|
286
341
|
:properties:
|
287
342
|
- read
|
288
343
|
- cnotify
|
344
|
+
- uncnotify
|
289
345
|
:constraints:
|
290
346
|
ValidValues:
|
291
347
|
'0': Inactive
|
@@ -301,6 +357,7 @@
|
|
301
357
|
:properties:
|
302
358
|
- read
|
303
359
|
- cnotify
|
360
|
+
- uncnotify
|
304
361
|
:constraints:
|
305
362
|
MaximumValue: 100000
|
306
363
|
MinimumValue: 0.0001
|
@@ -332,6 +389,7 @@
|
|
332
389
|
:properties:
|
333
390
|
- read
|
334
391
|
- cnotify
|
392
|
+
- uncnotify
|
335
393
|
:constraints:
|
336
394
|
ValidValues:
|
337
395
|
'0': Inactive
|
@@ -347,6 +405,7 @@
|
|
347
405
|
:properties:
|
348
406
|
- read
|
349
407
|
- cnotify
|
408
|
+
- uncnotify
|
350
409
|
:constraints:
|
351
410
|
ValidValues:
|
352
411
|
'0': Inactive
|
@@ -379,6 +438,7 @@
|
|
379
438
|
:properties:
|
380
439
|
- read
|
381
440
|
- cnotify
|
441
|
+
- uncnotify
|
382
442
|
:constraints:
|
383
443
|
MaximumValue: 90
|
384
444
|
MinimumValue: -90
|
@@ -393,12 +453,33 @@
|
|
393
453
|
:properties:
|
394
454
|
- read
|
395
455
|
- cnotify
|
456
|
+
- uncnotify
|
396
457
|
:constraints:
|
397
458
|
ValidValues:
|
398
459
|
'0': Inactive
|
399
460
|
'1': Idle
|
400
461
|
'2': Humidifying
|
401
462
|
'3': Dehumidifying
|
463
|
+
- :name: :current_media_state
|
464
|
+
:description: Current Media State
|
465
|
+
:uuid: 000000E0-0000-1000-8000-0026BB765291
|
466
|
+
:format: uint8
|
467
|
+
:unit: nil
|
468
|
+
:permissions:
|
469
|
+
- securedRead
|
470
|
+
:properties:
|
471
|
+
- read
|
472
|
+
- cnotify
|
473
|
+
:constraints:
|
474
|
+
MaximumValue: 5
|
475
|
+
MinimumValue: 0
|
476
|
+
ValidValues:
|
477
|
+
'0': Play
|
478
|
+
'1': Pause
|
479
|
+
'2': Stop
|
480
|
+
'3':
|
481
|
+
'4': Loading
|
482
|
+
'5': Interrupted
|
402
483
|
- :name: :current_position
|
403
484
|
:description: Current Position
|
404
485
|
:uuid: 0000006D-0000-1000-8000-0026BB765291
|
@@ -409,6 +490,7 @@
|
|
409
490
|
:properties:
|
410
491
|
- read
|
411
492
|
- cnotify
|
493
|
+
- uncnotify
|
412
494
|
:constraints:
|
413
495
|
MaximumValue: 100
|
414
496
|
MinimumValue: 0
|
@@ -423,6 +505,7 @@
|
|
423
505
|
:properties:
|
424
506
|
- read
|
425
507
|
- cnotify
|
508
|
+
- uncnotify
|
426
509
|
:constraints:
|
427
510
|
MaximumValue: 100
|
428
511
|
MinimumValue: 0
|
@@ -437,6 +520,7 @@
|
|
437
520
|
:properties:
|
438
521
|
- read
|
439
522
|
- cnotify
|
523
|
+
- uncnotify
|
440
524
|
:constraints:
|
441
525
|
ValidValues:
|
442
526
|
'0': Fixed
|
@@ -452,6 +536,7 @@
|
|
452
536
|
:properties:
|
453
537
|
- read
|
454
538
|
- cnotify
|
539
|
+
- uncnotify
|
455
540
|
:constraints:
|
456
541
|
MaximumValue: 100
|
457
542
|
MinimumValue: 0
|
@@ -466,6 +551,7 @@
|
|
466
551
|
:properties:
|
467
552
|
- read
|
468
553
|
- cnotify
|
554
|
+
- uncnotify
|
469
555
|
:constraints:
|
470
556
|
MaximumValue: 90
|
471
557
|
MinimumValue: -90
|
@@ -480,10 +566,29 @@
|
|
480
566
|
:properties:
|
481
567
|
- read
|
482
568
|
- cnotify
|
569
|
+
- uncnotify
|
483
570
|
:constraints:
|
484
571
|
MaximumValue: 90
|
485
572
|
MinimumValue: -90
|
486
573
|
StepValue: 1
|
574
|
+
- :name: :current_visibility_state
|
575
|
+
:description: Current Visibility State
|
576
|
+
:uuid: 00000135-0000-1000-8000-0026BB765291
|
577
|
+
:format: uint8
|
578
|
+
:unit: nil
|
579
|
+
:permissions:
|
580
|
+
- securedRead
|
581
|
+
:properties:
|
582
|
+
- read
|
583
|
+
- cnotify
|
584
|
+
:constraints:
|
585
|
+
MaximumValue: 3
|
586
|
+
MinimumValue: 0
|
587
|
+
ValidValues:
|
588
|
+
'0': Shown
|
589
|
+
'1': Hidden
|
590
|
+
'2':
|
591
|
+
'3':
|
487
592
|
- :name: :digital_zoom
|
488
593
|
:description: Digital Zoom
|
489
594
|
:uuid: 0000011D-0000-1000-8000-0026BB765291
|
@@ -496,7 +601,20 @@
|
|
496
601
|
- read
|
497
602
|
- write
|
498
603
|
- cnotify
|
604
|
+
- uncnotify
|
499
605
|
:constraints:
|
606
|
+
- :name: :display_order
|
607
|
+
:description: Display Order
|
608
|
+
:uuid: 00000136-0000-1000-8000-0026BB765291
|
609
|
+
:format: tlv8
|
610
|
+
:unit: nil
|
611
|
+
:permissions:
|
612
|
+
- securedRead
|
613
|
+
:properties:
|
614
|
+
- read
|
615
|
+
- write
|
616
|
+
- cnotify
|
617
|
+
:constraints:
|
500
618
|
- :name: :filter_change_indication
|
501
619
|
:description: Filter Change Indication
|
502
620
|
:uuid: 000000AC-0000-1000-8000-0026BB765291
|
@@ -507,6 +625,7 @@
|
|
507
625
|
:properties:
|
508
626
|
- read
|
509
627
|
- cnotify
|
628
|
+
- uncnotify
|
510
629
|
:constraints:
|
511
630
|
ValidValues:
|
512
631
|
'0': Filter OK
|
@@ -521,6 +640,7 @@
|
|
521
640
|
:properties:
|
522
641
|
- read
|
523
642
|
- cnotify
|
643
|
+
- uncnotify
|
524
644
|
:constraints:
|
525
645
|
MaximumValue: 100
|
526
646
|
MinimumValue: 0
|
@@ -557,6 +677,7 @@
|
|
557
677
|
- read
|
558
678
|
- write
|
559
679
|
- cnotify
|
680
|
+
- uncnotify
|
560
681
|
:constraints:
|
561
682
|
MaximumValue: 25
|
562
683
|
MinimumValue: 0
|
@@ -583,10 +704,23 @@
|
|
583
704
|
- read
|
584
705
|
- write
|
585
706
|
- cnotify
|
707
|
+
- uncnotify
|
586
708
|
:constraints:
|
587
709
|
MaximumValue: 360
|
588
710
|
MinimumValue: 0
|
589
711
|
StepValue: 1
|
712
|
+
- :name: :identifier
|
713
|
+
:description: Identifier
|
714
|
+
:uuid: 000000E6-0000-1000-8000-0026BB765291
|
715
|
+
:format: uint32
|
716
|
+
:unit: nil
|
717
|
+
:permissions:
|
718
|
+
- securedRead
|
719
|
+
:properties:
|
720
|
+
- read
|
721
|
+
:constraints:
|
722
|
+
MinimumValue: 0
|
723
|
+
StepValue: 1
|
590
724
|
- :name: :identify
|
591
725
|
:description: Identify
|
592
726
|
:uuid: 00000014-0000-1000-8000-0026BB765291
|
@@ -609,6 +743,7 @@
|
|
609
743
|
- read
|
610
744
|
- write
|
611
745
|
- cnotify
|
746
|
+
- uncnotify
|
612
747
|
:constraints:
|
613
748
|
- :name: :image_rotation
|
614
749
|
:description: Image Rotation
|
@@ -622,10 +757,89 @@
|
|
622
757
|
- read
|
623
758
|
- write
|
624
759
|
- cnotify
|
760
|
+
- uncnotify
|
625
761
|
:constraints:
|
626
762
|
MaximumValue: 270
|
627
763
|
MinimumValue: 0
|
628
764
|
StepValue: 90
|
765
|
+
- :name: :in_use
|
766
|
+
:description: In Use
|
767
|
+
:uuid: 000000D2-0000-1000-8000-0026BB765291
|
768
|
+
:format: uint8
|
769
|
+
:unit: nil
|
770
|
+
:permissions:
|
771
|
+
- securedRead
|
772
|
+
:properties:
|
773
|
+
- read
|
774
|
+
- cnotify
|
775
|
+
- uncnotify
|
776
|
+
:constraints:
|
777
|
+
ValidValues:
|
778
|
+
'0': Not in use
|
779
|
+
'1': In use
|
780
|
+
- :name: :input_device_type
|
781
|
+
:description: Input Device Type
|
782
|
+
:uuid: 000000DC-0000-1000-8000-0026BB765291
|
783
|
+
:format: uint8
|
784
|
+
:unit: nil
|
785
|
+
:permissions:
|
786
|
+
- securedRead
|
787
|
+
:properties:
|
788
|
+
- read
|
789
|
+
- cnotify
|
790
|
+
:constraints:
|
791
|
+
MaximumValue: 6
|
792
|
+
MinimumValue: 0
|
793
|
+
ValidValues:
|
794
|
+
'0': Other
|
795
|
+
'1': Television
|
796
|
+
'2': Recording
|
797
|
+
'3': Tuner
|
798
|
+
'4': Playback
|
799
|
+
'5': Audio System
|
800
|
+
'6':
|
801
|
+
- :name: :input_source_type
|
802
|
+
:description: Input Source Type
|
803
|
+
:uuid: 000000DB-0000-1000-8000-0026BB765291
|
804
|
+
:format: uint8
|
805
|
+
:unit: nil
|
806
|
+
:permissions:
|
807
|
+
- securedRead
|
808
|
+
:properties:
|
809
|
+
- read
|
810
|
+
- cnotify
|
811
|
+
:constraints:
|
812
|
+
MaximumValue: 10
|
813
|
+
MinimumValue: 0
|
814
|
+
ValidValues:
|
815
|
+
'0': Other
|
816
|
+
'1': Home Screen
|
817
|
+
'2': Tuner
|
818
|
+
'3': HDMI
|
819
|
+
'4': Composite Video
|
820
|
+
'5': S Video
|
821
|
+
'6': Component Video
|
822
|
+
'7': DVI
|
823
|
+
'8': Airplay
|
824
|
+
'9': USB
|
825
|
+
'10': Application
|
826
|
+
- :name: :is_configured
|
827
|
+
:description: Is Configured
|
828
|
+
:uuid: 000000D6-0000-1000-8000-0026BB765291
|
829
|
+
:format: uint8
|
830
|
+
:unit: nil
|
831
|
+
:permissions:
|
832
|
+
- securedRead
|
833
|
+
- securedWrite
|
834
|
+
:properties:
|
835
|
+
- read
|
836
|
+
- write
|
837
|
+
- cnotify
|
838
|
+
- uncnotify
|
839
|
+
:constraints:
|
840
|
+
ValidValues:
|
841
|
+
'0': Not Configured
|
842
|
+
'1': Configured
|
629
843
|
- :name: :leak_detected
|
630
844
|
:description: Leak Detected
|
631
845
|
:uuid: 00000070-0000-1000-8000-0026BB765291
|
@@ -678,6 +892,7 @@
|
|
678
892
|
:properties:
|
679
893
|
- read
|
680
894
|
- cnotify
|
895
|
+
- uncnotify
|
681
896
|
:constraints:
|
682
897
|
ValidValues:
|
683
898
|
'0': Secured Physically, Interior
|
@@ -701,6 +916,7 @@
|
|
701
916
|
- read
|
702
917
|
- write
|
703
918
|
- cnotify
|
919
|
+
- uncnotify
|
704
920
|
:constraints:
|
705
921
|
- :name: :lock_physical_controls
|
706
922
|
:description: Lock Physical Controls
|
@@ -714,6 +930,7 @@
|
|
714
930
|
- read
|
715
931
|
- write
|
716
932
|
- cnotify
|
933
|
+
- uncnotify
|
717
934
|
:constraints:
|
718
935
|
ValidValues:
|
719
936
|
'0': Control Lock Disabled
|
@@ -745,6 +962,7 @@
|
|
745
962
|
:properties:
|
746
963
|
- read
|
747
964
|
- cnotify
|
965
|
+
- uncnotify
|
748
966
|
:constraints:
|
749
967
|
- :name: :manufacturer
|
750
968
|
:description: Manufacturer
|
@@ -790,6 +1008,7 @@
|
|
790
1008
|
- read
|
791
1009
|
- write
|
792
1010
|
- cnotify
|
1011
|
+
- uncnotify
|
793
1012
|
:constraints:
|
794
1013
|
- :name: :name
|
795
1014
|
:description: Name
|
@@ -813,6 +1032,7 @@
|
|
813
1032
|
- read
|
814
1033
|
- write
|
815
1034
|
- cnotify
|
1035
|
+
- uncnotify
|
816
1036
|
:constraints:
|
817
1037
|
- :name: :nitrogen_dioxide_density
|
818
1038
|
:description: Nitrogen Dioxide Density
|
@@ -868,6 +1088,7 @@
|
|
868
1088
|
- read
|
869
1089
|
- write
|
870
1090
|
- cnotify
|
1091
|
+
- uncnotify
|
871
1092
|
:constraints:
|
872
1093
|
- :name: :optical_zoom
|
873
1094
|
:description: Optical Zoom
|
@@ -881,6 +1102,7 @@
|
|
881
1102
|
- read
|
882
1103
|
- write
|
883
1104
|
- cnotify
|
1105
|
+
- uncnotify
|
884
1106
|
:constraints:
|
885
1107
|
- :name: :outlet_in_use
|
886
1108
|
:description: Outlet In Use
|
@@ -892,6 +1114,7 @@
|
|
892
1114
|
:properties:
|
893
1115
|
- read
|
894
1116
|
- cnotify
|
1117
|
+
- uncnotify
|
895
1118
|
:constraints:
|
896
1119
|
- :name: :ozone_density
|
897
1120
|
:description: Ozone Density
|
@@ -954,6 +1177,35 @@
|
|
954
1177
|
- read
|
955
1178
|
- write
|
956
1179
|
:constraints:
|
1180
|
+
- :name: :picture_mode
|
1181
|
+
:description: Picture Mode
|
1182
|
+
:uuid: 000000E2-0000-1000-8000-0026BB765291
|
1183
|
+
:format: uint8
|
1184
|
+
:unit: nil
|
1185
|
+
:permissions:
|
1186
|
+
- securedRead
|
1187
|
+
:properties:
|
1188
|
+
- read
|
1189
|
+
- write
|
1190
|
+
- cnotify
|
1191
|
+
:constraints:
|
1192
|
+
MaximumValue: 13
|
1193
|
+
MinimumValue: 0
|
1194
|
+
ValidValues:
|
1195
|
+
'0': Other
|
1196
|
+
'1': Standard
|
1197
|
+
'2': Calibrated
|
1198
|
+
'3': Calibrated Dark
|
1199
|
+
'4': Vivid
|
1200
|
+
'5': Game
|
1201
|
+
'6': Computer
|
1202
|
+
'7': Custom
|
1203
|
+
'8':
|
1204
|
+
'9':
|
1205
|
+
'10':
|
1206
|
+
'11':
|
1207
|
+
'12':
|
1208
|
+
'13':
|
957
1209
|
- :name: :pm10_density
|
958
1210
|
:description: PM10 Density
|
959
1211
|
:uuid: 000000C7-0000-1000-8000-0026BB765291
|
@@ -994,11 +1246,43 @@
|
|
994
1246
|
:properties:
|
995
1247
|
- read
|
996
1248
|
- cnotify
|
1249
|
+
- uncnotify
|
997
1250
|
:constraints:
|
998
1251
|
ValidValues:
|
999
1252
|
'0': Decreasing
|
1000
1253
|
'1': Increasing
|
1001
1254
|
'2': Stopped
|
1255
|
+
- :name: :power_mode_selection
|
1256
|
+
:description: Power Mode Selection
|
1257
|
+
:uuid: 000000DF-0000-1000-8000-0026BB765291
|
1258
|
+
:format: uint8
|
1259
|
+
:unit: nil
|
1260
|
+
:permissions:
|
1261
|
+
- securedRead
|
1262
|
+
:properties:
|
1263
|
+
- write
|
1264
|
+
:constraints:
|
1265
|
+
MaximumValue: 1
|
1266
|
+
MinimumValue: 0
|
1267
|
+
ValidValues:
|
1268
|
+
'0': Show
|
1269
|
+
'1': Hide
|
1270
|
+
- :name: :program_mode
|
1271
|
+
:description: Program Mode
|
1272
|
+
:uuid: 000000D1-0000-1000-8000-0026BB765291
|
1273
|
+
:format: uint8
|
1274
|
+
:unit: nil
|
1275
|
+
:permissions:
|
1276
|
+
- securedRead
|
1277
|
+
:properties:
|
1278
|
+
- read
|
1279
|
+
- cnotify
|
1280
|
+
- uncnotify
|
1281
|
+
:constraints:
|
1282
|
+
ValidValues:
|
1283
|
+
'0': No program scheduled
|
1284
|
+
'1': Program scheduled
|
1285
|
+
'2': Program scheduled (Manual Mode)
|
1002
1286
|
- :name: :programmable_switch_event
|
1003
1287
|
:description: Programmable Switch Event
|
1004
1288
|
:uuid: 00000073-0000-1000-8000-0026BB765291
|
@@ -1009,6 +1293,7 @@
|
|
1009
1293
|
:properties:
|
1010
1294
|
- read
|
1011
1295
|
- cnotify
|
1296
|
+
- uncnotify
|
1012
1297
|
:constraints:
|
1013
1298
|
ValidValues:
|
1014
1299
|
'0': Single Press
|
@@ -1018,7 +1303,7 @@
|
|
1018
1303
|
:description: Relative Humidity Dehumidifier Threshold
|
1019
1304
|
:uuid: 000000C9-0000-1000-8000-0026BB765291
|
1020
1305
|
:format: float
|
1021
|
-
:unit:
|
1306
|
+
:unit: '"percentage"'
|
1022
1307
|
:permissions:
|
1023
1308
|
- securedRead
|
1024
1309
|
- securedWrite
|
@@ -1026,6 +1311,7 @@
|
|
1026
1311
|
- read
|
1027
1312
|
- write
|
1028
1313
|
- cnotify
|
1314
|
+
- uncnotify
|
1029
1315
|
:constraints:
|
1030
1316
|
MaximumValue: 100
|
1031
1317
|
MinimumValue: 0
|
@@ -1034,7 +1320,7 @@
|
|
1034
1320
|
:description: Relative Humidity Humidifier Threshold
|
1035
1321
|
:uuid: 000000CA-0000-1000-8000-0026BB765291
|
1036
1322
|
:format: float
|
1037
|
-
:unit:
|
1323
|
+
:unit: '"percentage"'
|
1038
1324
|
:permissions:
|
1039
1325
|
- securedRead
|
1040
1326
|
- securedWrite
|
@@ -1042,10 +1328,56 @@
|
|
1042
1328
|
- read
|
1043
1329
|
- write
|
1044
1330
|
- cnotify
|
1331
|
+
- uncnotify
|
1045
1332
|
:constraints:
|
1046
1333
|
MaximumValue: 100
|
1047
1334
|
MinimumValue: 0
|
1048
1335
|
StepValue: 1
|
1336
|
+
- :name: :remaining_duration
|
1337
|
+
:description: Remaining Duration
|
1338
|
+
:uuid: 000000D4-0000-1000-8000-0026BB765291
|
1339
|
+
:format: uint32
|
1340
|
+
:unit: nil
|
1341
|
+
:permissions:
|
1342
|
+
- securedRead
|
1343
|
+
:properties:
|
1344
|
+
- read
|
1345
|
+
- cnotify
|
1346
|
+
- uncnotify
|
1347
|
+
:constraints:
|
1348
|
+
MaximumValue: 3600
|
1349
|
+
MinimumValue: 0
|
1350
|
+
StepValue: 1
|
1351
|
+
- :name: :remote_key
|
1352
|
+
:description: Remote Key
|
1353
|
+
:uuid: 000000E1-0000-1000-8000-0026BB765291
|
1354
|
+
:format: uint8
|
1355
|
+
:unit: nil
|
1356
|
+
:permissions:
|
1357
|
+
- securedRead
|
1358
|
+
:properties:
|
1359
|
+
- write
|
1360
|
+
:constraints:
|
1361
|
+
MaximumValue: 16
|
1362
|
+
MinimumValue: 0
|
1363
|
+
ValidValues:
|
1364
|
+
'0': Rewind
|
1365
|
+
'1': Fast Forward
|
1366
|
+
'2': Next Track
|
1367
|
+
'3': Previous Track
|
1368
|
+
'4': Arrow Up
|
1369
|
+
'5': Arrow Down
|
1370
|
+
'6': Arrow Left
|
1371
|
+
'7': Arrow Right
|
1372
|
+
'8': Select
|
1373
|
+
'9': Back
|
1374
|
+
'10': Exit
|
1375
|
+
'11': Play Pause
|
1376
|
+
'12':
|
1377
|
+
'13':
|
1378
|
+
'14':
|
1379
|
+
'15': Information
|
1380
|
+
'16':
|
1049
1381
|
- :name: :reset_filter_indication
|
1050
1382
|
:description: Reset Filter Indication
|
1051
1383
|
:uuid: 000000AD-0000-1000-8000-0026BB765291
|
@@ -1071,6 +1403,7 @@
|
|
1071
1403
|
- read
|
1072
1404
|
- write
|
1073
1405
|
- cnotify
|
1406
|
+
- uncnotify
|
1074
1407
|
:constraints:
|
1075
1408
|
ValidValues:
|
1076
1409
|
'0': Clockwise
|
@@ -1087,6 +1420,7 @@
|
|
1087
1420
|
- read
|
1088
1421
|
- write
|
1089
1422
|
- cnotify
|
1423
|
+
- uncnotify
|
1090
1424
|
:constraints:
|
1091
1425
|
MaximumValue: 100
|
1092
1426
|
MinimumValue: 0
|
@@ -1103,6 +1437,7 @@
|
|
1103
1437
|
- read
|
1104
1438
|
- write
|
1105
1439
|
- cnotify
|
1440
|
+
- uncnotify
|
1106
1441
|
:constraints:
|
1107
1442
|
MaximumValue: 100
|
1108
1443
|
MinimumValue: 0
|
@@ -1117,6 +1452,7 @@
|
|
1117
1452
|
:properties:
|
1118
1453
|
- read
|
1119
1454
|
- cnotify
|
1455
|
+
- uncnotify
|
1120
1456
|
:constraints:
|
1121
1457
|
MaximumValue: 1
|
1122
1458
|
MinimumValue: 0
|
@@ -1151,6 +1487,7 @@
|
|
1151
1487
|
- read
|
1152
1488
|
- write
|
1153
1489
|
- cnotify
|
1490
|
+
- uncnotify
|
1154
1491
|
:constraints:
|
1155
1492
|
ValidValues:
|
1156
1493
|
'0': Stay Arm
|
@@ -1206,6 +1543,23 @@
|
|
1206
1543
|
ValidValues:
|
1207
1544
|
'0': Dots
|
1208
1545
|
'1': Arabic Numerals
|
1546
|
+
- :name: :set_duration
|
1547
|
+
:description: Set Duration
|
1548
|
+
:uuid: 000000D3-0000-1000-8000-0026BB765291
|
1549
|
+
:format: uint32
|
1550
|
+
:unit: nil
|
1551
|
+
:permissions:
|
1552
|
+
- securedRead
|
1553
|
+
- securedWrite
|
1554
|
+
:properties:
|
1555
|
+
- read
|
1556
|
+
- write
|
1557
|
+
- cnotify
|
1558
|
+
- uncnotify
|
1559
|
+
:constraints:
|
1560
|
+
MaximumValue: 3600
|
1561
|
+
MinimumValue: 0
|
1562
|
+
StepValue: 1
|
1209
1563
|
- :name: :setup_endpoints
|
1210
1564
|
:description: Setup Endpoints
|
1211
1565
|
:uuid: '00000118-0000-1000-8000-0026BB765291'
|
@@ -1231,6 +1585,22 @@
|
|
1231
1585
|
ValidValues:
|
1232
1586
|
'0': Horizontal
|
1233
1587
|
'1': Vertical
|
1588
|
+
- :name: :sleep_discovery_mode
|
1589
|
+
:description: Sleep Discovery Mode
|
1590
|
+
:uuid: 000000E8-0000-1000-8000-0026BB765291
|
1591
|
+
:format: uint8
|
1592
|
+
:unit: nil
|
1593
|
+
:permissions:
|
1594
|
+
- securedRead
|
1595
|
+
:properties:
|
1596
|
+
- read
|
1597
|
+
- cnotify
|
1598
|
+
:constraints:
|
1599
|
+
MaximumValue: 1
|
1600
|
+
MinimumValue: 0
|
1601
|
+
ValidValues:
|
1602
|
+
'0': Not Discoverable
|
1603
|
+
'1': Always Discoverable
|
1234
1604
|
- :name: :smoke_detected
|
1235
1605
|
:description: Smoke Detected
|
1236
1606
|
:uuid: 00000076-0000-1000-8000-0026BB765291
|
@@ -1256,6 +1626,7 @@
|
|
1256
1626
|
:properties:
|
1257
1627
|
- read
|
1258
1628
|
- cnotify
|
1629
|
+
- uncnotify
|
1259
1630
|
:constraints:
|
1260
1631
|
- :name: :status_fault
|
1261
1632
|
:description: Status Fault
|
@@ -1327,6 +1698,7 @@
|
|
1327
1698
|
:properties:
|
1328
1699
|
- read
|
1329
1700
|
- cnotify
|
1701
|
+
- uncnotify
|
1330
1702
|
:constraints:
|
1331
1703
|
- :name: :sulphur_dioxide_density
|
1332
1704
|
:description: Sulphur Dioxide Density
|
@@ -1385,6 +1757,7 @@
|
|
1385
1757
|
- read
|
1386
1758
|
- write
|
1387
1759
|
- cnotify
|
1760
|
+
- uncnotify
|
1388
1761
|
:constraints:
|
1389
1762
|
ValidValues:
|
1390
1763
|
'0': Swing Disabled
|
@@ -1401,6 +1774,7 @@
|
|
1401
1774
|
- read
|
1402
1775
|
- write
|
1403
1776
|
- cnotify
|
1777
|
+
- uncnotify
|
1404
1778
|
:constraints:
|
1405
1779
|
ValidValues:
|
1406
1780
|
'0': Manual
|
@@ -1417,6 +1791,7 @@
|
|
1417
1791
|
- read
|
1418
1792
|
- write
|
1419
1793
|
- cnotify
|
1794
|
+
- uncnotify
|
1420
1795
|
:constraints:
|
1421
1796
|
ValidValues:
|
1422
1797
|
'0': Excellent
|
@@ -1434,6 +1809,7 @@
|
|
1434
1809
|
- read
|
1435
1810
|
- write
|
1436
1811
|
- cnotify
|
1812
|
+
- uncnotify
|
1437
1813
|
:constraints:
|
1438
1814
|
ValidValues:
|
1439
1815
|
'0': Open
|
@@ -1450,6 +1826,7 @@
|
|
1450
1826
|
- read
|
1451
1827
|
- write
|
1452
1828
|
- cnotify
|
1829
|
+
- uncnotify
|
1453
1830
|
:constraints:
|
1454
1831
|
ValidValues:
|
1455
1832
|
'0': Manual
|
@@ -1466,6 +1843,7 @@
|
|
1466
1843
|
- read
|
1467
1844
|
- write
|
1468
1845
|
- cnotify
|
1846
|
+
- uncnotify
|
1469
1847
|
:constraints:
|
1470
1848
|
ValidValues:
|
1471
1849
|
'0': Auto
|
@@ -1483,6 +1861,7 @@
|
|
1483
1861
|
- read
|
1484
1862
|
- write
|
1485
1863
|
- cnotify
|
1864
|
+
- uncnotify
|
1486
1865
|
:constraints:
|
1487
1866
|
ValidValues:
|
1488
1867
|
'0': 'Off'
|
@@ -1501,6 +1880,7 @@
|
|
1501
1880
|
- read
|
1502
1881
|
- write
|
1503
1882
|
- cnotify
|
1883
|
+
- uncnotify
|
1504
1884
|
:constraints:
|
1505
1885
|
MaximumValue: 90
|
1506
1886
|
MinimumValue: -90
|
@@ -1517,11 +1897,30 @@
|
|
1517
1897
|
- read
|
1518
1898
|
- write
|
1519
1899
|
- cnotify
|
1900
|
+
- uncnotify
|
1520
1901
|
:constraints:
|
1521
1902
|
ValidValues:
|
1522
1903
|
'0': Humidifier or Dehumidifier
|
1523
1904
|
'1': Humidifier
|
1524
1905
|
'2': Dehumidifier
|
1906
|
+
- :name: :target_media_state
|
1907
|
+
:description: Target Media State
|
1908
|
+
:uuid: 00000137-0000-1000-8000-0026BB765291
|
1909
|
+
:format: uint8
|
1910
|
+
:unit: nil
|
1911
|
+
:permissions:
|
1912
|
+
- securedRead
|
1913
|
+
:properties:
|
1914
|
+
- read
|
1915
|
+
- write
|
1916
|
+
- cnotify
|
1917
|
+
:constraints:
|
1918
|
+
MaximumValue: 2
|
1919
|
+
MinimumValue: 0
|
1920
|
+
ValidValues:
|
1921
|
+
'0': Play
|
1922
|
+
'1': Pause
|
1923
|
+
'2': Stop
|
1525
1924
|
- :name: :target_position
|
1526
1925
|
:description: Target Position
|
1527
1926
|
:uuid: 0000007C-0000-1000-8000-0026BB765291
|
@@ -1534,6 +1933,7 @@
|
|
1534
1933
|
- read
|
1535
1934
|
- write
|
1536
1935
|
- cnotify
|
1936
|
+
- uncnotify
|
1537
1937
|
:constraints:
|
1538
1938
|
MaximumValue: 100
|
1539
1939
|
MinimumValue: 0
|
@@ -1550,6 +1950,7 @@
|
|
1550
1950
|
- read
|
1551
1951
|
- write
|
1552
1952
|
- cnotify
|
1953
|
+
- uncnotify
|
1553
1954
|
:constraints:
|
1554
1955
|
MaximumValue: 100
|
1555
1956
|
MinimumValue: 0
|
@@ -1566,6 +1967,7 @@
|
|
1566
1967
|
- read
|
1567
1968
|
- write
|
1568
1969
|
- cnotify
|
1970
|
+
- uncnotify
|
1569
1971
|
:constraints:
|
1570
1972
|
ValidValues:
|
1571
1973
|
'0': Manual
|
@@ -1582,6 +1984,7 @@
|
|
1582
1984
|
- read
|
1583
1985
|
- write
|
1584
1986
|
- cnotify
|
1987
|
+
- uncnotify
|
1585
1988
|
:constraints:
|
1586
1989
|
MaximumValue: 38
|
1587
1990
|
MinimumValue: 10
|
@@ -1598,6 +2001,7 @@
|
|
1598
2001
|
- read
|
1599
2002
|
- write
|
1600
2003
|
- cnotify
|
2004
|
+
- uncnotify
|
1601
2005
|
:constraints:
|
1602
2006
|
MaximumValue: 90
|
1603
2007
|
MinimumValue: -90
|
@@ -1614,10 +2018,28 @@
|
|
1614
2018
|
- read
|
1615
2019
|
- write
|
1616
2020
|
- cnotify
|
2021
|
+
- uncnotify
|
1617
2022
|
:constraints:
|
1618
2023
|
MaximumValue: 90
|
1619
2024
|
MinimumValue: -90
|
1620
2025
|
StepValue: 1
|
2026
|
+
- :name: :target_visibility_state
|
2027
|
+
:description: Target Visibility State
|
2028
|
+
:uuid: 00000134-0000-1000-8000-0026BB765291
|
2029
|
+
:format: uint8
|
2030
|
+
:unit: nil
|
2031
|
+
:permissions:
|
2032
|
+
- securedRead
|
2033
|
+
:properties:
|
2034
|
+
- read
|
2035
|
+
- write
|
2036
|
+
- cnotify
|
2037
|
+
:constraints:
|
2038
|
+
MaximumValue: 1
|
2039
|
+
MinimumValue: 0
|
2040
|
+
ValidValues:
|
2041
|
+
'0': Shown
|
2042
|
+
'1': Hidden
|
1621
2043
|
- :name: :temperature_display_units
|
1622
2044
|
:description: Temperature Display Units
|
1623
2045
|
:uuid: 00000036-0000-1000-8000-0026BB765291
|
@@ -1630,10 +2052,28 @@
|
|
1630
2052
|
- read
|
1631
2053
|
- write
|
1632
2054
|
- cnotify
|
2055
|
+
- uncnotify
|
1633
2056
|
:constraints:
|
1634
2057
|
ValidValues:
|
1635
2058
|
'0': Celsius
|
1636
2059
|
'1': Fahrenheit
|
2060
|
+
- :name: :valve_type
|
2061
|
+
:description: Valve Type
|
2062
|
+
:uuid: 000000D5-0000-1000-8000-0026BB765291
|
2063
|
+
:format: uint8
|
2064
|
+
:unit: nil
|
2065
|
+
:permissions:
|
2066
|
+
- securedRead
|
2067
|
+
:properties:
|
2068
|
+
- read
|
2069
|
+
- cnotify
|
2070
|
+
- uncnotify
|
2071
|
+
:constraints:
|
2072
|
+
ValidValues:
|
2073
|
+
'0': Generic valve
|
2074
|
+
'1': Irrigation
|
2075
|
+
'2': Shower head
|
2076
|
+
'3': Water faucet
|
1637
2077
|
- :name: :version
|
1638
2078
|
:description: Version
|
1639
2079
|
:uuid: 00000037-0000-1000-8000-0026BB765291
|
@@ -1644,6 +2084,7 @@
|
|
1644
2084
|
:properties:
|
1645
2085
|
- read
|
1646
2086
|
- cnotify
|
2087
|
+
- uncnotify
|
1647
2088
|
:constraints:
|
1648
2089
|
MaximumLength: 64
|
1649
2090
|
- :name: :voc_density
|
@@ -1673,20 +2114,55 @@
|
|
1673
2114
|
- read
|
1674
2115
|
- write
|
1675
2116
|
- cnotify
|
2117
|
+
- uncnotify
|
1676
2118
|
:constraints:
|
1677
2119
|
MaximumValue: 100
|
1678
2120
|
MinimumValue: 0
|
1679
2121
|
StepValue: 1
|
2122
|
+
- :name: :volume_control_type
|
2123
|
+
:description: Volume Control Type
|
2124
|
+
:uuid: 000000E9-0000-1000-8000-0026BB765291
|
2125
|
+
:format: uint8
|
2126
|
+
:unit: nil
|
2127
|
+
:permissions:
|
2128
|
+
- securedRead
|
2129
|
+
:properties:
|
2130
|
+
- read
|
2131
|
+
- cnotify
|
2132
|
+
:constraints:
|
2133
|
+
MaximumValue: 3
|
2134
|
+
MinimumValue: 0
|
2135
|
+
ValidValues:
|
2136
|
+
'0': None
|
2137
|
+
'1': Relative
|
2138
|
+
'2': Relative with Current
|
2139
|
+
'3': Absolute
|
2140
|
+
- :name: :volume_selector
|
2141
|
+
:description: Volume Selector
|
2142
|
+
:uuid: 000000EA-0000-1000-8000-0026BB765291
|
2143
|
+
:format: uint8
|
2144
|
+
:unit: nil
|
2145
|
+
:permissions:
|
2146
|
+
- securedRead
|
2147
|
+
:properties:
|
2148
|
+
- write
|
2149
|
+
:constraints:
|
2150
|
+
MaximumValue: 1
|
2151
|
+
MinimumValue: 0
|
2152
|
+
ValidValues:
|
2153
|
+
'0': Increment
|
2154
|
+
'1': Decrement
|
1680
2155
|
- :name: :water_level
|
1681
2156
|
:description: Water Level
|
1682
2157
|
:uuid: 000000B5-0000-1000-8000-0026BB765291
|
1683
2158
|
:format: float
|
1684
|
-
:unit:
|
2159
|
+
:unit: '"percentage"'
|
1685
2160
|
:permissions:
|
1686
2161
|
- securedRead
|
1687
2162
|
:properties:
|
1688
2163
|
- read
|
1689
2164
|
- cnotify
|
2165
|
+
- uncnotify
|
1690
2166
|
:constraints:
|
1691
2167
|
MaximumValue: 100
|
1692
2168
|
MinimumValue: 0
|