ruby_home 0.2.0 → 0.2.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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
|