ruby_home 0.2.1 → 0.2.6

Sign up to get free protection for your applications and to get access to all the features.
Files changed (106) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/tests.yml +41 -0
  3. data/.gitignore +2 -2
  4. data/.rubocop.yml +2 -9
  5. data/.standard.yml +3 -0
  6. data/CHANGELOG.md +18 -0
  7. data/Gemfile +2 -2
  8. data/README.md +40 -77
  9. data/Rakefile +4 -4
  10. data/examples/air_purifier.rb +66 -0
  11. data/examples/air_quality_sensor.rb +119 -0
  12. data/examples/battery_service.rb +58 -0
  13. data/examples/carbon_dioxide_sensor.rb +78 -0
  14. data/examples/carbon_monoxide_sensor.rb +78 -0
  15. data/examples/contact_sensor.rb +66 -0
  16. data/examples/door.rb +48 -0
  17. data/examples/fan.rb +30 -0
  18. data/examples/fan_v2.rb +68 -0
  19. data/examples/garage_door_opener.rb +71 -0
  20. data/examples/heater_cooler.rb +92 -0
  21. data/examples/humidifier_dehumidifier.rb +88 -0
  22. data/examples/humidity_sensor.rb +62 -0
  23. data/examples/leak_sensor.rb +66 -0
  24. data/examples/light_sensor.rb +64 -0
  25. data/examples/lightbulb.rb +31 -0
  26. data/examples/lock_mechanism.rb +34 -0
  27. data/examples/motion_sensor.rb +66 -0
  28. data/examples/occupancy_sensor.rb +66 -0
  29. data/examples/outlet.rb +29 -0
  30. data/examples/security_system.rb +53 -0
  31. data/examples/smoke_sensor.rb +66 -0
  32. data/examples/switch.rb +16 -0
  33. data/examples/television.rb +73 -0
  34. data/examples/temperature_sensor.rb +62 -0
  35. data/examples/thermostat.rb +113 -0
  36. data/examples/window.rb +48 -0
  37. data/examples/window_covering.rb +72 -0
  38. data/lib/ruby_home.rb +21 -22
  39. data/lib/ruby_home/accessory.rb +1 -1
  40. data/lib/ruby_home/accessory_collection.rb +6 -6
  41. data/lib/ruby_home/accessory_info.rb +18 -18
  42. data/lib/ruby_home/characteristic.rb +13 -7
  43. data/lib/ruby_home/characteristic_collection.rb +13 -13
  44. data/lib/ruby_home/config/categories.yml +39 -0
  45. data/lib/ruby_home/config/characteristics.yml +190 -319
  46. data/lib/ruby_home/config/manual_characteristics.yml +278 -0
  47. data/lib/ruby_home/config/manual_services.yml +45 -0
  48. data/lib/ruby_home/config/services.yml +338 -304
  49. data/lib/ruby_home/configuration.rb +21 -2
  50. data/lib/ruby_home/device_id.rb +3 -3
  51. data/lib/ruby_home/dns/service.rb +4 -6
  52. data/lib/ruby_home/dns/text_record.rb +10 -10
  53. data/lib/ruby_home/errors.rb +1 -0
  54. data/lib/ruby_home/factories/characteristic_factory.rb +38 -37
  55. data/lib/ruby_home/factories/service_factory.rb +72 -72
  56. data/lib/ruby_home/factories/templates/characteristic_template.rb +6 -6
  57. data/lib/ruby_home/factories/templates/service_template.rb +12 -11
  58. data/lib/ruby_home/hap/crypto/chacha20poly1305.rb +2 -2
  59. data/lib/ruby_home/hap/crypto/hkdf.rb +4 -4
  60. data/lib/ruby_home/hap/crypto/session_key.rb +7 -7
  61. data/lib/ruby_home/hap/decrypter.rb +8 -8
  62. data/lib/ruby_home/hap/encrypter.rb +5 -6
  63. data/lib/ruby_home/hap/ev_response.rb +17 -17
  64. data/lib/ruby_home/hap/hap_request.rb +1 -1
  65. data/lib/ruby_home/hap/server.rb +4 -4
  66. data/lib/ruby_home/hap/server_handler.rb +8 -10
  67. data/lib/ruby_home/hap/session.rb +22 -22
  68. data/lib/ruby_home/hap/values/base_value.rb +3 -3
  69. data/lib/ruby_home/hap/values/bool_value.rb +4 -4
  70. data/lib/ruby_home/hap/values/float_value.rb +4 -4
  71. data/lib/ruby_home/hap/values/identify_value.rb +1 -1
  72. data/lib/ruby_home/hap/values/int32_value.rb +4 -4
  73. data/lib/ruby_home/hap/values/null_value.rb +1 -1
  74. data/lib/ruby_home/hap/values/string_value.rb +11 -11
  75. data/lib/ruby_home/hap/values/uint32_value.rb +5 -5
  76. data/lib/ruby_home/hap/values/uint8_value.rb +14 -14
  77. data/lib/ruby_home/hex_helper.rb +3 -3
  78. data/lib/ruby_home/http/application.rb +7 -7
  79. data/lib/ruby_home/http/controllers/accessories_controller.rb +3 -3
  80. data/lib/ruby_home/http/controllers/application_controller.rb +6 -6
  81. data/lib/ruby_home/http/controllers/characteristics_controller.rb +29 -29
  82. data/lib/ruby_home/http/controllers/identify_controller.rb +10 -10
  83. data/lib/ruby_home/http/controllers/pair_setups_controller.rb +19 -19
  84. data/lib/ruby_home/http/controllers/pair_verifies_controller.rb +9 -9
  85. data/lib/ruby_home/http/controllers/pairings_controller.rb +6 -6
  86. data/lib/ruby_home/http/serializers/accessory_serializer.rb +5 -5
  87. data/lib/ruby_home/http/serializers/characteristic_serializer.rb +27 -19
  88. data/lib/ruby_home/http/serializers/characteristic_value_serializer.rb +5 -5
  89. data/lib/ruby_home/http/serializers/object_serializer.rb +1 -1
  90. data/lib/ruby_home/http/serializers/service_serializer.rb +19 -9
  91. data/lib/ruby_home/http/serializers/uuid_helper.rb +2 -2
  92. data/lib/ruby_home/http/services/session_notifier.rb +8 -8
  93. data/lib/ruby_home/http/services/start_srp_service.rb +3 -3
  94. data/lib/ruby_home/http/services/verify_finish_service.rb +22 -22
  95. data/lib/ruby_home/http/services/verify_srp_service.rb +22 -22
  96. data/lib/ruby_home/identifier_cache.rb +4 -5
  97. data/lib/ruby_home/password.rb +14 -14
  98. data/lib/ruby_home/persistable.rb +19 -12
  99. data/lib/ruby_home/service.rb +5 -2
  100. data/lib/ruby_home/service_collection.rb +1 -1
  101. data/lib/ruby_home/version.rb +1 -1
  102. data/rubyhome.gemspec +31 -31
  103. data/sbin/characteristic_generator.rb +22 -24
  104. data/sbin/service_generator.rb +38 -19
  105. metadata +85 -44
  106. data/.travis.yml +0 -31
@@ -0,0 +1,278 @@
1
+ # These characteristics are unavailable within HomeKit Accessory Simulator
2
+ # running sbin/characteristic_generator.rb wont automatically generate them
3
+
4
+ ---
5
+ - :name: :active_identifier
6
+ :description: Active Identifier
7
+ :uuid: 000000E7-0000-1000-8000-0026BB765291
8
+ :format: uint32
9
+ :unit: nil
10
+ :properties:
11
+ - read
12
+ - write
13
+ - cnotify
14
+ :constraints:
15
+ - :name: :closed_captions
16
+ :description: Closed Captions
17
+ :uuid: 000000DD-0000-1000-8000-0026BB765291
18
+ :format: uint8
19
+ :unit: nil
20
+ :properties:
21
+ - read
22
+ - write
23
+ - cnotify
24
+ :constraints:
25
+ MaximumValue: 1
26
+ MinimumValue: 0
27
+ ValidValues:
28
+ '0': Disabled
29
+ '1': Enabled
30
+ - :name: :configured_name
31
+ :description: Configured Name
32
+ :uuid: 000000E3-0000-1000-8000-0026BB765291
33
+ :format: string
34
+ :unit: nil
35
+ :properties:
36
+ - read
37
+ - write
38
+ - cnotify
39
+ :constraints:
40
+ - :name: :current_media_state
41
+ :description: Current Media State
42
+ :uuid: 000000E0-0000-1000-8000-0026BB765291
43
+ :format: uint8
44
+ :unit: nil
45
+ :properties:
46
+ - read
47
+ - cnotify
48
+ :constraints:
49
+ MaximumValue: 5
50
+ MinimumValue: 0
51
+ ValidValues:
52
+ '0': Play
53
+ '1': Pause
54
+ '2': Stop
55
+ '3':
56
+ '4': Loading
57
+ '5': Interrupted
58
+ - :name: :current_visibility_state
59
+ :description: Current Visibility State
60
+ :uuid: 00000135-0000-1000-8000-0026BB765291
61
+ :format: uint8
62
+ :unit: nil
63
+ :properties:
64
+ - read
65
+ - cnotify
66
+ :constraints:
67
+ MaximumValue: 3
68
+ MinimumValue: 0
69
+ ValidValues:
70
+ '0': Shown
71
+ '1': Hidden
72
+ '2':
73
+ '3':
74
+ :constraints:
75
+ - :name: :display_order
76
+ :description: Display Order
77
+ :uuid: 00000136-0000-1000-8000-0026BB765291
78
+ :format: tlv8
79
+ :unit: nil
80
+ :properties:
81
+ - read
82
+ - write
83
+ - cnotify
84
+ :constraints:
85
+ - :name: :identifier
86
+ :description: Identifier
87
+ :uuid: 000000E6-0000-1000-8000-0026BB765291
88
+ :format: uint32
89
+ :unit: nil
90
+ :properties:
91
+ - read
92
+ :constraints:
93
+ MinimumValue: 0
94
+ StepValue: 1
95
+ - :name: :input_device_type
96
+ :description: Input Device Type
97
+ :uuid: 000000DC-0000-1000-8000-0026BB765291
98
+ :format: uint8
99
+ :unit: nil
100
+ :properties:
101
+ - read
102
+ - cnotify
103
+ :constraints:
104
+ MaximumValue: 6
105
+ MinimumValue: 0
106
+ ValidValues:
107
+ '0': Other
108
+ '1': Television
109
+ '2': Recording
110
+ '3': Tuner
111
+ '4': Playback
112
+ '5': Audio System
113
+ '6':
114
+ - :name: :input_source_type
115
+ :description: Input Source Type
116
+ :uuid: 000000DB-0000-1000-8000-0026BB765291
117
+ :format: uint8
118
+ :unit: nil
119
+ :properties:
120
+ - read
121
+ - cnotify
122
+ :constraints:
123
+ MaximumValue: 10
124
+ MinimumValue: 0
125
+ ValidValues:
126
+ '0': Other
127
+ '1': Home Screen
128
+ '2': Tuner
129
+ '3': HDMI
130
+ '4': Composite Video
131
+ '5': S Video
132
+ '6': Component Video
133
+ '7': DVI
134
+ '8': Airplay
135
+ '9': USB
136
+ '10': Application
137
+ - :name: :picture_mode
138
+ :description: Picture Mode
139
+ :uuid: 000000E2-0000-1000-8000-0026BB765291
140
+ :format: uint8
141
+ :unit: nil
142
+ :properties:
143
+ - read
144
+ - write
145
+ - cnotify
146
+ :constraints:
147
+ MaximumValue: 13
148
+ MinimumValue: 0
149
+ ValidValues:
150
+ '0': Other
151
+ '1': Standard
152
+ '2': Calibrated
153
+ '3': Calibrated Dark
154
+ '4': Vivid
155
+ '5': Game
156
+ '6': Computer
157
+ '7': Custom
158
+ '8':
159
+ '9':
160
+ '10':
161
+ '11':
162
+ '12':
163
+ '13':
164
+ - :name: :power_mode_selection
165
+ :description: Power Mode Selection
166
+ :uuid: 000000DF-0000-1000-8000-0026BB765291
167
+ :format: uint8
168
+ :unit: nil
169
+ :properties:
170
+ - write
171
+ :constraints:
172
+ MaximumValue: 1
173
+ MinimumValue: 0
174
+ ValidValues:
175
+ '0': Show
176
+ '1': Hide
177
+ - :name: :remote_key
178
+ :description: Remote Key
179
+ :uuid: 000000E1-0000-1000-8000-0026BB765291
180
+ :format: uint8
181
+ :unit: nil
182
+ :properties:
183
+ - write
184
+ :constraints:
185
+ MaximumValue: 16
186
+ MinimumValue: 0
187
+ ValidValues:
188
+ '0': Rewind
189
+ '1': Fast Forward
190
+ '2': Next Track
191
+ '3': Previous Track
192
+ '4': Arrow Up
193
+ '5': Arrow Down
194
+ '6': Arrow Left
195
+ '7': Arrow Right
196
+ '8': Select
197
+ '9': Back
198
+ '10': Exit
199
+ '11': Play Pause
200
+ '12':
201
+ '13':
202
+ '14':
203
+ '15': Information
204
+ '16':
205
+ - :name: :sleep_discovery_mode
206
+ :description: Sleep Discovery Mode
207
+ :uuid: 000000E8-0000-1000-8000-0026BB765291
208
+ :format: uint8
209
+ :unit: nil
210
+ :properties:
211
+ - read
212
+ - cnotify
213
+ :constraints:
214
+ MaximumValue: 1
215
+ MinimumValue: 0
216
+ ValidValues:
217
+ '0': Not Discoverable
218
+ '1': Always Discoverable
219
+ - :name: :target_media_state
220
+ :description: Target Media State
221
+ :uuid: 00000137-0000-1000-8000-0026BB765291
222
+ :format: uint8
223
+ :unit: nil
224
+ :properties:
225
+ - read
226
+ - write
227
+ - cnotify
228
+ :constraints:
229
+ MaximumValue: 2
230
+ MinimumValue: 0
231
+ ValidValues:
232
+ '0': Play
233
+ '1': Pause
234
+ '2': Stop
235
+ - :name: :target_visibility_state
236
+ :description: Target Visibility State
237
+ :uuid: 00000134-0000-1000-8000-0026BB765291
238
+ :format: uint8
239
+ :unit: nil
240
+ :properties:
241
+ - read
242
+ - write
243
+ - cnotify
244
+ :constraints:
245
+ MaximumValue: 1
246
+ MinimumValue: 0
247
+ ValidValues:
248
+ '0': Shown
249
+ '1': Hidden
250
+ - :name: :volume_control_type
251
+ :description: Volume Control Type
252
+ :uuid: 000000E9-0000-1000-8000-0026BB765291
253
+ :format: uint8
254
+ :unit: nil
255
+ :properties:
256
+ - read
257
+ - cnotify
258
+ :constraints:
259
+ MaximumValue: 3
260
+ MinimumValue: 0
261
+ ValidValues:
262
+ '0': None
263
+ '1': Relative
264
+ '2': Relative with Current
265
+ '3': Absolute
266
+ - :name: :volume_selector
267
+ :description: Volume Selector
268
+ :uuid: 000000EA-0000-1000-8000-0026BB765291
269
+ :format: uint8
270
+ :unit: nil
271
+ :properties:
272
+ - write
273
+ :constraints:
274
+ MaximumValue: 1
275
+ MinimumValue: 0
276
+ ValidValues:
277
+ '0': Increment
278
+ '1': Decrement
@@ -0,0 +1,45 @@
1
+ # These services are unavailable within HomeKit Accessory Simulator
2
+ # running sbin/service_generator.rb wont automatically generate them
3
+
4
+ ---
5
+ - :name: :television
6
+ :description: Television
7
+ :uuid: '000000D8-0000-1000-8000-0026BB765291'
8
+ :optional_characteristic_names:
9
+ - :brightness
10
+ - :closed_captions
11
+ - :current_media_state
12
+ - :display_order
13
+ - :name
14
+ - :picture_mode
15
+ - :power_mode_selection
16
+ - :target_media_state
17
+ :required_characteristic_names:
18
+ - :active
19
+ - :active_identifier
20
+ - :configured_name
21
+ - :remote_key
22
+ - :sleep_discovery_mode
23
+ - :name: :television_speaker
24
+ :description: Television Speaker
25
+ :uuid: 00000113-0000-1000-8000-0026BB765291
26
+ :optional_characteristic_names:
27
+ - :active
28
+ - :volume
29
+ - :volume_control_type
30
+ - :volume_selector
31
+ :required_characteristic_names:
32
+ - :mute
33
+ - :name: :input_source
34
+ :description: Input Source
35
+ :uuid: 000000D9-0000-1000-8000-0026BB765291
36
+ :optional_characteristic_names:
37
+ - :identifier
38
+ - :input_device_type
39
+ - :target_visibility_state
40
+ :required_characteristic_names:
41
+ - :configured_name
42
+ - :current_visibility_state
43
+ - :input_source_type
44
+ - :is_configured
45
+ - :name
@@ -2,415 +2,449 @@
2
2
  - :name: :accessory_information
3
3
  :description: Accessory Information
4
4
  :uuid: 0000003E-0000-1000-8000-0026BB765291
5
- :optional_characteristics_uuids:
6
- - 00000053-0000-1000-8000-0026BB765291
7
- - 000000A6-0000-1000-8000-0026BB765291
8
- :required_characteristics_uuids:
9
- - 00000014-0000-1000-8000-0026BB765291
10
- - 00000020-0000-1000-8000-0026BB765291
11
- - 00000021-0000-1000-8000-0026BB765291
12
- - 00000023-0000-1000-8000-0026BB765291
13
- - 00000030-0000-1000-8000-0026BB765291
14
- - 00000052-0000-1000-8000-0026BB765291
5
+ :optional_characteristic_names:
6
+ - :accessory_flags
7
+ - :hardware_revision
8
+ :required_characteristic_names:
9
+ - :firmware_revision
10
+ - :identify
11
+ - :manufacturer
12
+ - :model
13
+ - :name
14
+ - :serial_number
15
15
  - :name: :air_purifier
16
16
  :description: Air Purifier
17
17
  :uuid: 000000BB-0000-1000-8000-0026BB765291
18
- :optional_characteristics_uuids:
19
- - 000000A7-0000-1000-8000-0026BB765291
20
- - 00000023-0000-1000-8000-0026BB765291
21
- - 000000B6-0000-1000-8000-0026BB765291
22
- - '00000029-0000-1000-8000-0026BB765291'
23
- :required_characteristics_uuids:
24
- - 000000B0-0000-1000-8000-0026BB765291
25
- - 000000A9-0000-1000-8000-0026BB765291
26
- - 000000A8-0000-1000-8000-0026BB765291
18
+ :optional_characteristic_names:
19
+ - :lock_physical_controls
20
+ - :name
21
+ - :rotation_speed
22
+ - :swing_mode
23
+ :required_characteristic_names:
24
+ - :active
25
+ - :current_air_purifier_state
26
+ - :target_air_purifier_state
27
27
  - :name: :air_quality_sensor
28
28
  :description: Air Quality Sensor
29
29
  :uuid: '0000008D-0000-1000-8000-0026BB765291'
30
- :optional_characteristics_uuids:
31
- - 00000075-0000-1000-8000-0026BB765291
32
- - 00000077-0000-1000-8000-0026BB765291
33
- - 0000007A-0000-1000-8000-0026BB765291
34
- - '00000079-0000-1000-8000-0026BB765291'
35
- - 00000023-0000-1000-8000-0026BB765291
36
- - 000000C3-0000-1000-8000-0026BB765291
37
- - 000000C4-0000-1000-8000-0026BB765291
38
- - 000000C5-0000-1000-8000-0026BB765291
39
- - 000000C6-0000-1000-8000-0026BB765291
40
- - 000000C7-0000-1000-8000-0026BB765291
41
- - 000000C8-0000-1000-8000-0026BB765291
42
- - '00000090-0000-1000-8000-0026BB765291'
43
- - '00000093-0000-1000-8000-0026BB765291'
44
- :required_characteristics_uuids:
45
- - '00000095-0000-1000-8000-0026BB765291'
30
+ :optional_characteristic_names:
31
+ - :carbon_dioxide_level
32
+ - :carbon_monoxide_level
33
+ - :name
34
+ - :nitrogen_dioxide_density
35
+ - :ozone_density
36
+ - :pm10_density
37
+ - :pm2_5_density
38
+ - :status_active
39
+ - :status_fault
40
+ - :status_low_battery
41
+ - :status_tampered
42
+ - :sulphur_dioxide_density
43
+ - :voc_density
44
+ :required_characteristic_names:
45
+ - :air_quality
46
46
  - :name: :battery_service
47
47
  :description: Battery Service
48
48
  :uuid: '00000096-0000-1000-8000-0026BB765291'
49
- :optional_characteristics_uuids:
50
- - 00000023-0000-1000-8000-0026BB765291
51
- :required_characteristics_uuids:
52
- - '00000068-0000-1000-8000-0026BB765291'
53
- - '0000008F-0000-1000-8000-0026BB765291'
54
- - '00000079-0000-1000-8000-0026BB765291'
49
+ :optional_characteristic_names:
50
+ - :name
51
+ :required_characteristic_names:
52
+ - :battery_level
53
+ - :charging_state
54
+ - :status_low_battery
55
55
  - :name: :camera_rtp_stream_management
56
56
  :description: Camera RTP Stream Management
57
57
  :uuid: 00000110-0000-1000-8000-0026BB765291
58
- :optional_characteristics_uuids:
59
- - 00000023-0000-1000-8000-0026BB765291
60
- :required_characteristics_uuids:
61
- - 00000114-0000-1000-8000-0026BB765291
62
- - 00000115-0000-1000-8000-0026BB765291
63
- - 00000116-0000-1000-8000-0026BB765291
64
- - 00000117-0000-1000-8000-0026BB765291
65
- - 00000120-0000-1000-8000-0026BB765291
66
- - '00000118-0000-1000-8000-0026BB765291'
58
+ :optional_characteristic_names:
59
+ - :name
60
+ :required_characteristic_names:
61
+ - :selected_rtp_stream_configuration
62
+ - :setup_endpoints
63
+ - :streaming_status
64
+ - :supported_audio_stream_configuration
65
+ - :supported_rtp_configuration
66
+ - :supported_video_stream_configuration
67
67
  - :name: :carbon_dioxide_sensor
68
68
  :description: Carbon Dioxide Sensor
69
69
  :uuid: '00000097-0000-1000-8000-0026BB765291'
70
- :optional_characteristics_uuids:
71
- - 00000075-0000-1000-8000-0026BB765291
72
- - 00000077-0000-1000-8000-0026BB765291
73
- - '00000079-0000-1000-8000-0026BB765291'
74
- - 0000007A-0000-1000-8000-0026BB765291
75
- - '00000093-0000-1000-8000-0026BB765291'
76
- - '00000094-0000-1000-8000-0026BB765291'
77
- - 00000023-0000-1000-8000-0026BB765291
78
- :required_characteristics_uuids:
79
- - '00000092-0000-1000-8000-0026BB765291'
70
+ :optional_characteristic_names:
71
+ - :carbon_dioxide_level
72
+ - :carbon_dioxide_peak_level
73
+ - :name
74
+ - :status_active
75
+ - :status_fault
76
+ - :status_low_battery
77
+ - :status_tampered
78
+ :required_characteristic_names:
79
+ - :carbon_dioxide_detected
80
80
  - :name: :carbon_monoxide_sensor
81
81
  :description: Carbon Monoxide Sensor
82
82
  :uuid: 0000007F-0000-1000-8000-0026BB765291
83
- :optional_characteristics_uuids:
84
- - 00000075-0000-1000-8000-0026BB765291
85
- - 00000077-0000-1000-8000-0026BB765291
86
- - '00000079-0000-1000-8000-0026BB765291'
87
- - 0000007A-0000-1000-8000-0026BB765291
88
- - '00000090-0000-1000-8000-0026BB765291'
89
- - '00000091-0000-1000-8000-0026BB765291'
90
- - 00000023-0000-1000-8000-0026BB765291
91
- :required_characteristics_uuids:
92
- - '00000069-0000-1000-8000-0026BB765291'
83
+ :optional_characteristic_names:
84
+ - :carbon_monoxide_level
85
+ - :carbon_monoxide_peak_level
86
+ - :name
87
+ - :status_active
88
+ - :status_fault
89
+ - :status_low_battery
90
+ - :status_tampered
91
+ :required_characteristic_names:
92
+ - :carbon_monoxide_detected
93
93
  - :name: :contact_sensor
94
94
  :description: Contact Sensor
95
95
  :uuid: '00000080-0000-1000-8000-0026BB765291'
96
- :optional_characteristics_uuids:
97
- - 00000075-0000-1000-8000-0026BB765291
98
- - 00000077-0000-1000-8000-0026BB765291
99
- - 0000007A-0000-1000-8000-0026BB765291
100
- - '00000079-0000-1000-8000-0026BB765291'
101
- - 00000023-0000-1000-8000-0026BB765291
102
- :required_characteristics_uuids:
103
- - 0000006A-0000-1000-8000-0026BB765291
96
+ :optional_characteristic_names:
97
+ - :name
98
+ - :status_active
99
+ - :status_fault
100
+ - :status_low_battery
101
+ - :status_tampered
102
+ :required_characteristic_names:
103
+ - :contact_sensor_state
104
104
  - :name: :door
105
105
  :description: Door
106
106
  :uuid: '00000081-0000-1000-8000-0026BB765291'
107
- :optional_characteristics_uuids:
108
- - 0000006F-0000-1000-8000-0026BB765291
109
- - 00000024-0000-1000-8000-0026BB765291
110
- - 00000023-0000-1000-8000-0026BB765291
111
- :required_characteristics_uuids:
112
- - 0000006D-0000-1000-8000-0026BB765291
113
- - 00000072-0000-1000-8000-0026BB765291
114
- - 0000007C-0000-1000-8000-0026BB765291
107
+ :optional_characteristic_names:
108
+ - :hold_position
109
+ - :name
110
+ - :obstruction_detected
111
+ :required_characteristic_names:
112
+ - :current_position
113
+ - :position_state
114
+ - :target_position
115
115
  - :name: :doorbell
116
116
  :description: Doorbell
117
117
  :uuid: 00000121-0000-1000-8000-0026BB765291
118
- :optional_characteristics_uuids:
119
- - '00000008-0000-1000-8000-0026BB765291'
120
- - '00000119-0000-1000-8000-0026BB765291'
121
- - 00000023-0000-1000-8000-0026BB765291
122
- :required_characteristics_uuids:
123
- - 00000073-0000-1000-8000-0026BB765291
118
+ :optional_characteristic_names:
119
+ - :brightness
120
+ - :name
121
+ - :volume
122
+ :required_characteristic_names:
123
+ - :programmable_switch_event
124
124
  - :name: :fan
125
125
  :description: Fan
126
126
  :uuid: 00000040-0000-1000-8000-0026BB765291
127
- :optional_characteristics_uuids:
128
- - '00000028-0000-1000-8000-0026BB765291'
129
- - '00000029-0000-1000-8000-0026BB765291'
130
- - 00000023-0000-1000-8000-0026BB765291
131
- :required_characteristics_uuids:
132
- - 00000025-0000-1000-8000-0026BB765291
127
+ :optional_characteristic_names:
128
+ - :name
129
+ - :rotation_direction
130
+ - :rotation_speed
131
+ :required_characteristic_names:
132
+ - :on
133
133
  - :name: :fan_v2
134
134
  :description: Fan v2
135
135
  :uuid: 000000B7-0000-1000-8000-0026BB765291
136
- :optional_characteristics_uuids:
137
- - 000000AF-0000-1000-8000-0026BB765291
138
- - 000000BF-0000-1000-8000-0026BB765291
139
- - 000000A7-0000-1000-8000-0026BB765291
140
- - 00000023-0000-1000-8000-0026BB765291
141
- - '00000028-0000-1000-8000-0026BB765291'
142
- - '00000029-0000-1000-8000-0026BB765291'
143
- - 000000B6-0000-1000-8000-0026BB765291
144
- :required_characteristics_uuids:
145
- - 000000B0-0000-1000-8000-0026BB765291
136
+ :optional_characteristic_names:
137
+ - :current_fan_state
138
+ - :lock_physical_controls
139
+ - :name
140
+ - :rotation_direction
141
+ - :rotation_speed
142
+ - :swing_mode
143
+ - :target_fan_state
144
+ :required_characteristic_names:
145
+ - :active
146
146
  - :name: :filter_maintenance
147
147
  :description: Filter Maintenance
148
148
  :uuid: 000000BA-0000-1000-8000-0026BB765291
149
- :optional_characteristics_uuids:
150
- - 000000AB-0000-1000-8000-0026BB765291
151
- - 000000AD-0000-1000-8000-0026BB765291
152
- - 00000023-0000-1000-8000-0026BB765291
153
- :required_characteristics_uuids:
154
- - 000000AC-0000-1000-8000-0026BB765291
149
+ :optional_characteristic_names:
150
+ - :filter_life_level
151
+ - :name
152
+ - :reset_filter_indication
153
+ :required_characteristic_names:
154
+ - :filter_change_indication
155
+ - :name: :faucet
156
+ :description: Faucet
157
+ :uuid: 000000D7-0000-1000-8000-0026BB765291
158
+ :optional_characteristic_names:
159
+ - :name
160
+ - :status_fault
161
+ :required_characteristic_names:
162
+ - :active
155
163
  - :name: :garage_door_opener
156
164
  :description: Garage Door Opener
157
165
  :uuid: 00000041-0000-1000-8000-0026BB765291
158
- :optional_characteristics_uuids:
159
- - 0000001D-0000-1000-8000-0026BB765291
160
- - 0000001E-0000-1000-8000-0026BB765291
161
- - 00000023-0000-1000-8000-0026BB765291
162
- :required_characteristics_uuids:
163
- - 0000000E-0000-1000-8000-0026BB765291
164
- - 00000032-0000-1000-8000-0026BB765291
165
- - 00000024-0000-1000-8000-0026BB765291
166
+ :optional_characteristic_names:
167
+ - :lock_current_state
168
+ - :lock_target_state
169
+ - :name
170
+ :required_characteristic_names:
171
+ - :current_door_state
172
+ - :obstruction_detected
173
+ - :target_door_state
166
174
  - :name: :heater_cooler
167
175
  :description: Heater Cooler
168
176
  :uuid: 000000BC-0000-1000-8000-0026BB765291
169
- :optional_characteristics_uuids:
170
- - 000000A7-0000-1000-8000-0026BB765291
171
- - 00000023-0000-1000-8000-0026BB765291
172
- - 000000B6-0000-1000-8000-0026BB765291
173
- - 0000000D-0000-1000-8000-0026BB765291
174
- - 00000012-0000-1000-8000-0026BB765291
175
- - 00000036-0000-1000-8000-0026BB765291
176
- - '00000029-0000-1000-8000-0026BB765291'
177
- :required_characteristics_uuids:
178
- - 000000B0-0000-1000-8000-0026BB765291
179
- - 000000B1-0000-1000-8000-0026BB765291
180
- - 000000B2-0000-1000-8000-0026BB765291
181
- - 00000011-0000-1000-8000-0026BB765291
177
+ :optional_characteristic_names:
178
+ - :cooling_threshold_temperature
179
+ - :heating_threshold_temperature
180
+ - :lock_physical_controls
181
+ - :name
182
+ - :rotation_speed
183
+ - :swing_mode
184
+ - :temperature_display_units
185
+ :required_characteristic_names:
186
+ - :active
187
+ - :current_heater_cooler_state
188
+ - :current_temperature
189
+ - :target_heater_cooler_state
182
190
  - :name: :humidifier_dehumidifier
183
191
  :description: Humidifier Dehumidifier
184
192
  :uuid: 000000BD-0000-1000-8000-0026BB765291
185
- :optional_characteristics_uuids:
186
- - 000000A7-0000-1000-8000-0026BB765291
187
- - 00000023-0000-1000-8000-0026BB765291
188
- - 000000B6-0000-1000-8000-0026BB765291
189
- - 000000B5-0000-1000-8000-0026BB765291
190
- - 000000C9-0000-1000-8000-0026BB765291
191
- - 000000CA-0000-1000-8000-0026BB765291
192
- - '00000029-0000-1000-8000-0026BB765291'
193
- :required_characteristics_uuids:
194
- - 00000010-0000-1000-8000-0026BB765291
195
- - 000000B3-0000-1000-8000-0026BB765291
196
- - 000000B4-0000-1000-8000-0026BB765291
197
- - 000000B0-0000-1000-8000-0026BB765291
193
+ :optional_characteristic_names:
194
+ - :lock_physical_controls
195
+ - :name
196
+ - :relative_humidity_dehumidifier_threshold
197
+ - :relative_humidity_humidifier_threshold
198
+ - :rotation_speed
199
+ - :swing_mode
200
+ - :water_level
201
+ :required_characteristic_names:
202
+ - :active
203
+ - :current_humidifier_dehumidifier_state
204
+ - :current_relative_humidity
205
+ - :target_humidifier_dehumidifier_state
198
206
  - :name: :humidity_sensor
199
207
  :description: Humidity Sensor
200
208
  :uuid: '00000082-0000-1000-8000-0026BB765291'
201
- :optional_characteristics_uuids:
202
- - 00000075-0000-1000-8000-0026BB765291
203
- - 00000077-0000-1000-8000-0026BB765291
204
- - 0000007A-0000-1000-8000-0026BB765291
205
- - '00000079-0000-1000-8000-0026BB765291'
206
- - 00000023-0000-1000-8000-0026BB765291
207
- :required_characteristics_uuids:
208
- - 00000010-0000-1000-8000-0026BB765291
209
+ :optional_characteristic_names:
210
+ - :name
211
+ - :status_active
212
+ - :status_fault
213
+ - :status_low_battery
214
+ - :status_tampered
215
+ :required_characteristic_names:
216
+ - :current_relative_humidity
217
+ - :name: :irrigation_system
218
+ :description: Irrigation System
219
+ :uuid: 000000CF-0000-1000-8000-0026BB765291
220
+ :optional_characteristic_names:
221
+ - :name
222
+ - :remaining_duration
223
+ - :status_fault
224
+ :required_characteristic_names:
225
+ - :active
226
+ - :in_use
227
+ - :program_mode
209
228
  - :name: :leak_sensor
210
229
  :description: Leak Sensor
211
230
  :uuid: '00000083-0000-1000-8000-0026BB765291'
212
- :optional_characteristics_uuids:
213
- - 00000075-0000-1000-8000-0026BB765291
214
- - 00000077-0000-1000-8000-0026BB765291
215
- - 0000007A-0000-1000-8000-0026BB765291
216
- - '00000079-0000-1000-8000-0026BB765291'
217
- - 00000023-0000-1000-8000-0026BB765291
218
- :required_characteristics_uuids:
219
- - 00000070-0000-1000-8000-0026BB765291
231
+ :optional_characteristic_names:
232
+ - :name
233
+ - :status_active
234
+ - :status_fault
235
+ - :status_low_battery
236
+ - :status_tampered
237
+ :required_characteristic_names:
238
+ - :leak_detected
220
239
  - :name: :light_sensor
221
240
  :description: Light Sensor
222
241
  :uuid: '00000084-0000-1000-8000-0026BB765291'
223
- :optional_characteristics_uuids:
224
- - 00000075-0000-1000-8000-0026BB765291
225
- - 00000077-0000-1000-8000-0026BB765291
226
- - 0000007A-0000-1000-8000-0026BB765291
227
- - '00000079-0000-1000-8000-0026BB765291'
228
- - 00000023-0000-1000-8000-0026BB765291
229
- :required_characteristics_uuids:
230
- - 0000006B-0000-1000-8000-0026BB765291
242
+ :optional_characteristic_names:
243
+ - :name
244
+ - :status_active
245
+ - :status_fault
246
+ - :status_low_battery
247
+ - :status_tampered
248
+ :required_characteristic_names:
249
+ - :current_ambient_light_level
231
250
  - :name: :lightbulb
232
251
  :description: Lightbulb
233
252
  :uuid: 00000043-0000-1000-8000-0026BB765291
234
- :optional_characteristics_uuids:
235
- - '00000008-0000-1000-8000-0026BB765291'
236
- - 00000013-0000-1000-8000-0026BB765291
237
- - 0000002F-0000-1000-8000-0026BB765291
238
- - 00000023-0000-1000-8000-0026BB765291
239
- :required_characteristics_uuids:
240
- - 00000025-0000-1000-8000-0026BB765291
253
+ :optional_characteristic_names:
254
+ - :brightness
255
+ - :color_temperature
256
+ - :hue
257
+ - :name
258
+ - :saturation
259
+ :required_characteristic_names:
260
+ - :on
241
261
  - :name: :lock_management
242
262
  :description: Lock Management
243
263
  :uuid: 00000044-0000-1000-8000-0026BB765291
244
- :optional_characteristics_uuids:
245
- - 0000001F-0000-1000-8000-0026BB765291
246
- - 00000005-0000-1000-8000-0026BB765291
247
- - 0000001A-0000-1000-8000-0026BB765291
248
- - 00000001-0000-1000-8000-0026BB765291
249
- - 0000001C-0000-1000-8000-0026BB765291
250
- - 0000000E-0000-1000-8000-0026BB765291
251
- - 00000022-0000-1000-8000-0026BB765291
252
- - 00000023-0000-1000-8000-0026BB765291
253
- :required_characteristics_uuids:
254
- - '00000019-0000-1000-8000-0026BB765291'
255
- - 00000037-0000-1000-8000-0026BB765291
264
+ :optional_characteristic_names:
265
+ - :administrator_only_access
266
+ - :audio_feedback
267
+ - :current_door_state
268
+ - :lock_last_known_action
269
+ - :lock_management_auto_security_timeout
270
+ - :logs
271
+ - :motion_detected
272
+ - :name
273
+ :required_characteristic_names:
274
+ - :lock_control_point
275
+ - :version
256
276
  - :name: :lock_mechanism
257
277
  :description: Lock Mechanism
258
278
  :uuid: 00000045-0000-1000-8000-0026BB765291
259
- :optional_characteristics_uuids:
260
- - 00000023-0000-1000-8000-0026BB765291
261
- :required_characteristics_uuids:
262
- - 0000001D-0000-1000-8000-0026BB765291
263
- - 0000001E-0000-1000-8000-0026BB765291
279
+ :optional_characteristic_names:
280
+ - :name
281
+ :required_characteristic_names:
282
+ - :lock_current_state
283
+ - :lock_target_state
264
284
  - :name: :microphone
265
285
  :description: Microphone
266
286
  :uuid: 00000112-0000-1000-8000-0026BB765291
267
- :optional_characteristics_uuids:
268
- - '00000119-0000-1000-8000-0026BB765291'
269
- - 00000023-0000-1000-8000-0026BB765291
270
- :required_characteristics_uuids:
271
- - 0000011A-0000-1000-8000-0026BB765291
287
+ :optional_characteristic_names:
288
+ - :name
289
+ :required_characteristic_names:
290
+ - :mute
291
+ - :volume
272
292
  - :name: :motion_sensor
273
293
  :description: Motion Sensor
274
294
  :uuid: '00000085-0000-1000-8000-0026BB765291'
275
- :optional_characteristics_uuids:
276
- - 00000075-0000-1000-8000-0026BB765291
277
- - 00000077-0000-1000-8000-0026BB765291
278
- - 0000007A-0000-1000-8000-0026BB765291
279
- - '00000079-0000-1000-8000-0026BB765291'
280
- - 00000023-0000-1000-8000-0026BB765291
281
- :required_characteristics_uuids:
282
- - 00000022-0000-1000-8000-0026BB765291
295
+ :optional_characteristic_names:
296
+ - :name
297
+ - :status_active
298
+ - :status_fault
299
+ - :status_low_battery
300
+ - :status_tampered
301
+ :required_characteristic_names:
302
+ - :motion_detected
283
303
  - :name: :occupancy_sensor
284
304
  :description: Occupancy Sensor
285
305
  :uuid: '00000086-0000-1000-8000-0026BB765291'
286
- :optional_characteristics_uuids:
287
- - 00000075-0000-1000-8000-0026BB765291
288
- - 00000077-0000-1000-8000-0026BB765291
289
- - 0000007A-0000-1000-8000-0026BB765291
290
- - '00000079-0000-1000-8000-0026BB765291'
291
- - 00000023-0000-1000-8000-0026BB765291
292
- :required_characteristics_uuids:
293
- - 00000071-0000-1000-8000-0026BB765291
306
+ :optional_characteristic_names:
307
+ - :name
308
+ - :status_active
309
+ - :status_fault
310
+ - :status_low_battery
311
+ - :status_tampered
312
+ :required_characteristic_names:
313
+ - :occupancy_detected
294
314
  - :name: :outlet
295
315
  :description: Outlet
296
316
  :uuid: 00000047-0000-1000-8000-0026BB765291
297
- :optional_characteristics_uuids:
298
- - 00000023-0000-1000-8000-0026BB765291
299
- :required_characteristics_uuids:
300
- - 00000025-0000-1000-8000-0026BB765291
301
- - 00000026-0000-1000-8000-0026BB765291
317
+ :optional_characteristic_names:
318
+ - :name
319
+ :required_characteristic_names:
320
+ - :on
321
+ - :outlet_in_use
302
322
  - :name: :security_system
303
323
  :description: Security System
304
324
  :uuid: 0000007E-0000-1000-8000-0026BB765291
305
- :optional_characteristics_uuids:
306
- - 00000077-0000-1000-8000-0026BB765291
307
- - 0000007A-0000-1000-8000-0026BB765291
308
- - '0000008E-0000-1000-8000-0026BB765291'
309
- - 00000023-0000-1000-8000-0026BB765291
310
- :required_characteristics_uuids:
311
- - 00000066-0000-1000-8000-0026BB765291
312
- - 00000067-0000-1000-8000-0026BB765291
325
+ :optional_characteristic_names:
326
+ - :name
327
+ - :security_system_alarm_type
328
+ - :status_fault
329
+ - :status_tampered
330
+ :required_characteristic_names:
331
+ - :security_system_current_state
332
+ - :security_system_target_state
313
333
  - :name: :service_label
314
334
  :description: Service Label
315
335
  :uuid: 000000CC-0000-1000-8000-0026BB765291
316
- :optional_characteristics_uuids:
317
- - 00000023-0000-1000-8000-0026BB765291
318
- :required_characteristics_uuids:
319
- - 000000CD-0000-1000-8000-0026BB765291
336
+ :optional_characteristic_names:
337
+ - :name
338
+ :required_characteristic_names:
339
+ - :service_label_namespace
320
340
  - :name: :slat
321
341
  :description: Slat
322
342
  :uuid: 000000B9-0000-1000-8000-0026BB765291
323
- :optional_characteristics_uuids:
324
- - 00000023-0000-1000-8000-0026BB765291
325
- - 000000C1-0000-1000-8000-0026BB765291
326
- - 000000C2-0000-1000-8000-0026BB765291
327
- - 000000B6-0000-1000-8000-0026BB765291
328
- :required_characteristics_uuids:
329
- - 000000C0-0000-1000-8000-0026BB765291
330
- - 000000AA-0000-1000-8000-0026BB765291
343
+ :optional_characteristic_names:
344
+ - :current_tilt_angle
345
+ - :name
346
+ - :swing_mode
347
+ - :target_tilt_angle
348
+ :required_characteristic_names:
349
+ - :current_slat_state
350
+ - :slat_type
331
351
  - :name: :smoke_sensor
332
352
  :description: Smoke Sensor
333
353
  :uuid: '00000087-0000-1000-8000-0026BB765291'
334
- :optional_characteristics_uuids:
335
- - 00000075-0000-1000-8000-0026BB765291
336
- - 00000077-0000-1000-8000-0026BB765291
337
- - 0000007A-0000-1000-8000-0026BB765291
338
- - '00000079-0000-1000-8000-0026BB765291'
339
- - 00000023-0000-1000-8000-0026BB765291
340
- :required_characteristics_uuids:
341
- - 00000076-0000-1000-8000-0026BB765291
354
+ :optional_characteristic_names:
355
+ - :name
356
+ - :status_active
357
+ - :status_fault
358
+ - :status_low_battery
359
+ - :status_tampered
360
+ :required_characteristic_names:
361
+ - :smoke_detected
342
362
  - :name: :speaker
343
363
  :description: Speaker
344
364
  :uuid: 00000113-0000-1000-8000-0026BB765291
345
- :optional_characteristics_uuids:
346
- - '00000119-0000-1000-8000-0026BB765291'
347
- - 00000023-0000-1000-8000-0026BB765291
348
- :required_characteristics_uuids:
349
- - 0000011A-0000-1000-8000-0026BB765291
365
+ :optional_characteristic_names:
366
+ - :name
367
+ - :volume
368
+ :required_characteristic_names:
369
+ - :mute
350
370
  - :name: :stateless_programmable_switch
351
371
  :description: Stateless Programmable Switch
352
372
  :uuid: '00000089-0000-1000-8000-0026BB765291'
353
- :optional_characteristics_uuids:
354
- - 00000023-0000-1000-8000-0026BB765291
355
- - 000000CB-0000-1000-8000-0026BB765291
356
- :required_characteristics_uuids:
357
- - 00000073-0000-1000-8000-0026BB765291
373
+ :optional_characteristic_names:
374
+ - :name
375
+ - :service_label_index
376
+ :required_characteristic_names:
377
+ - :programmable_switch_event
358
378
  - :name: :switch
359
379
  :description: Switch
360
380
  :uuid: '00000049-0000-1000-8000-0026BB765291'
361
- :optional_characteristics_uuids:
362
- - 00000023-0000-1000-8000-0026BB765291
363
- :required_characteristics_uuids:
364
- - 00000025-0000-1000-8000-0026BB765291
381
+ :optional_characteristic_names:
382
+ - :name
383
+ :required_characteristic_names:
384
+ - :on
365
385
  - :name: :temperature_sensor
366
386
  :description: Temperature Sensor
367
387
  :uuid: '0000008A-0000-1000-8000-0026BB765291'
368
- :optional_characteristics_uuids:
369
- - 00000075-0000-1000-8000-0026BB765291
370
- - 00000077-0000-1000-8000-0026BB765291
371
- - '00000079-0000-1000-8000-0026BB765291'
372
- - 0000007A-0000-1000-8000-0026BB765291
373
- - 00000023-0000-1000-8000-0026BB765291
374
- :required_characteristics_uuids:
375
- - 00000011-0000-1000-8000-0026BB765291
388
+ :optional_characteristic_names:
389
+ - :name
390
+ - :status_active
391
+ - :status_fault
392
+ - :status_low_battery
393
+ - :status_tampered
394
+ :required_characteristic_names:
395
+ - :current_temperature
376
396
  - :name: :thermostat
377
397
  :description: Thermostat
378
398
  :uuid: 0000004A-0000-1000-8000-0026BB765291
379
- :optional_characteristics_uuids:
380
- - 00000010-0000-1000-8000-0026BB765291
381
- - 00000034-0000-1000-8000-0026BB765291
382
- - 0000000D-0000-1000-8000-0026BB765291
383
- - 00000012-0000-1000-8000-0026BB765291
384
- - 00000023-0000-1000-8000-0026BB765291
385
- :required_characteristics_uuids:
386
- - 0000000F-0000-1000-8000-0026BB765291
387
- - 00000033-0000-1000-8000-0026BB765291
388
- - 00000011-0000-1000-8000-0026BB765291
389
- - 00000035-0000-1000-8000-0026BB765291
390
- - 00000036-0000-1000-8000-0026BB765291
399
+ :optional_characteristic_names:
400
+ - :cooling_threshold_temperature
401
+ - :current_relative_humidity
402
+ - :heating_threshold_temperature
403
+ - :name
404
+ - :target_relative_humidity
405
+ :required_characteristic_names:
406
+ - :current_heating_cooling_state
407
+ - :current_temperature
408
+ - :target_heating_cooling_state
409
+ - :target_temperature
410
+ - :temperature_display_units
411
+ - :name: :valve
412
+ :description: Valve
413
+ :uuid: 000000D0-0000-1000-8000-0026BB765291
414
+ :optional_characteristic_names:
415
+ - :is_configured
416
+ - :name
417
+ - :remaining_duration
418
+ - :service_label_index
419
+ - :set_duration
420
+ - :status_fault
421
+ :required_characteristic_names:
422
+ - :active
423
+ - :in_use
424
+ - :valve_type
391
425
  - :name: :window
392
426
  :description: Window
393
427
  :uuid: '0000008B-0000-1000-8000-0026BB765291'
394
- :optional_characteristics_uuids:
395
- - 0000006F-0000-1000-8000-0026BB765291
396
- - 00000024-0000-1000-8000-0026BB765291
397
- - 00000023-0000-1000-8000-0026BB765291
398
- :required_characteristics_uuids:
399
- - 0000006D-0000-1000-8000-0026BB765291
400
- - 0000007C-0000-1000-8000-0026BB765291
401
- - 00000072-0000-1000-8000-0026BB765291
428
+ :optional_characteristic_names:
429
+ - :hold_position
430
+ - :name
431
+ - :obstruction_detected
432
+ :required_characteristic_names:
433
+ - :current_position
434
+ - :position_state
435
+ - :target_position
402
436
  - :name: :window_covering
403
437
  :description: Window Covering
404
438
  :uuid: '0000008C-0000-1000-8000-0026BB765291'
405
- :optional_characteristics_uuids:
406
- - 0000006F-0000-1000-8000-0026BB765291
407
- - 0000007B-0000-1000-8000-0026BB765291
408
- - 0000007D-0000-1000-8000-0026BB765291
409
- - 0000006C-0000-1000-8000-0026BB765291
410
- - 0000006E-0000-1000-8000-0026BB765291
411
- - 00000024-0000-1000-8000-0026BB765291
412
- - 00000023-0000-1000-8000-0026BB765291
413
- :required_characteristics_uuids:
414
- - 0000006D-0000-1000-8000-0026BB765291
415
- - 0000007C-0000-1000-8000-0026BB765291
416
- - 00000072-0000-1000-8000-0026BB765291
439
+ :optional_characteristic_names:
440
+ - :current_horizontal_tilt_angle
441
+ - :current_vertical_tilt_angle
442
+ - :hold_position
443
+ - :name
444
+ - :obstruction_detected
445
+ - :target_horizontal_tilt_angle
446
+ - :target_vertical_tilt_angle
447
+ :required_characteristic_names:
448
+ - :current_position
449
+ - :position_state
450
+ - :target_position