esp32_ble_server: id: ble_server manufacturer_data: [0x72, 0x4, 0x00, 0x23] manufacturer: ESPHome model: Test on_connect: - lambda: |- ESP_LOGD("BLE", "Connection from %d", id); on_disconnect: - lambda: |- ESP_LOGD("BLE", "Disconnection from %d", id); services: - uuid: 2a24b789-7aab-4535-af3e-ee76a35cc12d advertise: false characteristics: - id: test_notify_characteristic description: "Notify characteristic" uuid: cad48e28-7fbe-41cf-bae9-d77a6c233423 read: true notify: true value: [1, 2, 3, 4] descriptors: - uuid: cad48e28-7fbe-41cf-bae9-d77a6c111111 on_write: logger.log: format: "Descriptor write id %u, data %s" args: [id, 'format_hex_pretty(x.data(), x.size()).c_str()'] value: data: "123.1" type: float endianness: BIG - uuid: 2a24b789-7a1b-4535-af3e-ee76a35cc42d advertise: false characteristics: - id: test_change_characteristic uuid: 2a24b789-7a1b-4535-af3e-ee76a35cc11c read: true value: data: "Initial" string_encoding: utf-8 description: Change characteristic descriptors: - uuid: 0x4414 id: test_change_descriptor value: "Initial descriptor value" - uuid: 0x2312 value: data: 0x12 type: uint16_t on_write: - lambda: |- ESP_LOGD("BLE", "Descriptor received: %s from %d", std::string(x.begin(), x.end()).c_str(), id); - uuid: 2a24b789-7a1b-4535-af3e-ee76a35cc99a write: true on_write: then: - lambda: |- ESP_LOGD("BLE", "Characteristic received: %s from %d", std::string(x.begin(), x.end()).c_str(), id); - ble_server.characteristic.set_value: id: test_change_characteristic value: !lambda 'return bytebuffer::ByteBuffer::wrap({0x00, 0x01, 0x02}).get_data();' - ble_server.characteristic.notify: id: test_notify_characteristic - ble_server.descriptor.set_value: id: test_change_descriptor value: !lambda return bytebuffer::ByteBuffer::wrap({0x03, 0x04, 0x05}).get_data();