diff --git a/android/app/src/main/java/nl/eddydevink/sylda/BleRelayManager.kt b/android/app/src/main/java/nl/eddydevink/sylda/BleRelayManager.kt index 9ec1740..a004c34 100644 --- a/android/app/src/main/java/nl/eddydevink/sylda/BleRelayManager.kt +++ b/android/app/src/main/java/nl/eddydevink/sylda/BleRelayManager.kt @@ -286,8 +286,13 @@ class BleRelayManager( val service = gatt.getService(SERVICE_UUID) val versionChar = service?.getCharacteristic(VERSION_UUID) if (versionChar != null) { - gatt.readCharacteristic(versionChar) + val ok = gatt.readCharacteristic(versionChar) + if (!ok) { + Log.w(TAG, "readCharacteristic(VERSION) returned false, skipping version check") + handler.post { callbacks.onStatusChanged(BleStatus.Connected) } + } } else { + Log.d(TAG, "VERSION characteristic not found, skipping version check") handler.post { callbacks.onStatusChanged(BleStatus.Connected) } } } else { @@ -302,6 +307,9 @@ class BleRelayManager( Log.d(TAG, "ESP firmware version: $version, app bundled: $appVersion") handler.post { callbacks.onFirmwareVersion(version, appVersion) } handler.post { callbacks.onStatusChanged(BleStatus.Connected) } + } else if (characteristic.uuid == VERSION_UUID) { + Log.w(TAG, "Version read failed (status=$status), using Connected anyway") + handler.post { callbacks.onStatusChanged(BleStatus.Connected) } } }