1#!/usr/bin/env python3 2# 3# Copyright (C) 2019 The Android Open Source Project 4# 5# Licensed under the Apache License, Version 2.0 (the "License"); you may not 6# use this file except in compliance with the License. You may obtain a copy of 7# the License at 8# 9# http://www.apache.org/licenses/LICENSE-2.0 10# 11# Unless required by applicable law or agreed to in writing, software 12# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 13# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 14# License for the specific language governing permissions and limitations under 15# the License. 16""" 17GATT server dictionaries which will be setup in various tests. 18""" 19 20from acts_contrib.test_utils.bt.bt_constants import gatt_characteristic 21from acts_contrib.test_utils.bt.bt_constants import gatt_descriptor 22from acts_contrib.test_utils.bt.bt_constants import gatt_service_types 23from acts_contrib.test_utils.bt.bt_constants import gatt_char_types 24from acts_contrib.test_utils.bt.bt_constants import gatt_characteristic_value_format 25from acts_contrib.test_utils.bt.bt_constants import gatt_char_desc_uuids 26 27SINGLE_PRIMARY_SERVICE = { 28 'services': [{ 29 'uuid': '00001802-0000-1000-8000-00805f9b34fb', 30 'type': gatt_service_types['primary'], 31 }] 32} 33 34SINGLE_SECONDARY_SERVICE = { 35 'services': [{ 36 'uuid': '00001802-0000-1000-8000-00805f9b34fb', 37 'type': gatt_service_types['secondary'], 38 }] 39} 40 41PRIMARY_AND_SECONDARY_SERVICES = { 42 'services': [{ 43 'uuid': '00001802-0000-1000-8000-00805f9b34fb', 44 'type': gatt_service_types['primary'], 45 }, { 46 'uuid': '00001803-0000-1000-8000-00805f9b34fb', 47 'type': gatt_service_types['secondary'], 48 }] 49} 50 51DUPLICATE_SERVICES = { 52 'services': [{ 53 'uuid': '00001802-0000-1000-8000-00805f9b34fb', 54 'type': gatt_service_types['primary'], 55 }, { 56 'uuid': '00001802-0000-1000-8000-00805f9b34fb', 57 'type': gatt_service_types['primary'], 58 }] 59} 60 61### Begin SIG defined services ### 62# yapf: disable 63 64# TODO: Reconcile all the proper security parameters of each service. 65# Some are correct, others are not. 66 67# https://www.bluetooth.com/specifications/gatt/viewer?attributeXmlFile=org.bluetooth.service.alert_notification.xml 68ALERT_NOTIFICATION_SERVICE = { 69 'services': [{ 70 'uuid': '00001811-0000-1000-8000-00805f9b34fb', 71 'type': gatt_service_types['primary'], 72 'characteristics': [{ 73 'uuid': '00002a47-0000-1000-8000-00805f9b34fb', 74 'properties': gatt_characteristic['property_read'], 75 'permissions': gatt_characteristic['permission_read'], 76 'value_type': gatt_characteristic_value_format['string'], 77 'value': 'test', 78 }, { 79 'uuid': '00002a46-0000-1000-8000-00805f9b34fb', 80 'properties': gatt_characteristic['property_notify'], 81 'permissions': gatt_characteristic['permission_read'] | 82 gatt_characteristic['permission_write'], 83 'value_type': gatt_characteristic_value_format['string'], 84 'value': 'test', 85 'descriptors': [{ 86 'uuid': gatt_char_desc_uuids['client_char_cfg'] 87 }] 88 }, { 89 'uuid': '00002a48-0000-1000-8000-00805f9b34fb', 90 'properties': gatt_characteristic['property_read'], 91 'permissions': gatt_characteristic['permission_read'], 92 'value_type': gatt_characteristic_value_format['sint8'], 93 'value': 1, 94 }, { 95 'uuid': '00002a45-0000-1000-8000-00805f9b34fb', 96 'properties': gatt_characteristic['property_notify'], 97 'permissions': gatt_characteristic['permission_read'] | 98 gatt_characteristic['permission_write'], 99 'value_type': gatt_characteristic_value_format['string'], 100 'value': 'test', 101 'descriptors': [{ 102 'uuid': gatt_char_desc_uuids['client_char_cfg'] 103 }] 104 }, { 105 'uuid': '00002a44-0000-1000-8000-00805f9b34fb', 106 'properties': gatt_characteristic['property_write'], 107 'permissions': gatt_characteristic['permission_write'], 108 'value_type': gatt_characteristic_value_format['sint8'], 109 'value': 1, 110 }] 111 }] 112} 113 114# https://www.bluetooth.com/specifications/gatt/viewer?attributeXmlFile=org.bluetooth.service.automation_io.xml 115AUTOMATION_IO_SERVICE = { 116 'services': [{ 117 'uuid': '00001815-0000-1000-8000-00805f9b34fb', 118 'type': gatt_service_types['primary'], 119 'characteristics': [{ 120 'uuid': '00002a56-0000-1000-8000-00805f9b34fb', 121 'properties': gatt_characteristic['property_read'], 122 'permissions': gatt_characteristic['permission_read'], 123 'value_type': gatt_characteristic_value_format['string'], 124 'value': 'test', 125 'descriptors': [{ 126 'uuid': gatt_char_desc_uuids['client_char_cfg'] 127 }, { 128 'uuid': '00002904-0000-1000-8000-00805f9b34fb', 129 'permissions': gatt_descriptor['permission_read'] | 130 gatt_descriptor['permission_write'], 131 }, { 132 'uuid': gatt_char_desc_uuids['char_user_desc'], 133 'permissions': gatt_descriptor['permission_read'] | 134 gatt_descriptor['permission_write'], 135 }, { 136 'uuid': gatt_char_desc_uuids['char_ext_props'] 137 }, { 138 'uuid': '0000290a-0000-1000-8000-00805f9b34fb', 139 'permissions': gatt_descriptor['permission_read'] | 140 gatt_descriptor['permission_write'], 141 }, { 142 'uuid': '0000290e-0000-1000-8000-00805f9b34fb', 143 'permissions': gatt_descriptor['permission_read'] | 144 gatt_descriptor['permission_write'], 145 }, { 146 'uuid': '00002909-0000-1000-8000-00805f9b34fb', 147 'permissions': gatt_descriptor['permission_read'], 148 }] 149 }, { 150 'uuid': '00002a58-0000-1000-8000-00805f9b34fb', 151 'properties': gatt_characteristic['property_notify'] | 152 gatt_characteristic['write_type_signed'] | 153 gatt_characteristic['property_read'] | 154 gatt_characteristic['property_write'], 155 'permissions': gatt_characteristic['permission_read'] | 156 gatt_characteristic['permission_write'], 157 'value_type': gatt_characteristic_value_format['string'], 158 'value': 'test', 159 'descriptors': [{ 160 'uuid': gatt_char_desc_uuids['client_char_cfg'] 161 }, { 162 'uuid': '00002904-0000-1000-8000-00805f9b34fb', 163 'permissions': gatt_descriptor['permission_read'] | 164 gatt_descriptor['permission_write'], 165 }, { 166 'uuid': gatt_char_desc_uuids['char_user_desc'], 167 'permissions': gatt_descriptor['permission_read'] | 168 gatt_descriptor['permission_write'], 169 }, { 170 'uuid': gatt_char_desc_uuids['char_ext_props'] 171 }, { 172 'uuid': '0000290a-0000-1000-8000-00805f9b34fb', 173 'permissions': gatt_descriptor['permission_read'] | 174 gatt_descriptor['permission_write'], 175 }, { 176 'uuid': '0000290e-0000-1000-8000-00805f9b34fb', 177 'permissions': gatt_descriptor['permission_read'] | 178 gatt_descriptor['permission_write'], 179 }, { 180 'uuid': '00002909-0000-1000-8000-00805f9b34fb', 181 'permissions': gatt_descriptor['permission_read'], 182 }, { 183 'uuid': '00002906-0000-1000-8000-00805f9b34fb', 184 'permissions': gatt_descriptor['permission_read'], 185 }] 186 }, { 187 'uuid': '00002a5a-0000-1000-8000-00805f9b34fb', 188 'properties': gatt_characteristic['property_read'], 189 'permissions': gatt_characteristic['permission_read'], 190 'value_type': gatt_characteristic_value_format['sint8'], 191 'value': 1, 192 'descriptors': [{ 193 'uuid': gatt_char_desc_uuids['client_char_cfg'] 194 }] 195 }] 196 }] 197} 198 199# https://www.bluetooth.com/specifications/gatt/viewer?attributeXmlFile=org.bluetooth.service.battery_service.xml 200BATTERY_SERVICE = { 201 'services': [{ 202 'uuid': '0000180f-0000-1000-8000-00805f9b34fb', 203 'type': gatt_service_types['primary'], 204 'characteristics': [{ 205 'uuid': '00002a19-0000-1000-8000-00805f9b34fb', 206 'properties': gatt_characteristic['property_notify'], 207 'permissions': gatt_characteristic['permission_read'], 208 'value_type': gatt_characteristic_value_format['string'], 209 'value': 'test', 210 'descriptors': [{ 211 'uuid': gatt_char_desc_uuids['client_char_cfg'] 212 }, { 213 'uuid': '00002904-0000-1000-8000-00805f9b34fb', 214 'permissions': gatt_descriptor['permission_read'] | 215 gatt_descriptor['permission_write'], 216 }] 217 }] 218 }] 219} 220 221# https://www.bluetooth.com/specifications/gatt/viewer?attributeXmlFile=org.bluetooth.service.blood_pressure.xml 222BLOOD_PRESSURE_SERVICE = { 223 'services': [{ 224 'uuid': '00001810-0000-1000-8000-00805f9b34fb', 225 'type': gatt_service_types['primary'], 226 'characteristics': [{ 227 'uuid': '00002a35-0000-1000-8000-00805f9b34fb', 228 'properties': gatt_characteristic['property_notify'], 229 'permissions': gatt_characteristic['permission_read'], 230 'value_type': gatt_characteristic_value_format['string'], 231 'value': 'test', 232 'descriptors': [{ 233 'uuid': gatt_char_desc_uuids['client_char_cfg'] 234 }] 235 }, { 236 'uuid': '00002a36-0000-1000-8000-00805f9b34fb', 237 'properties': gatt_characteristic['property_notify'], 238 'permissions': gatt_characteristic['permission_read'], 239 'value_type': gatt_characteristic_value_format['string'], 240 'value': 'test', 241 'descriptors': [{ 242 'uuid': gatt_char_desc_uuids['client_char_cfg'] 243 }], 244 }, { 245 'uuid': '00002a49-0000-1000-8000-00805f9b34fb', 246 'properties': gatt_characteristic['property_read'], 247 'permissions': gatt_characteristic['permission_read'], 248 }] 249 }] 250} 251 252# https://www.bluetooth.com/specifications/gatt/viewer?attributeXmlFile=org.bluetooth.service.body_composition.xml 253BODY_COMPOSITION_SERVICE = { 254 'services': [{ 255 'uuid': '0000181b-0000-1000-8000-00805f9b34fb', 256 'type': gatt_service_types['primary'], 257 'characteristics': [{ 258 'uuid': '00002a9b-0000-1000-8000-00805f9b34fb', 259 'properties': gatt_characteristic['property_read'], 260 'permissions': gatt_characteristic['permission_read'], 261 'value_type': gatt_characteristic_value_format['string'], 262 'value': 'test', 263 }, { 264 'uuid': '00002a9c-0000-1000-8000-00805f9b34fb', 265 'properties': gatt_characteristic['property_indicate'], 266 'permissions': gatt_characteristic['permission_read'], 267 'value_type': gatt_characteristic_value_format['string'], 268 'value': 'test', 269 'descriptors': [{ 270 'uuid': gatt_char_desc_uuids['client_char_cfg'] 271 }], 272 }] 273 }] 274} 275 276# https://www.bluetooth.com/specifications/gatt/viewer?attributeXmlFile=org.bluetooth.service.bond_management.xml 277BOND_MANAGEMENT_SERVICE = { 278 'services': [{ 279 'uuid': '0000181e-0000-1000-8000-00805f9b34fb', 280 'type': gatt_service_types['primary'], 281 'characteristics': [{ 282 'uuid': '00002aac-0000-1000-8000-00805f9b34fb', 283 'properties': gatt_characteristic['property_write'], 284 'permissions': gatt_characteristic['permission_write'], 285 'value_type': gatt_characteristic_value_format['string'], 286 'value': 'test' 287 }, { 288 'uuid': '00002aa4-0000-1000-8000-00805f9b34fb', 289 'properties': gatt_characteristic['property_read'], 290 'permissions': gatt_characteristic['permission_read'], 291 'value_type': gatt_characteristic_value_format['string'], 292 'value': 'test', 293 } 294 295 ] 296 }] 297} 298 299# https://www.bluetooth.com/specifications/gatt/viewer?attributeXmlFile=org.bluetooth.service.continuous_glucose_monitoring.xml 300CONTINUOUS_GLUCOSE_MONITORING_SERVICE = { 301 'services': [{ 302 'uuid': '0000180f-0000-1000-8000-00805f9b34fb', 303 'type': gatt_service_types['primary'], 304 'characteristics': [{ 305 'uuid': '00002aa7-0000-1000-8000-00805f9b34fb', 306 'properties': gatt_characteristic['property_notify'], 307 'permissions': gatt_characteristic['permission_read'], 308 'value_type': gatt_characteristic_value_format['string'], 309 'value': 'test', 310 'descriptors': [{ 311 'uuid': gatt_char_desc_uuids['client_char_cfg'] 312 }] 313 }, { 314 'uuid': '00002aa7-0000-1000-8000-00805f9b34fb', 315 'properties': gatt_characteristic['property_read'], 316 'permissions': gatt_characteristic['permission_read'], 317 'value_type': gatt_characteristic_value_format['string'], 318 'value': 'test', 319 }, { 320 'uuid': '00002aa8-0000-1000-8000-00805f9b34fb', 321 'properties': gatt_characteristic['property_read'], 322 'permissions': gatt_characteristic['permission_read'], 323 'value_type': gatt_characteristic_value_format['string'], 324 'value': 'test', 325 }, { 326 'uuid': '00002aa9-0000-1000-8000-00805f9b34fb', 327 'properties': gatt_characteristic['property_read'] | 328 gatt_characteristic['property_write'], 329 'permissions': gatt_characteristic['permission_read'] | 330 gatt_characteristic['permission_write'], 331 'value_type': gatt_characteristic_value_format['string'], 332 'value': 'test', 333 }, { 334 'uuid': '00002aaa-0000-1000-8000-00805f9b34fb', 335 'properties': gatt_characteristic['property_notify'], 336 'permissions': gatt_characteristic['permission_read'], 337 'value_type': gatt_characteristic_value_format['string'], 338 'value': 'test', 339 'descriptors': [{ 340 'uuid': gatt_char_desc_uuids['client_char_cfg'] 341 }] 342 }, { 343 'uuid': '00002aab-0000-1000-8000-00805f9b34fb', 344 'properties': gatt_characteristic['property_read'], 345 'permissions': gatt_characteristic['permission_read'], 346 'value_type': gatt_characteristic_value_format['string'], 347 'value': 'test', 348 }, { 349 'uuid': '00002a52-0000-1000-8000-00805f9b34fb', 350 'properties': gatt_characteristic['property_notify'], 351 'permissions': gatt_characteristic['permission_read'], 352 'value_type': gatt_characteristic_value_format['string'], 353 'value': 'test', 354 'descriptors': [{ 355 'uuid': gatt_char_desc_uuids['client_char_cfg'] 356 }] 357 }, { 358 'uuid': '00002aac-0000-1000-8000-00805f9b34fb', 359 'properties': gatt_characteristic['property_notify'], 360 'permissions': gatt_characteristic['permission_read'], 361 'value_type': gatt_characteristic_value_format['string'], 362 'value': 'test', 363 'descriptors': [{ 364 'uuid': gatt_char_desc_uuids['client_char_cfg'] 365 }] 366 }] 367 }] 368} 369 370# https://www.bluetooth.com/specifications/gatt/viewer?attributeXmlFile=org.bluetooth.service.current_time.xml 371CURRENT_TIME_SERVICE = { 372 'services': [{ 373 'uuid': '00001805-0000-1000-8000-00805f9b34fb', 374 'type': gatt_service_types['primary'], 375 'characteristics': [{ 376 'uuid': '00002a2b-0000-1000-8000-00805f9b34fb', 377 'properties': gatt_characteristic['property_notify'], 378 'permissions': gatt_characteristic['permission_read'], 379 'value_type': gatt_characteristic_value_format['string'], 380 'value': 'test', 381 'descriptors': [{ 382 'uuid': gatt_char_desc_uuids['client_char_cfg'] 383 }] 384 }, { 385 'uuid': '00002a0f-0000-1000-8000-00805f9b34fb', 386 'properties': gatt_characteristic['property_read'], 387 'permissions': gatt_characteristic['permission_read'], 388 'value_type': gatt_characteristic_value_format['string'], 389 'value': 'test', 390 'descriptors': [{ 391 'uuid': gatt_char_desc_uuids['client_char_cfg'] 392 }], 393 }, { 394 'uuid': '00002a14-0000-1000-8000-00805f9b34fb', 395 'properties': gatt_characteristic['property_read'], 396 'permissions': gatt_characteristic['permission_read'], 397 }] 398 }] 399} 400 401# https://www.bluetooth.com/specifications/gatt/viewer?attributeXmlFile=org.bluetooth.service.cycling_power.xml 402CYCLING_POWER_SERVICE = { 403 'services': [{ 404 'uuid': '00001818-0000-1000-8000-00805f9b34fb', 405 'type': gatt_service_types['primary'], 406 'characteristics': [{ 407 'uuid': '00002a63-0000-1000-8000-00805f9b34fb', 408 'properties': gatt_characteristic['property_notify'] | 409 gatt_characteristic['property_broadcast'], 410 'permissions': gatt_characteristic['permission_read'], 411 'value_type': gatt_characteristic_value_format['string'], 412 'value': 'test', 413 'descriptors': [{ 414 'uuid': gatt_char_desc_uuids['client_char_cfg'], 415 }, { 416 'uuid': gatt_char_desc_uuids['server_char_cfg'], 417 }] 418 }, { 419 'uuid': '00002a65-0000-1000-8000-00805f9b34fb', 420 'properties': gatt_characteristic['property_read'], 421 'permissions': gatt_characteristic['permission_read'], 422 'value_type': gatt_characteristic_value_format['string'], 423 'value': 'test', 424 }, { 425 'uuid': '00002a5d-0000-1000-8000-00805f9b34fb', 426 'properties': gatt_characteristic['property_read'], 427 'permissions': gatt_characteristic['permission_read'], 428 'value_type': gatt_characteristic_value_format['string'], 429 'value': 'test', 430 }, { 431 'uuid': '00002a64-0000-1000-8000-00805f9b34fb', 432 'properties': gatt_characteristic['property_notify'], 433 'permissions': gatt_characteristic['permission_read'], 434 'value_type': gatt_characteristic_value_format['string'], 435 'value': 'test', 436 'descriptors': [{ 437 'uuid': gatt_char_desc_uuids['client_char_cfg'] 438 }] 439 }, { 440 'uuid': '00002a66-0000-1000-8000-00805f9b34fb', 441 'properties': gatt_characteristic['property_notify'], 442 'permissions': gatt_characteristic['permission_read'], 443 'value_type': gatt_characteristic_value_format['string'], 444 'value': 'test', 445 'descriptors': [{ 446 'uuid': gatt_char_desc_uuids['client_char_cfg'] 447 }] 448 }] 449 }] 450} 451 452# https://www.bluetooth.com/specifications/gatt/viewer?attributeXmlFile=org.bluetooth.service.cycling_speed_and_cadence.xml 453CYCLING_SPEED_AND_CADENCE_SERVICE = { 454 'services': [{ 455 'uuid': '00001816-0000-1000-8000-00805f9b34fb', 456 'type': gatt_service_types['primary'], 457 'characteristics': [{ 458 'uuid': '00002a5b-0000-1000-8000-00805f9b34fb', 459 'properties': gatt_characteristic['property_notify'], 460 'permissions': gatt_characteristic['permission_read'], 461 'value_type': gatt_characteristic_value_format['string'], 462 'value': 'test', 463 'descriptors': [{ 464 'uuid': gatt_char_desc_uuids['client_char_cfg'], 465 }] 466 }, { 467 'uuid': '00002a5c-0000-1000-8000-00805f9b34fb', 468 'properties': gatt_characteristic['property_read'], 469 'permissions': gatt_characteristic['permission_read'], 470 'value_type': gatt_characteristic_value_format['string'], 471 'value': 'test', 472 }, { 473 'uuid': '00002a5d-0000-1000-8000-00805f9b34fb', 474 'properties': gatt_characteristic['property_read'], 475 'permissions': gatt_characteristic['permission_read'], 476 'value_type': gatt_characteristic_value_format['string'], 477 'value': 'test', 478 }, { 479 'uuid': '00002a55-0000-1000-8000-00805f9b34fb', 480 'properties': gatt_characteristic['property_indicate'] | 481 gatt_characteristic['property_write'], 482 'permissions': gatt_characteristic['permission_write'], 483 'value_type': gatt_characteristic_value_format['string'], 484 'value': 'test', 485 'descriptors': [{ 486 'uuid': gatt_char_desc_uuids['client_char_cfg'] 487 }] 488 }] 489 }] 490} 491 492# https://www.bluetooth.com/specifications/gatt/viewer?attributeXmlFile=org.bluetooth.service.device_information.xml 493DEVICE_INFORMATION_SERVICE = { 494 'services': [{ 495 'uuid': '00001816-0000-1000-8000-00805f9b34fb', 496 'type': gatt_service_types['primary'], 497 'characteristics': [{ 498 'uuid': '00002a29-0000-1000-8000-00805f9b34fb', 499 'properties': gatt_characteristic['property_read'], 500 'permissions': gatt_characteristic['permission_read'], 501 'value_type': gatt_characteristic_value_format['string'], 502 'value': 'test', 503 }, { 504 'uuid': '00002a24-0000-1000-8000-00805f9b34fb', 505 'properties': gatt_characteristic['property_read'], 506 'permissions': gatt_characteristic['permission_read'], 507 'value_type': gatt_characteristic_value_format['string'], 508 'value': 'test', 509 }, { 510 'uuid': '00002a25-0000-1000-8000-00805f9b34fb', 511 'properties': gatt_characteristic['property_read'], 512 'permissions': gatt_characteristic['permission_read'], 513 'value_type': gatt_characteristic_value_format['string'], 514 'value': 'test', 515 }, { 516 'uuid': '00002a27-0000-1000-8000-00805f9b34fb', 517 'properties': gatt_characteristic['property_read'], 518 'permissions': gatt_characteristic['permission_read'], 519 'value_type': gatt_characteristic_value_format['string'], 520 'value': 'test', 521 }, { 522 'uuid': '00002a26-0000-1000-8000-00805f9b34fb', 523 'properties': gatt_characteristic['property_read'], 524 'permissions': gatt_characteristic['permission_read'], 525 'value_type': gatt_characteristic_value_format['string'], 526 'value': 'test', 527 }, { 528 'uuid': '00002a28-0000-1000-8000-00805f9b34fb', 529 'properties': gatt_characteristic['property_read'], 530 'permissions': gatt_characteristic['permission_read'], 531 'value_type': gatt_characteristic_value_format['string'], 532 'value': 'test', 533 }, { 534 'uuid': '00002a23-0000-1000-8000-00805f9b34fb', 535 'properties': gatt_characteristic['property_read'], 536 'permissions': gatt_characteristic['permission_read'], 537 'value_type': gatt_characteristic_value_format['string'], 538 'value': 'test', 539 }, { 540 'uuid': '00002a2a-0000-1000-8000-00805f9b34fb', 541 'properties': gatt_characteristic['property_read'], 542 'permissions': gatt_characteristic['permission_read'], 543 'value_type': gatt_characteristic_value_format['string'], 544 'value': 'test', 545 }, { 546 'uuid': '00002a50-0000-1000-8000-00805f9b34fb', 547 'properties': gatt_characteristic['property_read'], 548 'permissions': gatt_characteristic['permission_read'], 549 'value_type': gatt_characteristic_value_format['string'], 550 'value': 'test', 551 }] 552 }] 553} 554 555# https://www.bluetooth.com/specifications/gatt/viewer?attributeXmlFile=org.bluetooth.service.environmental_sensing.xml 556ENVIRONMENTAL_SENSING_SERVICE = { 557 'services': [{ 558 'uuid': '0000181a-0000-1000-8000-00805f9b34fb', 559 'type': gatt_service_types['primary'], 560 'characteristics': [{ 561 'uuid': '00002a7d-0000-1000-8000-00805f9b34fb', 562 'properties': gatt_characteristic['property_indicate'] | 563 gatt_characteristic['property_extended_props'] | 564 gatt_characteristic['property_write'], 565 'permissions': gatt_characteristic['permission_read'] | 566 gatt_characteristic['permission_write'], 567 'value_type': gatt_characteristic_value_format['string'], 568 'value': 'test', 569 }, { 570 'uuid': '00002a73-0000-1000-8000-00805f9b34fb', 571 'properties': gatt_characteristic['property_read'] | 572 gatt_characteristic['property_notify'] | 573 gatt_characteristic['property_extended_props'], 574 'permissions': gatt_characteristic['permission_read'], 575 'value_type': gatt_characteristic_value_format['string'], 576 'value': 'body', 577 'descriptors': [{ 578 'uuid': '0000290c-0000-1000-8000-00805f9b34fb', 579 'permissions': gatt_descriptor['permission_read'] | 580 gatt_descriptor['permission_write'], 581 }, { 582 'uuid': '0000290d-0000-1000-8000-00805f9b34fb', 583 'permissions': gatt_descriptor['permission_read'] | 584 gatt_descriptor['permission_write'], 585 }, { 586 'uuid': '0000290b-0000-1000-8000-00805f9b34fb', 587 'permissions': gatt_descriptor['permission_read'] | 588 gatt_descriptor['permission_write'], 589 }, { 590 'uuid': gatt_char_desc_uuids['char_user_desc'], 591 'permissions': gatt_descriptor['permission_read'] | 592 gatt_descriptor['permission_write'], 593 }, { 594 'uuid': gatt_char_desc_uuids['char_valid_range'], 595 'permissions': gatt_descriptor['permission_read'], 596 }, 597 ] 598 }, { 599 'uuid': '00002a72-0000-1000-8000-00805f9b34fb', 600 'properties': gatt_characteristic['property_read'] | 601 gatt_characteristic['property_notify'] | 602 gatt_characteristic['property_extended_props'], 603 'permissions': gatt_characteristic['permission_read'], 604 'value_type': gatt_characteristic_value_format['string'], 605 'value': 'body', 606 'descriptors': [{ 607 'uuid': '0000290c-0000-1000-8000-00805f9b34fb', 608 'permissions': gatt_descriptor['permission_read'] | 609 gatt_descriptor['permission_write'], 610 }, { 611 'uuid': '0000290d-0000-1000-8000-00805f9b34fb', 612 'permissions': gatt_descriptor['permission_read'] | 613 gatt_descriptor['permission_write'], 614 }, { 615 'uuid': '0000290b-0000-1000-8000-00805f9b34fb', 616 'permissions': gatt_descriptor['permission_read'] | 617 gatt_descriptor['permission_write'], 618 }, { 619 'uuid': gatt_char_desc_uuids['char_user_desc'], 620 'permissions': gatt_descriptor['permission_read'] | 621 gatt_descriptor['permission_write'], 622 }, { 623 'uuid': gatt_char_desc_uuids['char_valid_range'], 624 'permissions': gatt_descriptor['permission_read'], 625 }, 626 ] 627 }, { 628 'uuid': '00002a7b-0000-1000-8000-00805f9b34fb', 629 'properties': gatt_characteristic['property_read'] | 630 gatt_characteristic['property_notify'] | 631 gatt_characteristic['property_extended_props'], 632 'permissions': gatt_characteristic['permission_read'], 633 'value_type': gatt_characteristic_value_format['string'], 634 'value': 'body', 635 'descriptors': [{ 636 'uuid': '0000290c-0000-1000-8000-00805f9b34fb', 637 'permissions': gatt_descriptor['permission_read'] | 638 gatt_descriptor['permission_write'], 639 }, { 640 'uuid': '0000290d-0000-1000-8000-00805f9b34fb', 641 'permissions': gatt_descriptor['permission_read'] | 642 gatt_descriptor['permission_write'], 643 }, { 644 'uuid': '0000290b-0000-1000-8000-00805f9b34fb', 645 'permissions': gatt_descriptor['permission_read'] | 646 gatt_descriptor['permission_write'], 647 }, { 648 'uuid': gatt_char_desc_uuids['char_user_desc'], 649 'permissions': gatt_descriptor['permission_read'] | 650 gatt_descriptor['permission_write'], 651 }, { 652 'uuid': gatt_char_desc_uuids['char_valid_range'], 653 'permissions': gatt_descriptor['permission_read'], 654 }, 655 ] 656 }, 657 { 658 'uuid': '00002a6c-0000-1000-8000-00805f9b34fb', 659 'properties': gatt_characteristic['property_read'] | 660 gatt_characteristic['property_notify'] | 661 gatt_characteristic['property_extended_props'], 662 'permissions': gatt_characteristic['permission_read'], 663 'value_type': gatt_characteristic_value_format['string'], 664 'value': 'body', 665 'descriptors': [{ 666 'uuid': '0000290c-0000-1000-8000-00805f9b34fb', 667 'permissions': gatt_descriptor['permission_read'] | 668 gatt_descriptor['permission_write'], 669 }, { 670 'uuid': '0000290d-0000-1000-8000-00805f9b34fb', 671 'permissions': gatt_descriptor['permission_read'] | 672 gatt_descriptor['permission_write'], 673 }, { 674 'uuid': '0000290b-0000-1000-8000-00805f9b34fb', 675 'permissions': gatt_descriptor['permission_read'] | 676 gatt_descriptor['permission_write'], 677 }, { 678 'uuid': gatt_char_desc_uuids['char_user_desc'], 679 'permissions': gatt_descriptor['permission_read'] | 680 gatt_descriptor['permission_write'], 681 }, { 682 'uuid': gatt_char_desc_uuids['char_valid_range'], 683 'permissions': gatt_descriptor['permission_read'], 684 }, 685 ] 686 }, 687 { 688 'uuid': '00002a74-0000-1000-8000-00805f9b34fb', 689 'properties': gatt_characteristic['property_read'] | 690 gatt_characteristic['property_notify'] | 691 gatt_characteristic['property_extended_props'], 692 'permissions': gatt_characteristic['permission_read'], 693 'value_type': gatt_characteristic_value_format['string'], 694 'value': 'body', 695 'descriptors': [{ 696 'uuid': '0000290c-0000-1000-8000-00805f9b34fb', 697 'permissions': gatt_descriptor['permission_read'] | 698 gatt_descriptor['permission_write'], 699 }, { 700 'uuid': '0000290d-0000-1000-8000-00805f9b34fb', 701 'permissions': gatt_descriptor['permission_read'] | 702 gatt_descriptor['permission_write'], 703 }, { 704 'uuid': '0000290b-0000-1000-8000-00805f9b34fb', 705 'permissions': gatt_descriptor['permission_read'] | 706 gatt_descriptor['permission_write'], 707 }, { 708 'uuid': gatt_char_desc_uuids['char_user_desc'], 709 'permissions': gatt_descriptor['permission_read'] | 710 gatt_descriptor['permission_write'], 711 }, { 712 'uuid': gatt_char_desc_uuids['char_valid_range'], 713 'permissions': gatt_descriptor['permission_read'], 714 }, 715 ] 716 }, 717 { 718 'uuid': '00002a7a-0000-1000-8000-00805f9b34fb', 719 'properties': gatt_characteristic['property_read'] | 720 gatt_characteristic['property_notify'] | 721 gatt_characteristic['property_extended_props'], 722 'permissions': gatt_characteristic['permission_read'], 723 'value_type': gatt_characteristic_value_format['string'], 724 'value': 'body', 725 'descriptors': [{ 726 'uuid': '0000290c-0000-1000-8000-00805f9b34fb', 727 'permissions': gatt_descriptor['permission_read'] | 728 gatt_descriptor['permission_write'], 729 }, { 730 'uuid': '0000290d-0000-1000-8000-00805f9b34fb', 731 'permissions': gatt_descriptor['permission_read'] | 732 gatt_descriptor['permission_write'], 733 }, { 734 'uuid': '0000290b-0000-1000-8000-00805f9b34fb', 735 'permissions': gatt_descriptor['permission_read'] | 736 gatt_descriptor['permission_write'], 737 }, { 738 'uuid': gatt_char_desc_uuids['char_user_desc'], 739 'permissions': gatt_descriptor['permission_read'] | 740 gatt_descriptor['permission_write'], 741 }, { 742 'uuid': gatt_char_desc_uuids['char_valid_range'], 743 'permissions': gatt_descriptor['permission_read'], 744 }, 745 ] 746 }, 747 { 748 'uuid': '00002a6f-0000-1000-8000-00805f9b34fb', 749 'properties': gatt_characteristic['property_read'] | 750 gatt_characteristic['property_notify'] | 751 gatt_characteristic['property_extended_props'], 752 'permissions': gatt_characteristic['permission_read'], 753 'value_type': gatt_characteristic_value_format['string'], 754 'value': 'body', 755 'descriptors': [{ 756 'uuid': '0000290c-0000-1000-8000-00805f9b34fb', 757 'permissions': gatt_descriptor['permission_read'] | 758 gatt_descriptor['permission_write'], 759 }, { 760 'uuid': '0000290d-0000-1000-8000-00805f9b34fb', 761 'permissions': gatt_descriptor['permission_read'] | 762 gatt_descriptor['permission_write'], 763 }, { 764 'uuid': '0000290b-0000-1000-8000-00805f9b34fb', 765 'permissions': gatt_descriptor['permission_read'] | 766 gatt_descriptor['permission_write'], 767 }, { 768 'uuid': gatt_char_desc_uuids['char_user_desc'], 769 'permissions': gatt_descriptor['permission_read'] | 770 gatt_descriptor['permission_write'], 771 }, { 772 'uuid': gatt_char_desc_uuids['char_valid_range'], 773 'permissions': gatt_descriptor['permission_read'], 774 }, 775 ] 776 }, 777 { 778 'uuid': '00002a77-0000-1000-8000-00805f9b34fb', 779 'properties': gatt_characteristic['property_read'] | 780 gatt_characteristic['property_notify'] | 781 gatt_characteristic['property_extended_props'], 782 'permissions': gatt_characteristic['permission_read'], 783 'value_type': gatt_characteristic_value_format['string'], 784 'value': 'body', 785 'descriptors': [{ 786 'uuid': '0000290c-0000-1000-8000-00805f9b34fb', 787 'permissions': gatt_descriptor['permission_read'] | 788 gatt_descriptor['permission_write'], 789 }, { 790 'uuid': '0000290d-0000-1000-8000-00805f9b34fb', 791 'permissions': gatt_descriptor['permission_read'] | 792 gatt_descriptor['permission_write'], 793 }, { 794 'uuid': '0000290b-0000-1000-8000-00805f9b34fb', 795 'permissions': gatt_descriptor['permission_read'] | 796 gatt_descriptor['permission_write'], 797 }, { 798 'uuid': gatt_char_desc_uuids['char_user_desc'], 799 'permissions': gatt_descriptor['permission_read'] | 800 gatt_descriptor['permission_write'], 801 }, { 802 'uuid': gatt_char_desc_uuids['char_valid_range'], 803 'permissions': gatt_descriptor['permission_read'], 804 }, 805 ] 806 }, 807 { 808 'uuid': '00002a75-0000-1000-8000-00805f9b34fb', 809 'properties': gatt_characteristic['property_read'] | 810 gatt_characteristic['property_notify'] | 811 gatt_characteristic['property_extended_props'], 812 'permissions': gatt_characteristic['permission_read'], 813 'value_type': gatt_characteristic_value_format['string'], 814 'value': 'body', 815 'descriptors': [{ 816 'uuid': '0000290c-0000-1000-8000-00805f9b34fb', 817 'permissions': gatt_descriptor['permission_read'] | 818 gatt_descriptor['permission_write'], 819 }, { 820 'uuid': '0000290d-0000-1000-8000-00805f9b34fb', 821 'permissions': gatt_descriptor['permission_read'] | 822 gatt_descriptor['permission_write'], 823 }, { 824 'uuid': '0000290b-0000-1000-8000-00805f9b34fb', 825 'permissions': gatt_descriptor['permission_read'] | 826 gatt_descriptor['permission_write'], 827 }, { 828 'uuid': gatt_char_desc_uuids['char_user_desc'], 829 'permissions': gatt_descriptor['permission_read'] | 830 gatt_descriptor['permission_write'], 831 }, { 832 'uuid': gatt_char_desc_uuids['char_valid_range'], 833 'permissions': gatt_descriptor['permission_read'], 834 }, 835 ] 836 }, 837 { 838 'uuid': '00002a78-0000-1000-8000-00805f9b34fb', 839 'properties': gatt_characteristic['property_read'] | 840 gatt_characteristic['property_notify'] | 841 gatt_characteristic['property_extended_props'], 842 'permissions': gatt_characteristic['permission_read'], 843 'value_type': gatt_characteristic_value_format['string'], 844 'value': 'body', 845 'descriptors': [{ 846 'uuid': '0000290c-0000-1000-8000-00805f9b34fb', 847 'permissions': gatt_descriptor['permission_read'] | 848 gatt_descriptor['permission_write'], 849 }, { 850 'uuid': '0000290d-0000-1000-8000-00805f9b34fb', 851 'permissions': gatt_descriptor['permission_read'] | 852 gatt_descriptor['permission_write'], 853 }, { 854 'uuid': '0000290b-0000-1000-8000-00805f9b34fb', 855 'permissions': gatt_descriptor['permission_read'] | 856 gatt_descriptor['permission_write'], 857 }, { 858 'uuid': gatt_char_desc_uuids['char_user_desc'], 859 'permissions': gatt_descriptor['permission_read'] | 860 gatt_descriptor['permission_write'], 861 }, { 862 'uuid': gatt_char_desc_uuids['char_valid_range'], 863 'permissions': gatt_descriptor['permission_read'], 864 }, 865 ] 866 }, 867 { 868 'uuid': '00002a6d-0000-1000-8000-00805f9b34fb', 869 'properties': gatt_characteristic['property_read'] | 870 gatt_characteristic['property_notify'] | 871 gatt_characteristic['property_extended_props'], 872 'permissions': gatt_characteristic['permission_read'], 873 'value_type': gatt_characteristic_value_format['string'], 874 'value': 'body', 875 'descriptors': [{ 876 'uuid': '0000290c-0000-1000-8000-00805f9b34fb', 877 'permissions': gatt_descriptor['permission_read'] | 878 gatt_descriptor['permission_write'], 879 }, { 880 'uuid': '0000290d-0000-1000-8000-00805f9b34fb', 881 'permissions': gatt_descriptor['permission_read'] | 882 gatt_descriptor['permission_write'], 883 }, { 884 'uuid': '0000290b-0000-1000-8000-00805f9b34fb', 885 'permissions': gatt_descriptor['permission_read'] | 886 gatt_descriptor['permission_write'], 887 }, { 888 'uuid': gatt_char_desc_uuids['char_user_desc'], 889 'permissions': gatt_descriptor['permission_read'] | 890 gatt_descriptor['permission_write'], 891 }, { 892 'uuid': gatt_char_desc_uuids['char_valid_range'], 893 'permissions': gatt_descriptor['permission_read'], 894 }, 895 ] 896 }, 897 { 898 'uuid': '00002a6e-0000-1000-8000-00805f9b34fb', 899 'properties': gatt_characteristic['property_read'] | 900 gatt_characteristic['property_notify'] | 901 gatt_characteristic['property_extended_props'], 902 'permissions': gatt_characteristic['permission_read'], 903 'value_type': gatt_characteristic_value_format['string'], 904 'value': 'body', 905 'descriptors': [{ 906 'uuid': '0000290c-0000-1000-8000-00805f9b34fb', 907 'permissions': gatt_descriptor['permission_read'] | 908 gatt_descriptor['permission_write'], 909 }, { 910 'uuid': '0000290d-0000-1000-8000-00805f9b34fb', 911 'permissions': gatt_descriptor['permission_read'] | 912 gatt_descriptor['permission_write'], 913 }, { 914 'uuid': '0000290b-0000-1000-8000-00805f9b34fb', 915 'permissions': gatt_descriptor['permission_read'] | 916 gatt_descriptor['permission_write'], 917 }, { 918 'uuid': gatt_char_desc_uuids['char_user_desc'], 919 'permissions': gatt_descriptor['permission_read'] | 920 gatt_descriptor['permission_write'], 921 }, { 922 'uuid': gatt_char_desc_uuids['char_valid_range'], 923 'permissions': gatt_descriptor['permission_read'], 924 }, 925 ] 926 }, 927 { 928 'uuid': '00002a71-0000-1000-8000-00805f9b34fb', 929 'properties': gatt_characteristic['property_read'] | 930 gatt_characteristic['property_notify'] | 931 gatt_characteristic['property_extended_props'], 932 'permissions': gatt_characteristic['permission_read'], 933 'value_type': gatt_characteristic_value_format['string'], 934 'value': 'body', 935 'descriptors': [{ 936 'uuid': '0000290c-0000-1000-8000-00805f9b34fb', 937 'permissions': gatt_descriptor['permission_read'] | 938 gatt_descriptor['permission_write'], 939 }, { 940 'uuid': '0000290d-0000-1000-8000-00805f9b34fb', 941 'permissions': gatt_descriptor['permission_read'] | 942 gatt_descriptor['permission_write'], 943 }, { 944 'uuid': '0000290b-0000-1000-8000-00805f9b34fb', 945 'permissions': gatt_descriptor['permission_read'] | 946 gatt_descriptor['permission_write'], 947 }, { 948 'uuid': gatt_char_desc_uuids['char_user_desc'], 949 'permissions': gatt_descriptor['permission_read'] | 950 gatt_descriptor['permission_write'], 951 }, { 952 'uuid': gatt_char_desc_uuids['char_valid_range'], 953 'permissions': gatt_descriptor['permission_read'], 954 }, 955 ] 956 }, 957 { 958 'uuid': '00002a76-0000-1000-8000-00805f9b34fb', 959 'properties': gatt_characteristic['property_read'] | 960 gatt_characteristic['property_notify'] | 961 gatt_characteristic['property_extended_props'], 962 'permissions': gatt_characteristic['permission_read'], 963 'value_type': gatt_characteristic_value_format['string'], 964 'value': 'body', 965 'descriptors': [{ 966 'uuid': '0000290c-0000-1000-8000-00805f9b34fb', 967 'permissions': gatt_descriptor['permission_read'] | 968 gatt_descriptor['permission_write'], 969 }, { 970 'uuid': '0000290d-0000-1000-8000-00805f9b34fb', 971 'permissions': gatt_descriptor['permission_read'] | 972 gatt_descriptor['permission_write'], 973 }, { 974 'uuid': '0000290b-0000-1000-8000-00805f9b34fb', 975 'permissions': gatt_descriptor['permission_read'] | 976 gatt_descriptor['permission_write'], 977 }, { 978 'uuid': gatt_char_desc_uuids['char_user_desc'], 979 'permissions': gatt_descriptor['permission_read'] | 980 gatt_descriptor['permission_write'], 981 }, { 982 'uuid': gatt_char_desc_uuids['char_valid_range'], 983 'permissions': gatt_descriptor['permission_read'], 984 }, 985 ] 986 }, 987 { 988 'uuid': '00002a79-0000-1000-8000-00805f9b34fb', 989 'properties': gatt_characteristic['property_read'] | 990 gatt_characteristic['property_notify'] | 991 gatt_characteristic['property_extended_props'], 992 'permissions': gatt_characteristic['permission_read'], 993 'value_type': gatt_characteristic_value_format['string'], 994 'value': 'body', 995 'descriptors': [{ 996 'uuid': '0000290c-0000-1000-8000-00805f9b34fb', 997 'permissions': gatt_descriptor['permission_read'] | 998 gatt_descriptor['permission_write'], 999 }, { 1000 'uuid': '0000290d-0000-1000-8000-00805f9b34fb', 1001 'permissions': gatt_descriptor['permission_read'] | 1002 gatt_descriptor['permission_write'], 1003 }, { 1004 'uuid': '0000290b-0000-1000-8000-00805f9b34fb', 1005 'permissions': gatt_descriptor['permission_read'] | 1006 gatt_descriptor['permission_write'], 1007 }, { 1008 'uuid': gatt_char_desc_uuids['char_user_desc'], 1009 'permissions': gatt_descriptor['permission_read'] | 1010 gatt_descriptor['permission_write'], 1011 }, { 1012 'uuid': gatt_char_desc_uuids['char_valid_range'], 1013 'permissions': gatt_descriptor['permission_read'], 1014 }, 1015 ] 1016 }, 1017 { 1018 'uuid': '00002aa3-0000-1000-8000-00805f9b34fb', 1019 'properties': gatt_characteristic['property_read'] | 1020 gatt_characteristic['property_notify'] | 1021 gatt_characteristic['property_extended_props'], 1022 'permissions': gatt_characteristic['permission_read'], 1023 'value_type': gatt_characteristic_value_format['string'], 1024 'value': 'body', 1025 'descriptors': [{ 1026 'uuid': '0000290c-0000-1000-8000-00805f9b34fb', 1027 'permissions': gatt_descriptor['permission_read'] | 1028 gatt_descriptor['permission_write'], 1029 }, { 1030 'uuid': '0000290d-0000-1000-8000-00805f9b34fb', 1031 'permissions': gatt_descriptor['permission_read'] | 1032 gatt_descriptor['permission_write'], 1033 }, { 1034 'uuid': '0000290b-0000-1000-8000-00805f9b34fb', 1035 'permissions': gatt_descriptor['permission_read'] | 1036 gatt_descriptor['permission_write'], 1037 }, { 1038 'uuid': gatt_char_desc_uuids['char_user_desc'], 1039 'permissions': gatt_descriptor['permission_read'] | 1040 gatt_descriptor['permission_write'], 1041 }, { 1042 'uuid': gatt_char_desc_uuids['char_valid_range'], 1043 'permissions': gatt_descriptor['permission_read'], 1044 }, 1045 ] 1046 }, 1047 { 1048 'uuid': '00002a2c-0000-1000-8000-00805f9b34fb', 1049 'properties': gatt_characteristic['property_read'] | 1050 gatt_characteristic['property_notify'] | 1051 gatt_characteristic['property_extended_props'], 1052 'permissions': gatt_characteristic['permission_read'], 1053 'value_type': gatt_characteristic_value_format['string'], 1054 'value': 'body', 1055 'descriptors': [{ 1056 'uuid': '0000290c-0000-1000-8000-00805f9b34fb', 1057 'permissions': gatt_descriptor['permission_read'] | 1058 gatt_descriptor['permission_write'], 1059 }, { 1060 'uuid': '0000290d-0000-1000-8000-00805f9b34fb', 1061 'permissions': gatt_descriptor['permission_read'] | 1062 gatt_descriptor['permission_write'], 1063 }, { 1064 'uuid': '0000290b-0000-1000-8000-00805f9b34fb', 1065 'permissions': gatt_descriptor['permission_read'] | 1066 gatt_descriptor['permission_write'], 1067 }, { 1068 'uuid': gatt_char_desc_uuids['char_user_desc'], 1069 'permissions': gatt_descriptor['permission_read'] | 1070 gatt_descriptor['permission_write'], 1071 }, { 1072 'uuid': gatt_char_desc_uuids['char_valid_range'], 1073 'permissions': gatt_descriptor['permission_read'], 1074 }, 1075 ] 1076 }, 1077 { 1078 'uuid': '00002aa0-0000-1000-8000-00805f9b34fb', 1079 'properties': gatt_characteristic['property_read'] | 1080 gatt_characteristic['property_notify'] | 1081 gatt_characteristic['property_extended_props'], 1082 'permissions': gatt_characteristic['permission_read'], 1083 'value_type': gatt_characteristic_value_format['string'], 1084 'value': 'body', 1085 'descriptors': [{ 1086 'uuid': '0000290c-0000-1000-8000-00805f9b34fb', 1087 'permissions': gatt_descriptor['permission_read'] | 1088 gatt_descriptor['permission_write'], 1089 }, { 1090 'uuid': '0000290d-0000-1000-8000-00805f9b34fb', 1091 'permissions': gatt_descriptor['permission_read'] | 1092 gatt_descriptor['permission_write'], 1093 }, { 1094 'uuid': '0000290b-0000-1000-8000-00805f9b34fb', 1095 'permissions': gatt_descriptor['permission_read'] | 1096 gatt_descriptor['permission_write'], 1097 }, { 1098 'uuid': gatt_char_desc_uuids['char_user_desc'], 1099 'permissions': gatt_descriptor['permission_read'] | 1100 gatt_descriptor['permission_write'], 1101 }, { 1102 'uuid': gatt_char_desc_uuids['char_valid_range'], 1103 'permissions': gatt_descriptor['permission_read'], 1104 }, 1105 ] 1106 }, 1107 { 1108 'uuid': '00002aa1-0000-1000-8000-00805f9b34fb', 1109 'properties': gatt_characteristic['property_read'] | 1110 gatt_characteristic['property_notify'] | 1111 gatt_characteristic['property_extended_props'], 1112 'permissions': gatt_characteristic['permission_read'], 1113 'value_type': gatt_characteristic_value_format['string'], 1114 'value': 'body', 1115 'descriptors': [{ 1116 'uuid': '0000290c-0000-1000-8000-00805f9b34fb', 1117 'permissions': gatt_descriptor['permission_read'] | 1118 gatt_descriptor['permission_write'], 1119 }, { 1120 'uuid': '0000290d-0000-1000-8000-00805f9b34fb', 1121 'permissions': gatt_descriptor['permission_read'] | 1122 gatt_descriptor['permission_write'], 1123 }, { 1124 'uuid': '0000290b-0000-1000-8000-00805f9b34fb', 1125 'permissions': gatt_descriptor['permission_read'] | 1126 gatt_descriptor['permission_write'], 1127 }, { 1128 'uuid': gatt_char_desc_uuids['char_user_desc'], 1129 'permissions': gatt_descriptor['permission_read'] | 1130 gatt_descriptor['permission_write'], 1131 }, { 1132 'uuid': gatt_char_desc_uuids['char_valid_range'], 1133 'permissions': gatt_descriptor['permission_read'], 1134 }, 1135 ] 1136 }, 1137 1138 ] 1139 }] 1140} 1141 1142# https://www.bluetooth.com/specifications/gatt/viewer?attributeXmlFile=org.bluetooth.service.fitness_machine.xml 1143FITNESS_MACHINE_SERVICE = { 1144 'services': [{ 1145 'uuid': '00001826-0000-1000-8000-00805f9b34fb', 1146 'type': gatt_service_types['primary'], 1147 'characteristics': [{ 1148 'uuid': '00002acc-0000-1000-8000-00805f9b34fb', 1149 'properties': gatt_characteristic['property_read'], 1150 'permissions': gatt_characteristic['permission_read'], 1151 'value_type': gatt_characteristic_value_format['string'], 1152 'value': 'test' 1153 }, { 1154 'uuid': '00002acd-0000-1000-8000-00805f9b34fb', 1155 'properties': gatt_characteristic['property_notify'], 1156 'permissions': gatt_characteristic['permission_read'], 1157 'value_type': gatt_characteristic_value_format['string'], 1158 'value': 'test', 1159 'descriptors': [{ 1160 'uuid': gatt_char_desc_uuids['client_char_cfg'] 1161 }] 1162 }, { 1163 'uuid': '00002ace-0000-1000-8000-00805f9b34fb', 1164 'properties': gatt_characteristic['property_notify'], 1165 'permissions': gatt_characteristic['permission_read'], 1166 'value_type': gatt_characteristic_value_format['string'], 1167 'value': 'test', 1168 'descriptors': [{ 1169 'uuid': gatt_char_desc_uuids['client_char_cfg'] 1170 }] 1171 }, { 1172 'uuid': '00002acf-0000-1000-8000-00805f9b34fb', 1173 'properties': gatt_characteristic['property_notify'], 1174 'permissions': gatt_characteristic['permission_read'], 1175 'value_type': gatt_characteristic_value_format['string'], 1176 'value': 'test', 1177 'descriptors': [{ 1178 'uuid': gatt_char_desc_uuids['client_char_cfg'] 1179 }] 1180 }, { 1181 'uuid': '00002ad0-0000-1000-8000-00805f9b34fb', 1182 'properties': gatt_characteristic['property_notify'], 1183 'permissions': gatt_characteristic['permission_read'], 1184 'value_type': gatt_characteristic_value_format['string'], 1185 'value': 'test', 1186 'descriptors': [{ 1187 'uuid': gatt_char_desc_uuids['client_char_cfg'] 1188 }] 1189 }, { 1190 'uuid': '00002ad1-0000-1000-8000-00805f9b34fb', 1191 'properties': gatt_characteristic['property_notify'], 1192 'permissions': gatt_characteristic['permission_read'], 1193 'value_type': gatt_characteristic_value_format['string'], 1194 'value': 'test', 1195 'descriptors': [{ 1196 'uuid': gatt_char_desc_uuids['client_char_cfg'] 1197 }] 1198 }, { 1199 'uuid': '00002ad2-0000-1000-8000-00805f9b34fb', 1200 'properties': gatt_characteristic['property_notify'], 1201 'permissions': gatt_characteristic['permission_read'], 1202 'value_type': gatt_characteristic_value_format['string'], 1203 'value': 'test', 1204 'descriptors': [{ 1205 'uuid': gatt_char_desc_uuids['client_char_cfg'] 1206 }] 1207 }, { 1208 'uuid': '00002ad3-0000-1000-8000-00805f9b34fb', 1209 'properties': gatt_characteristic['property_notify'], 1210 'permissions': gatt_characteristic['permission_read'], 1211 'value_type': gatt_characteristic_value_format['string'], 1212 'value': 'test', 1213 'descriptors': [{ 1214 'uuid': gatt_char_desc_uuids['client_char_cfg'] 1215 }] 1216 }, { 1217 'uuid': '00002ad4-0000-1000-8000-00805f9b34fb', 1218 'properties': gatt_characteristic['property_read'], 1219 'permissions': gatt_characteristic['permission_read'], 1220 'value_type': gatt_characteristic_value_format['string'], 1221 'value': 'test' 1222 }, { 1223 'uuid': '00002ad5-0000-1000-8000-00805f9b34fb', 1224 'properties': gatt_characteristic['property_read'], 1225 'permissions': gatt_characteristic['permission_read'], 1226 'value_type': gatt_characteristic_value_format['string'], 1227 'value': 'test' 1228 }, { 1229 'uuid': '00002ad6-0000-1000-8000-00805f9b34fb', 1230 'properties': gatt_characteristic['property_read'], 1231 'permissions': gatt_characteristic['permission_read'], 1232 'value_type': gatt_characteristic_value_format['string'], 1233 'value': 'test', 1234 }, { 1235 'uuid': '00002ad8-0000-1000-8000-00805f9b34fb', 1236 'properties': gatt_characteristic['property_read'], 1237 'permissions': gatt_characteristic['permission_read'], 1238 'value_type': gatt_characteristic_value_format['string'], 1239 'value': 'test' 1240 }, { 1241 'uuid': '00002ad7-0000-1000-8000-00805f9b34fb', 1242 'properties': gatt_characteristic['property_notify'], 1243 'permissions': gatt_characteristic['permission_read'], 1244 'value_type': gatt_characteristic_value_format['string'], 1245 'value': 'test' 1246 }, { 1247 'uuid': '00002ad9-0000-1000-8000-00805f9b34fb', 1248 'properties': gatt_characteristic['property_indicate'], 1249 'permissions': gatt_characteristic['permission_read'], 1250 'value_type': gatt_characteristic_value_format['string'], 1251 'value': 'test', 1252 'descriptors': [{ 1253 'uuid': gatt_char_desc_uuids['client_char_cfg'] 1254 }] 1255 }, { 1256 'uuid': '00002ada-0000-1000-8000-00805f9b34fb', 1257 'properties': gatt_characteristic['property_indicate'], 1258 'permissions': gatt_characteristic['permission_read'], 1259 'value_type': gatt_characteristic_value_format['string'], 1260 'value': 'test', 1261 'descriptors': [{ 1262 'uuid': gatt_char_desc_uuids['client_char_cfg'] 1263 }] 1264 } 1265 1266 1267 ] 1268 }] 1269} 1270 1271# https://www.bluetooth.com/specifications/gatt/viewer?attributeXmlFile=org.bluetooth.service.glucose.xml 1272GLUCOSE_SERVICE = { 1273 'services': [{ 1274 'uuid': '00001808-0000-1000-8000-00805f9b34fb', 1275 'type': gatt_service_types['primary'], 1276 'characteristics': [{ 1277 'uuid': '00002a18-0000-1000-8000-00805f9b34fb', 1278 'properties': gatt_characteristic['property_notify'], 1279 'permissions': gatt_characteristic['permission_read'], 1280 'value_type': gatt_characteristic_value_format['string'], 1281 'value': 'test', 1282 'descriptors': [{ 1283 'uuid': gatt_char_desc_uuids['client_char_cfg'], 1284 }] 1285 }, { 1286 'uuid': '00002a34-0000-1000-8000-00805f9b34fb', 1287 'properties': gatt_characteristic['property_read'], 1288 'permissions': gatt_characteristic['permission_read'], 1289 'value_type': gatt_characteristic_value_format['string'], 1290 'value': 'test', 1291 'descriptors': [{ 1292 'uuid': gatt_char_desc_uuids['client_char_cfg'] 1293 }] 1294 }, { 1295 'uuid': '00002a51-0000-1000-8000-00805f9b34fb', 1296 'properties': gatt_characteristic['property_read'], 1297 'permissions': gatt_characteristic['permission_read'], 1298 'value_type': gatt_characteristic_value_format['string'], 1299 'value': 'test', 1300 }, { 1301 'uuid': '00002a52-0000-1000-8000-00805f9b34fb', 1302 'properties': gatt_characteristic['property_indicate'] | 1303 gatt_characteristic['property_write'], 1304 'permissions': gatt_characteristic['permission_write'], 1305 'value_type': gatt_characteristic_value_format['string'], 1306 'value': 'test', 1307 'descriptors': [{ 1308 'uuid': gatt_char_desc_uuids['client_char_cfg'] 1309 }] 1310 }] 1311 }] 1312} 1313 1314# https://www.bluetooth.com/specifications/gatt/viewer?attributeXmlFile=org.bluetooth.service.health_thermometer.xml 1315HEALTH_THERMOMETER_SERVICE = { 1316 'services': [{ 1317 'uuid': '00001809-0000-1000-8000-00805f9b34fb', 1318 'type': gatt_service_types['primary'], 1319 'characteristics': [{ 1320 'uuid': '00002a1c-0000-1000-8000-00805f9b34fb', 1321 'properties': gatt_characteristic['property_notify'], 1322 'permissions': gatt_characteristic['permission_read'], 1323 'value_type': gatt_characteristic_value_format['string'], 1324 'value': 'test', 1325 'descriptors': [{ 1326 'uuid': gatt_char_desc_uuids['client_char_cfg'], 1327 }] 1328 }, { 1329 'uuid': '00002a1d-0000-1000-8000-00805f9b34fb', 1330 'properties': gatt_characteristic['property_read'], 1331 'permissions': gatt_characteristic['permission_read'], 1332 'value_type': gatt_characteristic_value_format['string'], 1333 'value': 'test', 1334 'descriptors': [{ 1335 'uuid': gatt_char_desc_uuids['client_char_cfg'] 1336 }] 1337 }, { 1338 'uuid': '00002a1e-0000-1000-8000-00805f9b34fb', 1339 'properties': gatt_characteristic['property_read'], 1340 'permissions': gatt_characteristic['permission_read'], 1341 'value_type': gatt_characteristic_value_format['string'], 1342 'value': 'test', 1343 }, { 1344 'uuid': '00002a21-0000-1000-8000-00805f9b34fb', 1345 'properties': gatt_characteristic['property_indicate'] | 1346 gatt_characteristic['property_write'] | 1347 gatt_characteristic['property_read'], 1348 'permissions': gatt_characteristic['permission_write'], 1349 'value_type': gatt_characteristic_value_format['string'], 1350 'value': 'test', 1351 'descriptors': [{ 1352 'uuid': gatt_char_desc_uuids['client_char_cfg'] 1353 }, { 1354 'uuid': gatt_char_desc_uuids['char_valid_range'], 1355 'permissions': gatt_descriptor['permission_read'], 1356 }] 1357 }] 1358 }] 1359} 1360 1361# https://www.bluetooth.com/specifications/gatt/viewer?attributeXmlFile=org.bluetooth.service.heart_rate.xml 1362HEART_RATE_SERVICE = { 1363 'services': [{ 1364 'uuid': '0000180d-0000-1000-8000-00805f9b34fb', 1365 'type': gatt_service_types['primary'], 1366 'characteristics': [{ 1367 'uuid': '00002a37-0000-1000-8000-00805f9b34fb', 1368 'properties': gatt_characteristic['property_notify'], 1369 'permissions': gatt_characteristic['permission_read'], 1370 'value_type': gatt_characteristic_value_format['string'], 1371 'value': 'test', 1372 'descriptors': [{ 1373 'uuid': gatt_char_desc_uuids['client_char_cfg'] 1374 }] 1375 }, { 1376 'uuid': '00002a38-0000-1000-8000-00805f9b34fb', 1377 'properties': gatt_characteristic['property_read'], 1378 'permissions': gatt_characteristic['permission_read'], 1379 'value_type': gatt_characteristic_value_format['string'], 1380 'value': 'body', 1381 }, { 1382 'uuid': '00002a39-0000-1000-8000-00805f9b34fb', 1383 'properties': gatt_characteristic['property_write'], 1384 'permissions': gatt_characteristic['permission_write'], 1385 'value_type': gatt_characteristic_value_format['sint8'], 1386 'value': 1, 1387 }] 1388 }] 1389} 1390 1391# https://www.bluetooth.com/specifications/gatt/viewer?attributeXmlFile=org.bluetooth.service.http_proxy.xml 1392HTTP_PROXY_SERVICE = { 1393 'services': [{ 1394 'uuid': '00001823-0000-1000-8000-00805f9b34fb', 1395 'type': gatt_service_types['primary'], 1396 'characteristics': [{ 1397 'uuid': '00002ab6-0000-1000-8000-00805f9b34fb', 1398 'properties': gatt_characteristic['property_write'], 1399 'permissions': gatt_characteristic['property_write'], 1400 'value_type': gatt_characteristic_value_format['string'], 1401 'value': 'test', 1402 }, { 1403 'uuid': '00002ab7-0000-1000-8000-00805f9b34fb', 1404 'properties': gatt_characteristic['property_read'] | 1405 gatt_characteristic['property_write'], 1406 'permissions': gatt_characteristic['permission_read'] | 1407 gatt_characteristic['permission_write'], 1408 'value_type': gatt_characteristic_value_format['string'], 1409 'value': 'body', 1410 }, { 1411 'uuid': '00002ab9-0000-1000-8000-00805f9b34fb', 1412 'properties': gatt_characteristic['property_read'] | 1413 gatt_characteristic['property_write'], 1414 'permissions': gatt_characteristic['permission_read'] | 1415 gatt_characteristic['permission_write'], 1416 'value_type': gatt_characteristic_value_format['sint8'], 1417 'value': 8, 1418 }, { 1419 'uuid': '00002aba-0000-1000-8000-00805f9b34fb', 1420 'properties': gatt_characteristic['property_write'], 1421 'permissions': gatt_characteristic['permission_write'], 1422 'value_type': gatt_characteristic_value_format['sint8'], 1423 'value': 8, 1424 }, { 1425 'uuid': '00002ab8-0000-1000-8000-00805f9b34fb', 1426 'properties': gatt_characteristic['property_notify'], 1427 'permissions': gatt_characteristic['permission_read'], 1428 'value_type': gatt_characteristic_value_format['sint8'], 1429 'value': 2, 1430 }, { 1431 'uuid': '00002abb-0000-1000-8000-00805f9b34fb', 1432 'properties': gatt_characteristic['property_read'], 1433 'permissions': gatt_characteristic['permission_read'], 1434 'value_type': gatt_characteristic_value_format['sint8'], 1435 'value': 1, 1436 }, 1437 ] 1438 }] 1439} 1440 1441# https://www.bluetooth.com/specifications/gatt/viewer?attributeXmlFile=org.bluetooth.service.human_interface_device.xml 1442HUMAN_INTERFACE_DEVICE_SERVICE = { 1443 'services': [{ 1444 'uuid': '00001812-0000-1000-8000-00805f9b34fb', 1445 'type': gatt_service_types['primary'], 1446 'characteristics': [{ 1447 'uuid': '00002a4e-0000-1000-8000-00805f9b34fb', 1448 'properties': gatt_characteristic['property_read'] | 1449 gatt_characteristic['property_write_no_response'], 1450 'permissions': gatt_characteristic['permission_read'] | 1451 gatt_characteristic['permission_write'], 1452 'value_type': gatt_characteristic_value_format['string'], 1453 'value': 'test', 1454 }, { 1455 'uuid': '00002a4d-0000-1000-8000-00805f9b34fb', 1456 'properties': gatt_characteristic['property_read'] | 1457 gatt_characteristic['property_notify'], 1458 'permissions': gatt_characteristic['permission_read'] | 1459 gatt_characteristic['permission_write'], 1460 'value_type': gatt_characteristic_value_format['string'], 1461 'value': 'body', 1462 'descriptors': [{ 1463 'uuid': gatt_char_desc_uuids['client_char_cfg'] 1464 }, { 1465 'uuid': '00002908-0000-1000-8000-00805f9b34fb', 1466 'permissions': gatt_descriptor['permission_read'] | 1467 gatt_descriptor['permission_write'], 1468 }] 1469 }, { 1470 'uuid': '00002a4b-0000-1000-8000-00805f9b34fb', 1471 'properties': gatt_characteristic['property_read'], 1472 'permissions': gatt_characteristic['permission_read'], 1473 'value_type': gatt_characteristic_value_format['sint8'], 1474 'value': 1, 1475 'descriptors': [{ 1476 'uuid': '00002907-0000-1000-8000-00805f9b34fb', 1477 'permissions': gatt_descriptor['permission_read'], 1478 }] 1479 }, { 1480 'uuid': '00002a22-0000-1000-8000-00805f9b34fb', 1481 'properties': gatt_characteristic['property_read'] | 1482 gatt_characteristic['property_notify'], 1483 'permissions': gatt_characteristic['permission_read'], 1484 'value_type': gatt_characteristic_value_format['sint8'], 1485 'value': 1, 1486 'descriptors': [{ 1487 'uuid': gatt_char_desc_uuids['client_char_cfg'] 1488 }] 1489 },{ 1490 'uuid': '00002a32-0000-1000-8000-00805f9b34fb', 1491 'properties': gatt_characteristic['property_write'] | 1492 gatt_characteristic['property_read'] | 1493 gatt_characteristic['property_write_no_response'], 1494 'permissions': gatt_characteristic['permission_write'] | 1495 gatt_characteristic['permission_read'], 1496 'value_type': gatt_characteristic_value_format['sint8'], 1497 'value': 1, 1498 }, { 1499 'uuid': '00002a33-0000-1000-8000-00805f9b34fb', 1500 'properties': gatt_characteristic['property_read'] | 1501 gatt_characteristic['property_notify'], 1502 'permissions': gatt_characteristic['permission_read'], 1503 'value_type': gatt_characteristic_value_format['sint8'], 1504 'value': 1, 1505 'descriptors': [{ 1506 'uuid': gatt_char_desc_uuids['client_char_cfg'] 1507 }] 1508 }, { 1509 'uuid': '00002a4a-0000-1000-8000-00805f9b34fb', 1510 'properties': gatt_characteristic['property_read'], 1511 'permissions': gatt_characteristic['permission_read'], 1512 'value_type': gatt_characteristic_value_format['sint8'], 1513 'value': 1, 1514 }, { 1515 'uuid': '00002a4c-0000-1000-8000-00805f9b34fb', 1516 'properties': gatt_characteristic['property_write_no_response'], 1517 'permissions': gatt_characteristic['permission_write'], 1518 'value_type': gatt_characteristic_value_format['sint8'], 1519 'value': 0, 1520 } 1521 ] 1522 }] 1523} 1524 1525# https://www.bluetooth.com/specifications/gatt/viewer?attributeXmlFile=org.bluetooth.service.immediate_alert.xml 1526IMMEDIATE_ALERT_SERVICE = { 1527 'services': [{ 1528 'uuid': '0000180d-0000-1000-8000-00805f9b34fb', 1529 'type': gatt_service_types['primary'], 1530 'characteristics': [{ 1531 'uuid': '00002a06-0000-1000-8000-00805f9b34fb', 1532 'properties': gatt_characteristic['property_notify'], 1533 'permissions': gatt_characteristic['permission_read'], 1534 'value_type': gatt_characteristic_value_format['string'], 1535 'value': 'test', 1536 }] 1537 }] 1538} 1539 1540# https://www.bluetooth.com/specifications/gatt/viewer?attributeXmlFile=org.bluetooth.service.indoor_positioning.xml 1541INDOOR_POSITIONING_SERVICE = { 1542 'services': [{ 1543 'uuid': '00001821-0000-1000-8000-00805f9b34fb', 1544 'type': gatt_service_types['primary'], 1545 'characteristics': [{ 1546 'uuid': '00002a06-0000-1000-8000-00805f9b34fb', 1547 'properties': gatt_characteristic['property_write_no_response'] | 1548 gatt_characteristic['property_read'], 1549 'permissions': gatt_characteristic['permission_read'] | 1550 gatt_characteristic['permission_write_signed_mitm'], 1551 'value_type': gatt_characteristic_value_format['string'], 1552 'value': 'test', 1553 }, { 1554 'uuid': '00002a38-0000-1000-8000-00805f9b34fb', 1555 'properties': gatt_characteristic['property_write_no_response'] | 1556 gatt_characteristic['property_read'] | gatt_characteristic['property_broadcast'], 1557 'permissions': gatt_characteristic['permission_read'] | 1558 gatt_characteristic['permission_write_signed_mitm'], 1559 'value_type': gatt_characteristic_value_format['string'], 1560 'value': 'body', 1561 'descriptors': [{ 1562 'uuid': gatt_char_desc_uuids['server_char_cfg'] 1563 }] 1564 }, { 1565 'uuid': '00002aad-0000-1000-8000-00805f9b34fb', 1566 'properties': gatt_characteristic['property_write_no_response'] | 1567 gatt_characteristic['property_read'] | gatt_characteristic['property_broadcast'], 1568 'permissions': gatt_characteristic['permission_read'] | 1569 gatt_characteristic['permission_write_signed_mitm'], 1570 'value_type': gatt_characteristic_value_format['sint8'], 1571 'value': 1, 1572 'descriptors': [{ 1573 'uuid': gatt_char_desc_uuids['server_char_cfg'] 1574 }] 1575 }, { 1576 'uuid': '00002aae-0000-1000-8000-00805f9b34fb', 1577 'properties': gatt_characteristic['property_write_no_response'] | 1578 gatt_characteristic['property_read'] | gatt_characteristic['property_broadcast'], 1579 'permissions': gatt_characteristic['permission_read'] | 1580 gatt_characteristic['permission_write_signed_mitm'], 1581 'value_type': gatt_characteristic_value_format['sint8'], 1582 'value': 1, 1583 'descriptors': [{ 1584 'uuid': gatt_char_desc_uuids['server_char_cfg'] 1585 }] 1586 }, { 1587 'uuid': '00002aaf-0000-1000-8000-00805f9b34fb', 1588 'properties': gatt_characteristic['property_write_no_response'] | 1589 gatt_characteristic['property_read'] | gatt_characteristic['property_broadcast'], 1590 'permissions': gatt_characteristic['permission_read'] | 1591 gatt_characteristic['permission_write_signed_mitm'], 1592 'value_type': gatt_characteristic_value_format['sint8'], 1593 'value': 1, 1594 'descriptors': [{ 1595 'uuid': gatt_char_desc_uuids['server_char_cfg'] 1596 }] 1597 }, { 1598 'uuid': '00002ab0-0000-1000-8000-00805f9b34fb', 1599 'properties': gatt_characteristic['property_write_no_response'] | 1600 gatt_characteristic['property_read'] | gatt_characteristic['property_broadcast'], 1601 'permissions': gatt_characteristic['permission_read'] | 1602 gatt_characteristic['permission_write_signed_mitm'], 1603 'value_type': gatt_characteristic_value_format['sint8'], 1604 'value': 1, 1605 'descriptors': [{ 1606 'uuid': gatt_char_desc_uuids['server_char_cfg'] 1607 }] 1608 }, { 1609 'uuid': '00002ab1-0000-1000-8000-00805f9b34fb', 1610 'properties': gatt_characteristic['property_write_no_response'] | 1611 gatt_characteristic['property_read'] | gatt_characteristic['property_broadcast'], 1612 'permissions': gatt_characteristic['permission_read'] | 1613 gatt_characteristic['permission_write_signed_mitm'], 1614 'value_type': gatt_characteristic_value_format['sint8'], 1615 'value': 1, 1616 'descriptors': [{ 1617 'uuid': gatt_char_desc_uuids['server_char_cfg'] 1618 }] 1619 }, { 1620 'uuid': '00002ab2-0000-1000-8000-00805f9b34fb', 1621 'properties': gatt_characteristic['property_write_no_response'] | 1622 gatt_characteristic['property_read'] | gatt_characteristic['property_broadcast'], 1623 'permissions': gatt_characteristic['permission_read'] | 1624 gatt_characteristic['permission_write_signed_mitm'], 1625 'value_type': gatt_characteristic_value_format['sint8'], 1626 'value': 1, 1627 'descriptors': [{ 1628 'uuid': gatt_char_desc_uuids['server_char_cfg'] 1629 }] 1630 }, { 1631 'uuid': '00002ab3-0000-1000-8000-00805f9b34fb', 1632 'properties': gatt_characteristic['property_write_no_response'] | 1633 gatt_characteristic['property_read'] | gatt_characteristic['property_broadcast'], 1634 'permissions': gatt_characteristic['permission_read'] | 1635 gatt_characteristic['permission_write_signed_mitm'], 1636 'value_type': gatt_characteristic_value_format['sint8'], 1637 'value': 1, 1638 'descriptors': [{ 1639 'uuid': gatt_char_desc_uuids['server_char_cfg'] 1640 }] 1641 }, { 1642 'uuid': '00002ab4-0000-1000-8000-00805f9b34fb', 1643 'properties': gatt_characteristic['property_write_no_response'] | 1644 gatt_characteristic['property_read'] | gatt_characteristic['property_broadcast'], 1645 'permissions': gatt_characteristic['permission_read'] | 1646 gatt_characteristic['permission_write_signed_mitm'], 1647 'value_type': gatt_characteristic_value_format['sint8'], 1648 'value': 1, 1649 'descriptors': [{ 1650 'uuid': gatt_char_desc_uuids['server_char_cfg'] 1651 }] 1652 }, { 1653 'uuid': '00002ab5-0000-1000-8000-00805f9b34fb', 1654 'properties': gatt_characteristic['property_write_no_response'] | 1655 gatt_characteristic['property_read'] | gatt_characteristic['property_broadcast'], 1656 'permissions': gatt_characteristic['permission_read'] | 1657 gatt_characteristic['permission_write_signed_mitm'], 1658 'value_type': gatt_characteristic_value_format['sint8'], 1659 'value': 1, 1660 'descriptors': [{ 1661 'uuid': gatt_char_desc_uuids['server_char_cfg'] 1662 }] 1663 } 1664 ] 1665 }] 1666} 1667 1668# https://www.bluetooth.com/specifications/gatt/viewer?attributeXmlFile=org.bluetooth.service.insulin_delivery.xml 1669INSULIN_DELIVERY_SERVICE = { 1670 'services': [{ 1671 'uuid': '0000183a-0000-1000-8000-00805f9b34fb', 1672 'type': gatt_service_types['primary'], 1673 'characteristics': [{ 1674 'uuid': '00002b20-0000-1000-8000-00805f9b34fb', 1675 'properties': gatt_characteristic['property_read'] | 1676 gatt_characteristic['property_indicate'], 1677 'permissions': gatt_characteristic['permission_read_encrypted_mitm'], 1678 'value_type': gatt_characteristic_value_format['string'], 1679 'value': 'test', 1680 'descriptors': [{ 1681 'uuid': gatt_char_desc_uuids['client_char_cfg'] 1682 }] 1683 }, { 1684 'uuid': '00002b21-0000-1000-8000-00805f9b34fb', 1685 'properties': gatt_characteristic['property_read'] | 1686 gatt_characteristic['property_indicate'], 1687 'permissions': gatt_characteristic['permission_read_encrypted_mitm'], 1688 'value_type': gatt_characteristic_value_format['string'], 1689 'value': 'body', 1690 'descriptors': [{ 1691 'uuid': gatt_char_desc_uuids['client_char_cfg'] 1692 }] 1693 }, { 1694 'uuid': '00002b22-0000-1000-8000-00805f9b34fb', 1695 'properties': gatt_characteristic['property_read'] | 1696 gatt_characteristic['property_indicate'], 1697 'permissions': gatt_characteristic['permission_read_encrypted_mitm'], 1698 'value_type': gatt_characteristic_value_format['sint8'], 1699 'value': 1, 1700 'descriptors': [{ 1701 'uuid': gatt_char_desc_uuids['client_char_cfg'] 1702 }] 1703 }, { 1704 'uuid': '00002b23-0000-1000-8000-00805f9b34fb', 1705 'properties': gatt_characteristic['property_read'], 1706 'permissions': gatt_characteristic['permission_read_encrypted_mitm'], 1707 'value_type': gatt_characteristic_value_format['sint8'], 1708 'value': 1 1709 }, { 1710 'uuid': '00002b24-0000-1000-8000-00805f9b34fb', 1711 'properties': gatt_characteristic['property_write'] | 1712 gatt_characteristic['property_indicate'], 1713 'permissions': gatt_characteristic['permission_write_encrypted_mitm'], 1714 'value_type': gatt_characteristic_value_format['sint8'], 1715 'value': 1, 1716 'descriptors': [{ 1717 'uuid': gatt_char_desc_uuids['client_char_cfg'] 1718 }] 1719 }, { 1720 'uuid': '00002b25-0000-1000-8000-00805f9b34fb', 1721 'properties': gatt_characteristic['property_write'] | 1722 gatt_characteristic['property_indicate'], 1723 'permissions': gatt_characteristic['permission_write_encrypted_mitm'], 1724 'value_type': gatt_characteristic_value_format['sint8'], 1725 'value': 1, 1726 'descriptors': [{ 1727 'uuid': gatt_char_desc_uuids['client_char_cfg'] 1728 }] 1729 }, { 1730 'uuid': '00002b26-0000-1000-8000-00805f9b34fb', 1731 'properties': gatt_characteristic['property_notify'], 1732 'permissions': 0x0, 1733 'value_type': gatt_characteristic_value_format['sint8'], 1734 'value': 1, 1735 'descriptors': [{ 1736 'uuid': gatt_char_desc_uuids['client_char_cfg'] 1737 }] 1738 }, { 1739 'uuid': '00002b27-0000-1000-8000-00805f9b34fb', 1740 'properties': gatt_characteristic['property_write'] | 1741 gatt_characteristic['property_indicate'], 1742 'permissions': gatt_characteristic['permission_write_encrypted_mitm'], 1743 'value_type': gatt_characteristic_value_format['sint8'], 1744 'value': 1, 1745 'descriptors': [{ 1746 'uuid': gatt_char_desc_uuids['client_char_cfg'] 1747 }] 1748 }, { 1749 'uuid': '00002b28-0000-1000-8000-00805f9b34fb', 1750 'properties': gatt_characteristic['property_notify'], 1751 'permissions': 0x0, 1752 'value_type': gatt_characteristic_value_format['sint8'], 1753 'value': 1, 1754 'descriptors': [{ 1755 'uuid': gatt_char_desc_uuids['client_char_cfg'] 1756 }] 1757 } 1758 ] 1759 }] 1760} 1761 1762# https://www.bluetooth.com/specifications/gatt/viewer?attributeXmlFile=org.bluetooth.service.internet_protocol_support.xml 1763INTERNET_PROTOCOL_SUPPORT_SERVICE = { 1764 'services': [{ 1765 'uuid': '00001820-0000-1000-8000-00805f9b34fb', 1766 'type': gatt_service_types['primary'], 1767 }] 1768} 1769 1770# https://www.bluetooth.com/specifications/gatt/viewer?attributeXmlFile=org.bluetooth.service.link_loss.xml 1771LINK_LOSS_SERVICE = { 1772 'services': [{ 1773 'uuid': '00001803-0000-1000-8000-00805f9b34fb', 1774 'type': gatt_service_types['primary'], 1775 'characteristics': [{ 1776 'uuid': '00002a06-0000-1000-8000-00805f9b34fb', 1777 'properties': gatt_characteristic['property_write'] | 1778 gatt_characteristic['property_read'], 1779 'permissions': gatt_characteristic['permission_read'] | 1780 gatt_characteristic['permission_write'], 1781 'value_type': gatt_characteristic_value_format['string'], 1782 'value': 'test', 1783 }] 1784 }] 1785} 1786 1787# https://www.bluetooth.com/specifications/gatt/viewer?attributeXmlFile=org.bluetooth.service.location_and_navigation.xml 1788LOCATION_AND_NAVIGATION_SERVICE = { 1789 'services': [{ 1790 'uuid': '00001819-0000-1000-8000-00805f9b34fb', 1791 'type': gatt_service_types['primary'], 1792 'characteristics': [{ 1793 'uuid': '00002a6a-0000-1000-8000-00805f9b34fb', 1794 'properties': gatt_characteristic['property_read'], 1795 'permissions': gatt_characteristic['permission_read'], 1796 'value_type': gatt_characteristic_value_format['string'], 1797 'value': 'test', 1798 }, { 1799 'uuid': '00002a67-0000-1000-8000-00805f9b34fb', 1800 'properties': gatt_characteristic['property_notify'], 1801 'permissions': 0x0, 1802 'value_type': gatt_characteristic_value_format['string'], 1803 'value': 'body', 1804 'descriptors': [{ 1805 'uuid': gatt_char_desc_uuids['client_char_cfg'] 1806 }] 1807 }, { 1808 'uuid': '00002a69-0000-1000-8000-00805f9b34fb', 1809 'properties': gatt_characteristic['property_read'], 1810 'permissions': gatt_characteristic['permission_read'], 1811 'value_type': gatt_characteristic_value_format['sint8'], 1812 'value': 1, 1813 }, { 1814 'uuid': '00002a6b-0000-1000-8000-00805f9b34fb', 1815 'properties': gatt_characteristic['property_write'] | 1816 gatt_characteristic['property_indicate'], 1817 'permissions': gatt_characteristic['permission_write'], 1818 'value_type': gatt_characteristic_value_format['sint8'], 1819 'value': 1, 1820 'descriptors': [{ 1821 'uuid': gatt_char_desc_uuids['client_char_cfg'] 1822 }] 1823 }, { 1824 'uuid': '00002a68-0000-1000-8000-00805f9b34fb', 1825 'properties': gatt_characteristic['property_notify'], 1826 'permissions': 0x0, 1827 'value_type': gatt_characteristic_value_format['sint8'], 1828 'value': 1, 1829 'descriptors': [{ 1830 'uuid': gatt_char_desc_uuids['client_char_cfg'] 1831 }] 1832 }, 1833 ] 1834 }] 1835} 1836 1837# https://www.bluetooth.com/specifications/gatt/viewer?attributeXmlFile=org.bluetooth.service.mesh_provisioning.xml 1838MESH_PROVISIONING_SERVICE = { 1839 'services': [{ 1840 'uuid': '00001827-0000-1000-8000-00805f9b34fb', 1841 'type': gatt_service_types['primary'], 1842 'characteristics': [{ 1843 'uuid': '00002adb-0000-1000-8000-00805f9b34fb', 1844 'properties': gatt_characteristic['property_write_no_response'], 1845 'permissions': 0x0, 1846 'value_type': gatt_characteristic_value_format['string'], 1847 'value': 'test', 1848 }, { 1849 'uuid': '00002adc-0000-1000-8000-00805f9b34fb', 1850 'properties': gatt_characteristic['property_notify'], 1851 'permissions': 0x0, 1852 'value_type': gatt_characteristic_value_format['sint8'], 1853 'descriptors': [{ 1854 'uuid': gatt_char_desc_uuids['client_char_cfg'] 1855 }] 1856 }, 1857 ] 1858 }] 1859} 1860 1861# https://www.bluetooth.com/specifications/gatt/viewer?attributeXmlFile=org.bluetooth.service.mesh_proxy.xml 1862MESH_PROXY_SERVICE = { 1863 'services': [{ 1864 'uuid': '00001828-0000-1000-8000-00805f9b34fb', 1865 'type': gatt_service_types['primary'], 1866 'characteristics': [{ 1867 'uuid': '00002add-0000-1000-8000-00805f9b34fb', 1868 'properties': gatt_characteristic['property_write_no_response'], 1869 'permissions': 0x0, 1870 'value_type': gatt_characteristic_value_format['string'], 1871 'value': 'test', 1872 }, { 1873 'uuid': '00002ade-0000-1000-8000-00805f9b34fb', 1874 'properties': gatt_characteristic['property_notify'], 1875 'permissions': 0x0, 1876 'value_type': gatt_characteristic_value_format['sint8'], 1877 'descriptors': [{ 1878 'uuid': gatt_char_desc_uuids['client_char_cfg'] 1879 }] 1880 }, 1881 ] 1882 }] 1883} 1884 1885# https://www.bluetooth.com/specifications/gatt/viewer?attributeXmlFile=org.bluetooth.service.next_dst_change.xml 1886NEXT_DST_CHANGE_SERVICE = { 1887 'services': [{ 1888 'uuid': '00001807-0000-1000-8000-00805f9b34fb', 1889 'type': gatt_service_types['primary'], 1890 'characteristics': [{ 1891 'uuid': '00002a11-0000-1000-8000-00805f9b34fb', 1892 'properties': gatt_characteristic['property_read'], 1893 'permissions': 0x0, 1894 'value_type': gatt_characteristic_value_format['sint32'], 1895 'value': 1549903904, 1896 } 1897 ] 1898 }] 1899} 1900 1901# https://www.bluetooth.com/specifications/gatt/viewer?attributeXmlFile=org.bluetooth.service.object_transfer.xml 1902OBJECT_TRANSFER_SERVICE = { 1903 'services': [{ 1904 'uuid': '00001825-0000-1000-8000-00805f9b34fb', 1905 'type': gatt_service_types['primary'], 1906 'characteristics': [{ 1907 'uuid': '00002abd-0000-1000-8000-00805f9b34fb', 1908 'properties': gatt_characteristic['property_read'], 1909 'permissions': gatt_characteristic['permission_read_encrypted_mitm'], 1910 'value_type': gatt_characteristic_value_format['sint8'], 1911 'value': 0, 1912 }, { 1913 'uuid': '00002abe-0000-1000-8000-00805f9b34fb', 1914 'properties': gatt_characteristic['property_write'], 1915 'permissions': gatt_characteristic['permission_write_encrypted_mitm'], 1916 'value_type': gatt_characteristic_value_format['sint8'], 1917 'value': 0, 1918 }, { 1919 'uuid': '00002abf-0000-1000-8000-00805f9b34fb', 1920 'properties': gatt_characteristic['property_read'], 1921 'permissions': gatt_characteristic['permission_read_encrypted_mitm'], 1922 'value_type': gatt_characteristic_value_format['sint8'], 1923 'value': 0, 1924 }, { 1925 'uuid': '00002ac0-0000-1000-8000-00805f9b34fb', 1926 'properties': gatt_characteristic['property_read'], 1927 'permissions': gatt_characteristic['permission_read_encrypted_mitm'], 1928 'value_type': gatt_characteristic_value_format['sint8'], 1929 'value': 0, 1930 }, { 1931 'uuid': '00002ac1-0000-1000-8000-00805f9b34fb', 1932 'properties': gatt_characteristic['property_read'], 1933 'permissions': gatt_characteristic['permission_read_encrypted_mitm'], 1934 'value_type': gatt_characteristic_value_format['sint8'], 1935 'value': 0, 1936 }, { 1937 'uuid': '00002ac2-0000-1000-8000-00805f9b34fb', 1938 'properties': gatt_characteristic['property_read'], 1939 'permissions': gatt_characteristic['permission_read_encrypted_mitm'], 1940 'value_type': gatt_characteristic_value_format['sint8'], 1941 'value': 0, 1942 }, { 1943 'uuid': '00002ac3-0000-1000-8000-00805f9b34fb', 1944 'properties': gatt_characteristic['property_read'], 1945 'permissions': gatt_characteristic['permission_read_encrypted_mitm'], 1946 'value_type': gatt_characteristic_value_format['sint8'], 1947 'value': 0, 1948 }, { 1949 'uuid': '00002ac4-0000-1000-8000-00805f9b34fb', 1950 'properties': gatt_characteristic['property_read'], 1951 'permissions': gatt_characteristic['permission_read_encrypted_mitm'], 1952 'value_type': gatt_characteristic_value_format['sint8'], 1953 'value': 0, 1954 }, { 1955 'uuid': '00002ac5-0000-1000-8000-00805f9b34fb', 1956 'properties': gatt_characteristic['property_write'] | 1957 gatt_characteristic['property_indicate'], 1958 'permissions': gatt_characteristic['permission_write_encrypted_mitm'], 1959 'value_type': gatt_characteristic_value_format['sint8'], 1960 'value': 0, 1961 }, { 1962 'uuid': '00002ac6-0000-1000-8000-00805f9b34fb', 1963 'properties': gatt_characteristic['property_write'] | 1964 gatt_characteristic['property_indicate'], 1965 'permissions': gatt_characteristic['permission_write_encrypted_mitm'], 1966 'value_type': gatt_characteristic_value_format['sint8'], 1967 'value': 0, 1968 }, { 1969 'uuid': '00002ac7-0000-1000-8000-00805f9b34fb', 1970 'properties': gatt_characteristic['property_write'] | 1971 gatt_characteristic['property_read'], 1972 'permissions': gatt_characteristic['permission_write_encrypted_mitm'] | 1973 gatt_characteristic['permission_read_encrypted_mitm'], 1974 'value_type': gatt_characteristic_value_format['sint8'], 1975 'value': 0, 1976 }, { 1977 'uuid': '00002ac8-0000-1000-8000-00805f9b34fb', 1978 'properties': gatt_characteristic['property_indicate'], 1979 'permissions': gatt_characteristic['permission_read_encrypted_mitm'], 1980 'value_type': gatt_characteristic_value_format['sint8'], 1981 'value': 0, 1982 }] 1983 }] 1984} 1985 1986# https://www.bluetooth.com/specifications/gatt/viewer?attributeXmlFile=org.bluetooth.service.phone_alert_status.xml 1987PHONE_ALERT_STATUS_SERVICE = { 1988 'services': [{ 1989 'uuid': '0000180e-0000-1000-8000-00805f9b34fb', 1990 'type': gatt_service_types['primary'], 1991 'characteristics': [{ 1992 'uuid': '00002a3f-0000-1000-8000-00805f9b34fb', 1993 'properties': gatt_characteristic['property_read'] | 1994 gatt_characteristic['property_notify'], 1995 'permissions': 0x0, 1996 'value_type': gatt_characteristic_value_format['string'], 1997 'value': 'test', 1998 'descriptors': [{ 1999 'uuid': gatt_char_desc_uuids['client_char_cfg'] 2000 }] 2001 }, { 2002 'uuid': '00002a41-0000-1000-8000-00805f9b34fb', 2003 'properties': gatt_characteristic['property_read'] | 2004 gatt_characteristic['property_notify'], 2005 'permissions': 0x0, 2006 'value_type': gatt_characteristic_value_format['sint8'], 2007 'descriptors': [{ 2008 'uuid': gatt_char_desc_uuids['client_char_cfg'] 2009 }] 2010 }, { 2011 'uuid': '00002a40-0000-1000-8000-00805f9b34fb', 2012 'properties': gatt_characteristic['property_write_no_response'], 2013 'permissions': 0x0, 2014 'value_type': gatt_characteristic_value_format['sint8'], 2015 }, 2016 ] 2017 }] 2018} 2019 2020# https://www.bluetooth.com/specifications/gatt/viewer?attributeXmlFile=org.bluetooth.service.pulse_oximeter.xml 2021PULSE_OXIMETER_SERVICE = { 2022 'services': [{ 2023 'uuid': '00001822-0000-1000-8000-00805f9b34fb', 2024 'type': gatt_service_types['primary'], 2025 'characteristics': [{ 2026 'uuid': '00002a5e-0000-1000-8000-00805f9b34fb', 2027 'properties': gatt_characteristic['property_indicate'], 2028 'permissions': 0x0, 2029 'value_type': gatt_characteristic_value_format['string'], 2030 'value': 'test', 2031 'descriptors': [{ 2032 'uuid': gatt_char_desc_uuids['client_char_cfg'] 2033 }] 2034 }, { 2035 'uuid': '00002a5f-0000-1000-8000-00805f9b34fb', 2036 'properties': gatt_characteristic['property_notify'], 2037 'permissions': 0x0, 2038 'value_type': gatt_characteristic_value_format['sint8'], 2039 'descriptors': [{ 2040 'uuid': gatt_char_desc_uuids['client_char_cfg'] 2041 }] 2042 }, { 2043 'uuid': '00002a60-0000-1000-8000-00805f9b34fb', 2044 'properties': gatt_characteristic['property_read'], 2045 'permissions': 0x0, 2046 'value_type': gatt_characteristic_value_format['sint8'], 2047 }, { 2048 'uuid': '00002a52-0000-1000-8000-00805f9b34fb', 2049 'properties': gatt_characteristic['property_write'] | 2050 gatt_characteristic['property_indicate'], 2051 'permissions': 0x0, 2052 'value_type': gatt_characteristic_value_format['sint8'], 2053 'descriptors': [{ 2054 'uuid': gatt_char_desc_uuids['client_char_cfg'] 2055 }] 2056 } 2057 ] 2058 }] 2059} 2060 2061# https://www.bluetooth.com/specifications/gatt/viewer?attributeXmlFile=org.bluetooth.service.reconnection_configuration.xml 2062RECONNECTION_CONFIGURATION_SERVICE = { 2063 'services': [{ 2064 'uuid': '00001829-0000-1000-8000-00805f9b34fb', 2065 'type': gatt_service_types['primary'], 2066 'characteristics': [{ 2067 'uuid': '00002b1d-0000-1000-8000-00805f9b34fb', 2068 'properties': gatt_characteristic['property_read'], 2069 'permissions': 0x0, 2070 'value_type': gatt_characteristic_value_format['string'], 2071 'value': 'test', 2072 }, { 2073 'uuid': '00002b1e-0000-1000-8000-00805f9b34fb', 2074 'properties': gatt_characteristic['property_notify'] | 2075 gatt_characteristic['property_read'], 2076 'permissions': 0x0, 2077 'value_type': gatt_characteristic_value_format['sint8'], 2078 'descriptors': [{ 2079 'uuid': gatt_char_desc_uuids['client_char_cfg'] 2080 }] 2081 }, { 2082 'uuid': '00002b1f-0000-1000-8000-00805f9b34fb', 2083 'properties': gatt_characteristic['property_read'] | 2084 gatt_characteristic['property_write'] | 2085 gatt_characteristic['property_indicate'], 2086 'permissions': 0x0, 2087 'value_type': gatt_characteristic_value_format['sint8'], 2088 'descriptors': [{ 2089 'uuid': gatt_char_desc_uuids['client_char_cfg'] 2090 }] 2091 }] 2092 }] 2093} 2094 2095# https://www.bluetooth.com/specifications/gatt/viewer?attributeXmlFile=org.bluetooth.service.reference_time_update.xml 2096REFERENCE_TIME_UPDATE_SERVICE = { 2097 'services': [{ 2098 'uuid': '00001806-0000-1000-8000-00805f9b34fb', 2099 'type': gatt_service_types['primary'], 2100 'characteristics': [{ 2101 'uuid': '00002a16-0000-1000-8000-00805f9b34fb', 2102 'properties': gatt_characteristic['property_write_no_response'], 2103 'permissions': 0x0, 2104 'value_type': gatt_characteristic_value_format['string'], 2105 'value': 'test', 2106 }, { 2107 'uuid': '00002a17-0000-1000-8000-00805f9b34fb', 2108 'properties': gatt_characteristic['property_read'], 2109 'permissions': 0x0, 2110 'value_type': gatt_characteristic_value_format['sint8'], 2111 }] 2112 }] 2113} 2114 2115# https://www.bluetooth.com/specifications/gatt/viewer?attributeXmlFile=org.bluetooth.service.running_speed_and_cadence.xml 2116RUNNING_SPEED_AND_CADENCE_SERVICE = { 2117 'services': [{ 2118 'uuid': '00001814-0000-1000-8000-00805f9b34fb', 2119 'type': gatt_service_types['primary'], 2120 'characteristics': [{ 2121 'uuid': '00002a53-0000-1000-8000-00805f9b34fb', 2122 'properties': gatt_characteristic['property_notify'], 2123 'permissions': 0x0, 2124 'value_type': gatt_characteristic_value_format['string'], 2125 'value': 'test', 2126 'descriptors': [{ 2127 'uuid': gatt_char_desc_uuids['client_char_cfg'] 2128 }] 2129 }, { 2130 'uuid': '00002a54-0000-1000-8000-00805f9b34fb', 2131 'properties': gatt_characteristic['property_read'], 2132 'permissions': 0x0, 2133 'value_type': gatt_characteristic_value_format['sint8'], 2134 }, { 2135 'uuid': '00002a5d-0000-1000-8000-00805f9b34fb', 2136 'properties': gatt_characteristic['property_read'], 2137 'permissions': 0x0, 2138 'value_type': gatt_characteristic_value_format['sint8'], 2139 }, { 2140 'uuid': '00002a55-0000-1000-8000-00805f9b34fb', 2141 'properties': gatt_characteristic['property_write'] | 2142 gatt_characteristic['property_indicate'], 2143 'permissions': 0x0, 2144 'value_type': gatt_characteristic_value_format['sint8'], 2145 'descriptors': [{ 2146 'uuid': gatt_char_desc_uuids['client_char_cfg'] 2147 }] 2148 }] 2149 }] 2150} 2151 2152# https://www.bluetooth.com/specifications/gatt/viewer?attributeXmlFile=org.bluetooth.service.scan_parameters.xml 2153SCAN_PARAMETERS_SERVICE = { 2154 'services': [{ 2155 'uuid': '00001813-0000-1000-8000-00805f9b34fb', 2156 'type': gatt_service_types['primary'], 2157 'characteristics': [{ 2158 'uuid': '00002a4f-0000-1000-8000-00805f9b34fb', 2159 'properties': gatt_characteristic['property_write_no_response'], 2160 'permissions': 0x0, 2161 'value_type': gatt_characteristic_value_format['sint8'], 2162 }, { 2163 'uuid': '00002a31-0000-1000-8000-00805f9b34fb', 2164 'properties': gatt_characteristic['property_notify'], 2165 'permissions': 0x0, 2166 'value_type': gatt_characteristic_value_format['sint8'], 2167 'descriptors': [{ 2168 'uuid': gatt_char_desc_uuids['client_char_cfg'] 2169 }] 2170 }] 2171 }] 2172} 2173 2174# https://www.bluetooth.com/specifications/gatt/viewer?attributeXmlFile=org.bluetooth.service.transport_discovery.xml 2175TRANSPORT_DISCOVERY_SERVICE = { 2176 'services': [{ 2177 'uuid': '00001824-0000-1000-8000-00805f9b34fb', 2178 'type': gatt_service_types['primary'], 2179 'characteristics': [{ 2180 'uuid': '00002abc-0000-1000-8000-00805f9b34fb', 2181 'properties': gatt_characteristic['property_indicate'] | 2182 gatt_characteristic['property_write'], 2183 'permissions': 0x0, 2184 'value_type': gatt_characteristic_value_format['sint8'], 2185 'value': 1, 2186 'descriptors': [{ 2187 'uuid': gatt_char_desc_uuids['client_char_cfg'] 2188 }] 2189 } 2190 ] 2191 }] 2192} 2193 2194# https://www.bluetooth.com/specifications/gatt/viewer?attributeXmlFile=org.bluetooth.service.tx_power.xml 2195TX_POWER_SERVICE = { 2196 'services': [{ 2197 'uuid': '00001804-0000-1000-8000-00805f9b34fb', 2198 'type': gatt_service_types['primary'], 2199 'characteristics': [{ 2200 'uuid': '00002a07-0000-1000-8000-00805f9b34fb', 2201 'properties': gatt_characteristic['property_read'], 2202 'permissions': 0x0, 2203 'value_type': gatt_characteristic_value_format['uint8'], 2204 'value': -24, 2205 }] 2206 }] 2207} 2208 2209# https://www.bluetooth.com/specifications/gatt/viewer?attributeXmlFile=org.bluetooth.service.user_data.xml 2210USER_DATA_SERVICE = { 2211 'services': [{ 2212 'uuid': '0000181c-0000-1000-8000-00805f9b34fb', 2213 'type': gatt_service_types['primary'], 2214 'characteristics': [{ 2215 'uuid': '00002a8a-0000-1000-8000-00805f9b34fb', 2216 'properties': gatt_characteristic['property_read'] | 2217 gatt_characteristic['property_write'], 2218 'permissions': gatt_characteristic['permission_read_encrypted_mitm'] | 2219 gatt_characteristic['permission_write_encrypted_mitm'], 2220 'value_type': gatt_characteristic_value_format['sint8'], 2221 'value': 10, 2222 }, { 2223 'uuid': '00002a90-0000-1000-8000-00805f9b34fb', 2224 'properties': gatt_characteristic['property_read'] | 2225 gatt_characteristic['property_write'], 2226 'permissions': gatt_characteristic['permission_read_encrypted_mitm'] | 2227 gatt_characteristic['permission_write_encrypted_mitm'], 2228 'value_type': gatt_characteristic_value_format['sint8'], 2229 'value': 10, 2230 }, { 2231 'uuid': '00002a87-0000-1000-8000-00805f9b34fb', 2232 'properties': gatt_characteristic['property_read'] | 2233 gatt_characteristic['property_write'], 2234 'permissions': gatt_characteristic['permission_read_encrypted_mitm'] | 2235 gatt_characteristic['permission_write_encrypted_mitm'], 2236 'value_type': gatt_characteristic_value_format['sint8'], 2237 'value': 10, 2238 }, { 2239 'uuid': '00002a80-0000-1000-8000-00805f9b34fb', 2240 'properties': gatt_characteristic['property_read'] | 2241 gatt_characteristic['property_write'], 2242 'permissions': gatt_characteristic['permission_read_encrypted_mitm'] | 2243 gatt_characteristic['permission_write_encrypted_mitm'], 2244 'value_type': gatt_characteristic_value_format['sint8'], 2245 'value': 10, 2246 }, { 2247 'uuid': '00002a85-0000-1000-8000-00805f9b34fb', 2248 'properties': gatt_characteristic['property_read'] | 2249 gatt_characteristic['property_write'], 2250 'permissions': gatt_characteristic['permission_read_encrypted_mitm'] | 2251 gatt_characteristic['permission_write_encrypted_mitm'], 2252 'value_type': gatt_characteristic_value_format['sint8'], 2253 'value': 10, 2254 }, { 2255 'uuid': '00002a8c-0000-1000-8000-00805f9b34fb', 2256 'properties': gatt_characteristic['property_read'] | 2257 gatt_characteristic['property_write'], 2258 'permissions': gatt_characteristic['permission_read_encrypted_mitm'] | 2259 gatt_characteristic['permission_write_encrypted_mitm'], 2260 'value_type': gatt_characteristic_value_format['sint8'], 2261 'value': 10, 2262 }, { 2263 'uuid': '00002a98-0000-1000-8000-00805f9b34fb', 2264 'properties': gatt_characteristic['property_read'] | 2265 gatt_characteristic['property_write'], 2266 'permissions': gatt_characteristic['permission_read_encrypted_mitm'] | 2267 gatt_characteristic['permission_write_encrypted_mitm'], 2268 'value_type': gatt_characteristic_value_format['sint8'], 2269 'value': 10, 2270 }, { 2271 'uuid': '00002a8e-0000-1000-8000-00805f9b34fb', 2272 'properties': gatt_characteristic['property_read'] | 2273 gatt_characteristic['property_write'], 2274 'permissions': gatt_characteristic['permission_read_encrypted_mitm'] | 2275 gatt_characteristic['permission_write_encrypted_mitm'], 2276 'value_type': gatt_characteristic_value_format['sint8'], 2277 'value': 10, 2278 }, { 2279 'uuid': '00002a96-0000-1000-8000-00805f9b34fb', 2280 'properties': gatt_characteristic['property_read'] | 2281 gatt_characteristic['property_write'], 2282 'permissions': gatt_characteristic['permission_read_encrypted_mitm'] | 2283 gatt_characteristic['permission_write_encrypted_mitm'], 2284 'value_type': gatt_characteristic_value_format['sint8'], 2285 'value': 10, 2286 }, { 2287 'uuid': '00002a92-0000-1000-8000-00805f9b34fb', 2288 'properties': gatt_characteristic['property_read'] | 2289 gatt_characteristic['property_write'], 2290 'permissions': gatt_characteristic['permission_read_encrypted_mitm'] | 2291 gatt_characteristic['permission_write_encrypted_mitm'], 2292 'value_type': gatt_characteristic_value_format['sint8'], 2293 'value': 10, 2294 }, { 2295 'uuid': '00002a91-0000-1000-8000-00805f9b34fb', 2296 'properties': gatt_characteristic['property_read'] | 2297 gatt_characteristic['property_write'], 2298 'permissions': gatt_characteristic['permission_read_encrypted_mitm'] | 2299 gatt_characteristic['permission_write_encrypted_mitm'], 2300 'value_type': gatt_characteristic_value_format['sint8'], 2301 'value': 10, 2302 }, { 2303 'uuid': '00002a7f-0000-1000-8000-00805f9b34fb', 2304 'properties': gatt_characteristic['property_read'] | 2305 gatt_characteristic['property_write'], 2306 'permissions': gatt_characteristic['permission_read_encrypted_mitm'] | 2307 gatt_characteristic['permission_write_encrypted_mitm'], 2308 'value_type': gatt_characteristic_value_format['sint8'], 2309 'value': 10, 2310 }, { 2311 'uuid': '00002a83-0000-1000-8000-00805f9b34fb', 2312 'properties': gatt_characteristic['property_read'] | 2313 gatt_characteristic['property_write'], 2314 'permissions': gatt_characteristic['permission_read_encrypted_mitm'] | 2315 gatt_characteristic['permission_write_encrypted_mitm'], 2316 'value_type': gatt_characteristic_value_format['sint8'], 2317 'value': 10, 2318 }, { 2319 'uuid': '00002a93-0000-1000-8000-00805f9b34fb', 2320 'properties': gatt_characteristic['property_read'] | 2321 gatt_characteristic['property_write'], 2322 'permissions': gatt_characteristic['permission_read_encrypted_mitm'] | 2323 gatt_characteristic['permission_write_encrypted_mitm'], 2324 'value_type': gatt_characteristic_value_format['sint8'], 2325 'value': 10, 2326 }, { 2327 'uuid': '00002a86-0000-1000-8000-00805f9b34fb', 2328 'properties': gatt_characteristic['property_read'] | 2329 gatt_characteristic['property_write'], 2330 'permissions': gatt_characteristic['permission_read_encrypted_mitm'] | 2331 gatt_characteristic['permission_write_encrypted_mitm'], 2332 'value_type': gatt_characteristic_value_format['sint8'], 2333 'value': 10, 2334 }, { 2335 'uuid': '00002a97-0000-1000-8000-00805f9b34fb', 2336 'properties': gatt_characteristic['property_read'] | 2337 gatt_characteristic['property_write'], 2338 'permissions': gatt_characteristic['permission_read_encrypted_mitm'] | 2339 gatt_characteristic['permission_write_encrypted_mitm'], 2340 'value_type': gatt_characteristic_value_format['sint8'], 2341 'value': 10, 2342 }, { 2343 'uuid': '00002a8f-0000-1000-8000-00805f9b34fb', 2344 'properties': gatt_characteristic['property_read'] | 2345 gatt_characteristic['property_write'], 2346 'permissions': gatt_characteristic['permission_read_encrypted_mitm'] | 2347 gatt_characteristic['permission_write_encrypted_mitm'], 2348 'value_type': gatt_characteristic_value_format['sint8'], 2349 'value': 10, 2350 }, { 2351 'uuid': '00002a88-0000-1000-8000-00805f9b34fb', 2352 'properties': gatt_characteristic['property_read'] | 2353 gatt_characteristic['property_write'], 2354 'permissions': gatt_characteristic['permission_read_encrypted_mitm'] | 2355 gatt_characteristic['permission_write_encrypted_mitm'], 2356 'value_type': gatt_characteristic_value_format['sint8'], 2357 'value': 10, 2358 }, { 2359 'uuid': '00002a89-0000-1000-8000-00805f9b34fb', 2360 'properties': gatt_characteristic['property_read'] | 2361 gatt_characteristic['property_write'], 2362 'permissions': gatt_characteristic['permission_read_encrypted_mitm'] | 2363 gatt_characteristic['permission_write_encrypted_mitm'], 2364 'value_type': gatt_characteristic_value_format['sint8'], 2365 'value': 10, 2366 }, { 2367 'uuid': '00002a7e-0000-1000-8000-00805f9b34fb', 2368 'properties': gatt_characteristic['property_read'] | 2369 gatt_characteristic['property_write'], 2370 'permissions': gatt_characteristic['permission_read_encrypted_mitm'] | 2371 gatt_characteristic['permission_write_encrypted_mitm'], 2372 'value_type': gatt_characteristic_value_format['sint8'], 2373 'value': 10, 2374 }, { 2375 'uuid': '00002a84-0000-1000-8000-00805f9b34fb', 2376 'properties': gatt_characteristic['property_read'] | 2377 gatt_characteristic['property_write'], 2378 'permissions': gatt_characteristic['permission_read_encrypted_mitm'] | 2379 gatt_characteristic['permission_write_encrypted_mitm'], 2380 'value_type': gatt_characteristic_value_format['sint8'], 2381 'value': 10, 2382 }, { 2383 'uuid': '00002a81-0000-1000-8000-00805f9b34fb', 2384 'properties': gatt_characteristic['property_read'] | 2385 gatt_characteristic['property_write'], 2386 'permissions': gatt_characteristic['permission_read_encrypted_mitm'] | 2387 gatt_characteristic['permission_write_encrypted_mitm'], 2388 'value_type': gatt_characteristic_value_format['sint8'], 2389 'value': 10, 2390 }, { 2391 'uuid': '00002a82-0000-1000-8000-00805f9b34fb', 2392 'properties': gatt_characteristic['property_read'] | 2393 gatt_characteristic['property_write'], 2394 'permissions': gatt_characteristic['permission_read_encrypted_mitm'] | 2395 gatt_characteristic['permission_write_encrypted_mitm'], 2396 'value_type': gatt_characteristic_value_format['sint8'], 2397 'value': 10, 2398 }, { 2399 'uuid': '00002a8b-0000-1000-8000-00805f9b34fb', 2400 'properties': gatt_characteristic['property_read'] | 2401 gatt_characteristic['property_write'], 2402 'permissions': gatt_characteristic['permission_read_encrypted_mitm'] | 2403 gatt_characteristic['permission_write_encrypted_mitm'], 2404 'value_type': gatt_characteristic_value_format['sint8'], 2405 'value': 10, 2406 }, { 2407 'uuid': '00002a94-0000-1000-8000-00805f9b34fb', 2408 'properties': gatt_characteristic['property_read'] | 2409 gatt_characteristic['property_write'], 2410 'permissions': gatt_characteristic['permission_read_encrypted_mitm'] | 2411 gatt_characteristic['permission_write_encrypted_mitm'], 2412 'value_type': gatt_characteristic_value_format['sint8'], 2413 'value': 10, 2414 }, { 2415 'uuid': '00002a95-0000-1000-8000-00805f9b34fb', 2416 'properties': gatt_characteristic['property_read'] | 2417 gatt_characteristic['property_write'], 2418 'permissions': gatt_characteristic['permission_read_encrypted_mitm'] | 2419 gatt_characteristic['permission_write_encrypted_mitm'], 2420 'value_type': gatt_characteristic_value_format['sint8'], 2421 'value': 10, 2422 }, { 2423 'uuid': '00002a99-0000-1000-8000-00805f9b34fb', 2424 'properties': gatt_characteristic['property_read'] | 2425 gatt_characteristic['property_write'] | 2426 gatt_characteristic['property_notify'], 2427 'permissions': gatt_characteristic['permission_read_encrypted_mitm'] | 2428 gatt_characteristic['permission_write_encrypted_mitm'], 2429 'value_type': gatt_characteristic_value_format['sint8'], 2430 'value': 10, 2431 'descriptors': [{ 2432 'uuid': gatt_char_desc_uuids['client_char_cfg'] 2433 }] 2434 }, { 2435 'uuid': '00002a9a-0000-1000-8000-00805f9b34fb', 2436 'properties': gatt_characteristic['property_read'] | 2437 gatt_characteristic['property_write'], 2438 'permissions': gatt_characteristic['permission_read_encrypted_mitm'] | 2439 gatt_characteristic['permission_write_encrypted_mitm'], 2440 'value_type': gatt_characteristic_value_format['sint8'], 2441 'value': 10, 2442 }, { 2443 'uuid': '00002a9f-0000-1000-8000-00805f9b34fb', 2444 'properties': gatt_characteristic['property_indicate'] | 2445 gatt_characteristic['property_write'], 2446 'permissions': gatt_characteristic['permission_write_encrypted_mitm'], 2447 'value_type': gatt_characteristic_value_format['sint8'], 2448 'value': 10, 2449 'descriptors': [{ 2450 'uuid': gatt_char_desc_uuids['client_char_cfg'] 2451 }] 2452 }, { 2453 'uuid': '00002aa2-0000-1000-8000-00805f9b34fb', 2454 'properties': gatt_characteristic['property_read'] | 2455 gatt_characteristic['property_write'], 2456 'permissions': gatt_characteristic['permission_read_encrypted_mitm'] | 2457 gatt_characteristic['permission_write_encrypted_mitm'], 2458 'value_type': gatt_characteristic_value_format['sint8'], 2459 'value': 10, 2460 }] 2461 }] 2462} 2463 2464# https://www.bluetooth.com/specifications/gatt/viewer?attributeXmlFile=org.bluetooth.service.weight_scale.xml 2465WEIGHT_SCALE_SERVICE = { 2466 'services': [{ 2467 'uuid': '0000181d-0000-1000-8000-00805f9b34fb', 2468 'type': gatt_service_types['primary'], 2469 'characteristics': [{ 2470 'uuid': '00002a9e-0000-1000-8000-00805f9b34fb', 2471 'properties': gatt_characteristic['property_read'], 2472 'permissions': 0x0, 2473 'value_type': gatt_characteristic_value_format['sint8'], 2474 'value': 1 2475 }, { 2476 'uuid': '00002a9d-0000-1000-8000-00805f9b34fb', 2477 'properties': gatt_characteristic['property_indicate'], 2478 'permissions': 0x0, 2479 'value_type': gatt_characteristic_value_format['sint8'], 2480 'value': 100, 2481 'descriptors': [{ 2482 'uuid': gatt_char_desc_uuids['client_char_cfg'] 2483 }] 2484 } 2485 ] 2486 }] 2487} 2488 2489 2490# yapf: enable 2491### End SIG defined services ### 2492