     public func peripheralManagerIsReady(toUpdateSubscribers peripheral: CBPeripheralManager) {
         status = Status(rawValue: status.rawValue)!
     }
-}
-
+    
+    public func peripheralManager(_ peripheral: CBPeripheralManager, didReceiveRead request: CBATTRequest) {
+        if request.characteristic.uuid == pairingStatusCharacteristic.uuid {
+            request.value = NSKeyedArchiver.archivedData(withRootObject: status.rawValue)
+            
+            peripheralManager.respond(to: request, withResult: .success)
+        } else {
+            peripheralManager.respond(to: request, withResult: .attributeNotFound)
+        }
+    }
+}
+

            let characteristics = service.characteristics,
            let characteristic = characteristics.first(where: { $0.uuid == pairingStatusCharacteristic.uuid })
        {
            peripheral.setNotifyValue(true, for: characteristic)
        }
    }
    
    public func peripheral(_ peripheral: CBPeripheral, didUpdateValueFor characteristic: CBCharacteristic, error: Error?) {
        if
            peripheral.identifier == remotePeripheral?.identifier,
            characteristic.uuid == pairingStatusCharacteristic.uuid,

        advertisementData: [String : Any],
        rssi RSSI: NSNumber)
    {
        if remotePeripheral == nil, peripheral.state == .disconnected {
            remotePeripheral = peripheral
            status = .discoveredRemotePeer
            
