RadonEye BLE Interface

Having exactly the same problem.

I opened an an issue 9 days ago on the official github page

but unfortunately so far no answer from the developer.

The reference to BLEDevice.h is in the sensor file (src/my_custom_sensor.h)

I am guessing that the BLEDevice.h dependency was available in a former docker container of ESP32 but since establishing the new ble_client / ble_sensor functionality it was dropped.

Would be great to adapt the Radoneye bluetooth readout to the new sensor as you tried already.

Fingers crossed that BrewNinja might enlighten us.

fregatte

After much poking around, I found the archived ESP32_BLE_Arduino github repository, and then ESPHome instructions on linking to external libraries. Adding the following libraries call worked for me (using @BrewNinja’s original custom sensor):

esphome:
  name: radon1
  platform: ESP32
  board: featheresp32
  libraries:
  - esp32_ble_tracker=https://github.com/nkolban/ESP32_BLE_Arduino.git
  includes:
  - radoneye_rd200_sensor.h
1 Like

Thanks for the interim fix! I figured out how to use the new library, but it broke some other stuff. Ill be working on updating it, but with the holidays coming up, my free time is limited. Ill post here again when a fix using the new libraries is available.

1 Like

Right on, all good and understood, thanks ​@BrewNinja.

This got me up and running thanks @badmin!

1 Like

I’ve been poking at this today, trying to get it to work for the first time. The ESP32 keeps resetting. From the testing I’ve done, it looks like there is a watchdog timer that is failing during the call to pClient->connect(...). From this comment it looks like it is supposed to block. I thought the watchdog should get fed even if it blocks though. The error I get is:

[16:14:43][D][custom:069]:  - setup connect to mac re:da:ct:ed:ed
[16:14:47]E (9268) task_wdt: Task watchdog got triggered. The following tasks did not reset the watchdog in time:
[16:14:47]E (9268) task_wdt:  - loopTask (CPU 1)
[16:14:47]E (9268) task_wdt: Tasks currently running:
[16:14:47]E (9268) task_wdt: CPU 0: IDLE0
[16:14:47]E (9268) task_wdt: CPU 1: IDLE1
[16:14:47]E (9268) task_wdt: Aborting.
[16:14:47]abort() was called at PC 0x401b6be4 on core 0
[16:14:47]
[16:14:47]ELF file SHA256: 0000000000000000
[16:14:47]

I tried a different esp32, with no luck. I have tried with the correct and incorrect mac address (So I don’t think it has anything to do with the radon eye).

My gut is telling me that this is some mismatch between the nkolban library and the current esp libraries. But I am open to hearing any other ideas. I have a lot of C++ experience, so I can help with some of these other issues (like working with two devices), but I can’t work on it, because of this issue.

I spent some time today working on a full fledged component for the radon eye. This is my first PR for ESPHome, so I expect some growing pains, but it seems to be working well.

Component PR:

Documentation PR:

Documentation Preview:

3 Likes

hi
thx for the integration into esphome. i have tested the new integration but it seems to connect only sometimes but sometimes not. I have two sensors, one is not found at all, but this seems to be more a ble_tracker issue since it is not showing up during scan, but it works with the radoneye app. The other sensor connects only sometimes, if it does not connect there is only 1 line debug message:

[23:38:41][W][radon_eye_rd200:141]: Connection in progress
[23:46:40][D][esp32_ble_tracker:217]: Starting scan...

the rest is missing, on good connects i get more output and sensor values. Good connects happens after I do some reboots, it then connects and delivers sensor values constantly. Output looks like this then:

[23:53:56][D][ble_client:047]: Found device at MAC address [DA:B9:2C:5A:A9:75]
[23:53:56][I][ble_client:085]: Attempting BLE connection to da:b9:2c:5a:a9:75
[23:53:56][I][radon_eye_rd200:015]: Connected successfully!
[23:53:57][I][ble_client:161]: Service UUID: 0x1800
[23:53:57][I][ble_client:162]:   start_handle: 0x1  end_handle: 0x7
[23:53:57][I][ble_client:347]:  characteristic 0x2A00, handle 0x3, properties 0xa
[23:53:57][I][ble_client:347]:  characteristic 0x2A01, handle 0x5, properties 0x2
[23:53:57][I][ble_client:347]:  characteristic 0x2A04, handle 0x7, properties 0x2
[23:53:57][I][ble_client:161]: Service UUID: 0x1801
[23:53:57][I][ble_client:162]:   start_handle: 0x8  end_handle: 0x8
[23:53:57][I][ble_client:161]: Service UUID: 00001523-1212-EFDE-1523-785FEABCD123
[23:53:57][I][ble_client:162]:   start_handle: 0x9  end_handle: 0x11
[23:53:57][I][ble_client:347]:  characteristic 00001524-1212-EFDE-1523-785FEABCD123, handle 0xb, properties 0xa
[23:53:57][I][ble_client:347]:  characteristic 00001525-1212-EFDE-1523-785FEABCD123, handle 0xd, properties 0x12
[23:53:57][I][ble_client:347]:  characteristic 00001526-1212-EFDE-1523-785FEABCD123, handle 0x10, properties 0x12
[23:53:57][I][ble_client:161]: Service UUID: 0x180A
[23:53:57][I][ble_client:162]:   start_handle: 0x12  end_handle: 0xffff
[23:53:57][I][ble_client:347]:  characteristic 0x2A29, handle 0x14, properties 0x2
[23:53:57][D][esp32_ble_tracker:217]: Starting scan...
[23:53:57][D][sensor:125]: 'Radon': Sending state 37.74000 pCi/L with 2 decimals of accuracy
[23:53:57][I][ble_client:075]: [da:b9:2c:5a:a9:75] Disabling BLE client.
[23:53:57][W][radon_eye_rd200:021]: Disconnected!

Have you seen this behaviour before?
Best Michi

That is pretty high. That makes me wonder if it is the wrong Mac address. Otherwise, maybe there is more than one version?

You also need to have the sensor for radon and radon now. I got some resets when I didn’t define both.

Lastly, the BLE stuff is quite memory intensive. Try limiting it to the smallest config you can until you have something working. I have had some trouble with the BLE stack in esphome resetting when I have too much stuff on one esp.

Those are my guesses. But I haven’t seen that problem myself.

Hi,
the unit is wrong (it is Bq/m3 not pCi/l), so dont worry about me :slight_smile: . I had some issues with resets/disconnects and doing to much on one esp32 writing the custom sensor as well. I always thought it is more about using wifi at the same time to BT too extensivly causing these issues. So now I am using an esp32 does only Radon. Also i found connecting and disconnecting with the BT-Device had some problems after a while as well. So custom sensor was always connected and worked in that mode over month. But it is now quite a while i was writing this code…
I will keep testing and give you updates.
Best Michi

My radon esp had this sensor (pretty much alone) for about a week. I also added in the airthings sensor and it is doing both of those comfortably. I don’t use the captive portal. But I did run into issues trying to also include a small TFT.

There is a verbose print with the right units:

So that makes sense.

I have now two Radonsensors connected and changed the update interval to 1min for testing. I may have found an issue after this error messages:

[14:52:39][W][radon_eye_rd200:153]: Error sending write request for sensor, status=-1
[14:52:39][W][radon_eye_rd200:161]: Error sending read request for sensor, status=-1

After these errors (i saw often only the write error) the sensor is never requested again until reboot of the esp. Also the error of ble_client happens on every read seems a bit strange:

[15:08:03][W][ble_client:117]: connect to c1:96:0d:53:e9:a6 failed, status=133

find here the full log:

[15:07:33][D][ble_client:047]: Found device at MAC address [C1:96:0D:53:E9:A6]
[15:07:33][I][ble_client:085]: Attempting BLE connection to c1:96:0d:53:e9:a6
[15:07:36][W][radon_eye_rd200:141]: Connection in progress
[15:07:52][W][radon_eye_rd200:141]: Connection in progress
[15:08:03][W][radon_eye_rd200:021]: Disconnected!
[15:08:03][W][ble_client:117]: connect to c1:96:0d:53:e9:a6 failed, status=133
[15:08:03][D][esp32_ble_tracker:217]: Starting scan...
[15:08:03][D][ble_client:047]: Found device at MAC address [C1:96:0D:53:E9:A6]
[15:08:03][I][ble_client:085]: Attempting BLE connection to c1:96:0d:53:e9:a6
[15:08:04][I][radon_eye_rd200:015]: Connected successfully!
[15:08:04][I][ble_client:161]: Service UUID: 0x1800
[15:08:04][I][ble_client:162]:   start_handle: 0x1  end_handle: 0x7
[15:08:04][I][ble_client:347]:  characteristic 0x2A00, handle 0x3, properties 0xa
[15:08:04][I][ble_client:347]:  characteristic 0x2A01, handle 0x5, properties 0x2
[15:08:04][I][ble_client:347]:  characteristic 0x2A04, handle 0x7, properties 0x2
[15:08:04][I][ble_client:161]: Service UUID: 0x1801
[15:08:04][I][ble_client:162]:   start_handle: 0x8  end_handle: 0x8
[15:08:04][I][ble_client:161]: Service UUID: 00001523-1212-EFDE-1523-785FEABCD123
[15:08:04][I][ble_client:162]:   start_handle: 0x9  end_handle: 0x11
[15:08:04][I][ble_client:347]:  characteristic 00001524-1212-EFDE-1523-785FEABCD123, handle 0xb, properties 0xa
[15:08:04][I][ble_client:347]:  characteristic 00001525-1212-EFDE-1523-785FEABCD123, handle 0xd, properties 0x12
[15:08:04][I][ble_client:347]:  characteristic 00001526-1212-EFDE-1523-785FEABCD123, handle 0x10, properties 0x12
[15:08:04][I][ble_client:161]: Service UUID: 0x180A
[15:08:05][I][ble_client:162]:   start_handle: 0x12  end_handle: 0xffff
[15:08:05][I][ble_client:347]:  characteristic 0x2A29, handle 0x14, properties 0x2
[15:08:05][D][esp32_ble_tracker:217]: Starting scan...
[15:08:05][D][sensor:125]: 'RadonO': Sending state 174.27000 Bq/m³ with 0 decimals of accuracy
[15:08:05][I][ble_client:075]: [c1:96:0d:53:e9:a6] Disabling BLE client.
[15:08:05][D][ble_client:047]: Found device at MAC address [DA:B9:2C:5A:A9:75]
[15:08:05][I][ble_client:085]: Attempting BLE connection to da:b9:2c:5a:a9:75
[15:08:05][W][radon_eye_rd200:021]: Disconnected!
[15:08:05][I][radon_eye_rd200:015]: Connected successfully!
[15:08:06][I][ble_client:161]: Service UUID: 0x1800
[15:08:06][I][ble_client:162]:   start_handle: 0x1  end_handle: 0x7
[15:08:06][I][ble_client:347]:  characteristic 0x2A00, handle 0x3, properties 0xa
[15:08:06][I][ble_client:347]:  characteristic 0x2A01, handle 0x5, properties 0x2
[15:08:06][I][ble_client:347]:  characteristic 0x2A04, handle 0x7, properties 0x2
[15:08:06][I][ble_client:161]: Service UUID: 0x1801
[15:08:06][I][ble_client:162]:   start_handle: 0x8  end_handle: 0x8
[15:08:06][I][ble_client:161]: Service UUID: 00001523-1212-EFDE-1523-785FEABCD123
[15:08:06][I][ble_client:162]:   start_handle: 0x9  end_handle: 0x11
[15:08:06][I][ble_client:347]:  characteristic 00001524-1212-EFDE-1523-785FEABCD123, handle 0xb, properties 0xa
[15:08:06][I][ble_client:347]:  characteristic 00001525-1212-EFDE-1523-785FEABCD123, handle 0xd, properties 0x12
[15:08:06][I][ble_client:347]:  characteristic 00001526-1212-EFDE-1523-785FEABCD123, handle 0x10, properties 0x12
[15:08:06][I][ble_client:161]: Service UUID: 0x180A
[15:08:06][I][ble_client:162]:   start_handle: 0x12  end_handle: 0xffff
[15:08:06][I][ble_client:347]:  characteristic 0x2A29, handle 0x14, properties 0x2
[15:08:06][W][radon_eye_rd200:153]: Error sending write request for sensor, status=-1
[15:08:06][D][esp32_ble_tracker:723]: Found device C1:96:0D:53:E9:A6 RSSI=-64
[15:08:06][D][esp32_ble_tracker:744]:   Address Type: RANDOM
[15:08:06][D][esp32_ble_tracker:746]:   Name: 'FR:R20:SN0025     '
[15:08:06][D][esp32_ble_tracker:748]:   TX Power: 19

for completness find here my yaml:

wifi....

api:
    
logger:

ota:

esp32_ble_tracker:

ble_client:
  - mac_address: c1:96:0d:53:e9:a6
    id: radon_eye_ble1_id
  - mac_address: da:b9:2c:5a:a9:75
    id: radon_eye_ble2_id

sensor:
  - platform: radon_eye_rd200
    ble_client_id: radon_eye_ble1_id
    update_interval: 1min # default
    radon:
      name: "RadonO"
    radon_long_term:
      name: "Radon Long TermO"
  - platform: radon_eye_rd200
    ble_client_id: radon_eye_ble2_id
    update_interval: 1min # default
    radon:
      name: "RadonK"
      unit_of_measurement: "Bq/m3"
      accuracy_decimals: 2
    radon_long_term:
      name: "Radon Long TermK"
      unit_of_measurement: "Bq/m3"
      accuracy_decimals: 2

I tried replacing my two ESPHome devices with custom RadonEye BT include files with a single one using this ESPHome component and I couldn’t get it working well. The device continues to reboot. I cut the config file it all the way down to a single RadonEye device and it still rebooted about every 30-60 seconds. It would not maintain a connection so I had to revert everything back. :frowning:

I’m sorry to anyone having trouble with the integration. Let me update you on my situation. I borrowed the RD200 I used to develop this from a friend. I measured for a few months, I paid for some mitigation, and then I bought an air things wave plus for myself (because it mounts on a wall, and includes some other sensors). I returned the RD200 to my friend, and gave them an ESP32 flashed with this integration (they also use home assistant). I don’t ask them every day, but AFAIK, it’s still working.

Given that I don’t have the device anymore, and I don’t really have time for maintenance anyway, I will help here when I can. But I hope there are some users that have gotten it to work, who can step in and help debug some of these issues.

In my experience, the ESP32 with anything related to BLE is a real memory hog. I have a bunch of ble temperature sensors and just enabling BLE takes a huge fraction of the available memory. I have about 8 in my house, and I use two ESP32 devices to read them all. I added some memory sensors to the ESPHome config to give me some more data about how much memory they are using:

sensor:
- platform: template
  name: "${esphome_name} Free Heap"
  lambda: |-
    return {static_cast<float>(esp_get_free_heap_size())};
  unit_of_measurement: B
  update_interval: 20s
- platform: template
  name: "${esphome_name} Min Free Heap"
  lambda: |-
    return {static_cast<float>(esp_get_minimum_free_heap_size())};
  unit_of_measurement: B
  update_interval: 20s

The min free heap shows the worst case scenario (if that ever reaches zero, the esp will reboot).

I have also seen some anecdotal evidence that the new platform for building the code significantly reduces the memory usage for BLE.

In my testing, I did have a config that connected to the air things and the RD200 from the same device (although I don’t think it was at the same time). That had enough memory. When I added in an oled display and only the RD200, that was too much. So it is close to the line.

I am using the cheap, common ESP32 in the nodeMCU form factor. Some of the other versions might have less memory?

If there are questions about the bluetooth stuff, like those long service keys/strings, I just grabbed those from the work in the posts above. I know there was a way to see all the services available in a particular device, and I remember printing those at some point. But I believe I took those out of the code because they were too verbose. If they change the strings on newer versions, then someone can make a PR to the repo, and people can test it out. But I can only do the work of reviewing and merging it. I don’t have the device to even test changes anymore. Sorry.

I bought an RD200 last week and have been attempting to use the integration to read the sensors through ESPHome. However, I keep running into the same problems and was hoping for some advice.

After getting the ESP32 set up through ESPHome, I added the code:

esp32_ble_tracker:
radon_eye_ble:

At which point it initiates and starts searching for Bluetooth devices. However, it does not provide the expected return “Found Radon Eye RD200 device” as listed in the instructions. Rather, the device comes up as follows:

[12:54:02][D][esp32_ble_tracker:726]: Found device 24:D7:EB:5F:E6:7E RSSI=-77
[12:54:02][D][esp32_ble_tracker:747]:   Address Type: PUBLIC
[12:54:02][D][esp32_ble_tracker:749]:   Name: 'FR:RU22201030448'

I know this is the Radon Eye as RU22201030448 is written on the label under the device. Using the MAC address, I am able to connect to it using the yaml code:

esp32_ble_tracker:

ble_client:
  - mac_address: 24:D7:EB:5F:E6:7E
    id: radon_eye_ble_id

sensor:
  - platform: radon_eye_rd200
    ble_client_id: radon_eye_ble_id
    update_interval: 5min # default
    radon:
      name: "Radon"
    radon_long_term:
      name: "Radon Long Term"

Again, the ESP32 data is uploaded and when it runs it has a hard time locating the Radon Eye but eventually does succeed. However, once it does, it reads as follows:

[13:08:30][I][ble_client:085]: Attempting BLE connection to 24:d7:eb:5f:e6:7e
[13:08:30][I][radon_eye_rd200:015]: Connected successfully!
[13:08:32][I][ble_client:166]: Service UUID: 0x1801
[13:08:32][I][ble_client:167]:   start_handle: 0x1  end_handle: 0x5
[13:08:32][I][ble_client:378]:  characteristic 0x2A05, handle 0x3, properties 0x20
[13:08:32][I][ble_client:166]: Service UUID: 0x1800
[13:08:32][I][ble_client:167]:   start_handle: 0x14  end_handle: 0x1c
[13:08:32][I][ble_client:378]:  characteristic 0x2A00, handle 0x16, properties 0x2
[13:08:32][I][ble_client:378]:  characteristic 0x2A01, handle 0x18, properties 0x2
[13:08:32][I][ble_client:378]:  characteristic 0x2AA6, handle 0x1a, properties 0x2
[13:08:32][I][ble_client:166]: Service UUID: 0x1523
[13:08:32][I][ble_client:167]:   start_handle: 0x28  end_handle: 0xffff
[13:08:32][I][ble_client:378]:  characteristic 0x1524, handle 0x2a, properties 0x6
[13:08:32][I][ble_client:378]:  characteristic 0x1525, handle 0x2c, properties 0x12
[13:08:32][I][ble_client:378]:  characteristic 0x1526, handle 0x2f, properties 0x12
[13:08:32][W][radon_eye_rd200:030]: No sensor read characteristic found at service 00001523-1212-EFDE-1523-785FEABCD123 char 00001525-1212-EFDE-1523-785FEABCD123

It’s not clear to me what I am doing wrong here. It appears to connect to the device but no data is coming across? I’m terribly new to home assistant and ESPHome so apologies if I’m missing something obvious here. Would not be surprising. I did try the same process with a different brand of ESP32 but led to the same results. I am able to access the radon levels through the app on my phone consistently. Any suggestions would be appreciated!

Well, the string I used to match the RD200 isn’t right. Look at the code here:

That FR:R20:SN doesn’t match your FR:RU22201030448. That’s why radon_eye_ble didn’t match.

Good for you to get past that. If someone has a match string that would make more sense, then I would happily make a PR. Is FR: too broad?

About the real issue you’re having though, not having the right characteristic. I got these strings from the scripts above:

I don’t know bluetooth, but I think it “sends” those particular strings to request specific information. That error message in your post:

[13:08:32][W][radon_eye_rd200:030]: No sensor read characteristic found at service 00001523-1212-EFDE-1523-785FEABCD123 char 00001525-1212-EFDE-1523-785FEABCD123

That is printed from here:

So, one of two things is wrong (I’m guessing):
a) Maybe the phone app is interfering? Try shutting down the app completely (maybe just turn off bluetooth for a minute) and then reset the RD200 by unplugging it. Then try with ESPHome again. I did see some things where the RD200 was “connected” to the phone, and it wouldn’t let go right away. I doubt this is going to fix it, but if it does, we can try to dive deeper into it. Maybe it just means HA won’t get readings when you’re connected with your phone?
b) Radon Eye may have changed those magic numbers with newer ones. As I said, I don’t know BLE well. I just copied these from the posts above. I would love it if someone who helped with the python could tell you how to get updated characteristic keys. I think you can figure it out with an app on your phone, while you are connected with the app. I hope they didn’t change the structure of the packets, that will take a little work to reverse.

Look, I bet they changed them to be much shorter… How interesting.

I can make a PR to work with these new IDs. You should be able to test that and see if it works. Then someone (probably me) will have to make a new setting to switch between these new and the old codes, unless I can autodetect them. I don’t have one though, so I am probably going to break something. I am not a good maintainer…

Try adding this to the top of your yaml file. If that works, I will try to make a change to switch between them:

external_components:
  # use esphome from jeffeb3
  - source:
      type: git
      url: https://github.com/jeffeb3/esphome
      ref: patch-1
    components: [ radon_eye_rd200 ]

Thanks so much for the help! I added the external components addition to the code, but the following results:

[23:52:58][I][ble_client:085]: Attempting BLE connection to 24:d7:eb:5f:e6:7e
[23:52:58][I][radon_eye_rd200:015]: Connected successfully!
[23:53:00][I][ble_client:166]: Service UUID: 0x1801
[23:53:00][I][ble_client:167]:   start_handle: 0x1  end_handle: 0x5
[23:53:00][I][ble_client:378]:  characteristic 0x2A05, handle 0x3, properties 0x20
[23:53:00][I][ble_client:166]: Service UUID: 0x1800
[23:53:00][I][ble_client:167]:   start_handle: 0x14  end_handle: 0x1c
[23:53:00][I][ble_client:378]:  characteristic 0x2A00, handle 0x16, properties 0x2
[23:53:00][I][ble_client:378]:  characteristic 0x2A01, handle 0x18, properties 0x2
[23:53:00][I][ble_client:378]:  characteristic 0x2AA6, handle 0x1a, properties 0x2
[23:53:00][I][ble_client:166]: Service UUID: 0x1523
[23:53:00][I][ble_client:167]:   start_handle: 0x28  end_handle: 0xffff
[23:53:00][I][ble_client:378]:  characteristic 0x1524, handle 0x2a, properties 0x6
[23:53:00][I][ble_client:378]:  characteristic 0x1525, handle 0x2c, properties 0x12
[23:53:00][W][radon_eye_rd200:030]: No sensor read characteristic found at service 00000000-0000-0000-0000-000000000000 char 00000000-0000-0000-0000-000000000000

Not sure what to make of that. I tried it on both ESP32 devices. Disconnecting the Bluetooth on my phone did make it easier for the ESP32 to connect to the Radon Eye. I’ve also noticed that when the ESP32 is connected to the Radon Eye, the app no longer functions. Clearly there is interference there.

Let me know what you think about the output log.

OK, I’ve been attempting to obtain more information to better understand what’s happening but I am WAY in over my head here. I have no idea whether this information is at all helpful to you, but here’s what I’ve found when using nRF to log communication:

nRF Connect, 2022-05-15

FR:RU22201030448 (24:D7:EB:5F:E6:7E)

V 09:20:06.182 Connecting to 24:D7:EB:5F:E6:7E...

D 09:20:06.182 gatt = device.connectGatt(autoConnect = false, TRANSPORT_LE, preferred PHY = LE 1M)

D 09:20:06.568 [Callback] Connection state changed with status: 133 and new state: DISCONNECTED (0)

E 09:20:06.568 Error 133 (0x85): GATT ERROR

I 09:20:06.568 Disconnected

D 09:22:02.667 [Broadcast] Action received: android.bluetooth.device.action.ACL_CONNECTED

D 09:22:02.673 gatt.close()

D 09:22:02.688 wait(200)

V 09:22:02.889 Connecting to 24:D7:EB:5F:E6:7E...

D 09:22:02.889 gatt = device.connectGatt(autoConnect = false, TRANSPORT_LE, preferred PHY = LE 1M)

D 09:22:02.911 [Callback] Connection state changed with status: 0 and new state: CONNECTED (2)

I 09:22:02.911 Connected to 24:D7:EB:5F:E6:7E

V 09:22:02.923 Discovering services...

D 09:22:02.923 gatt.discoverServices()

I 09:22:03.120 Connection parameters updated (interval: 30.0ms, latency: 0, timeout: 4000ms)

I 09:22:03.396 Connection parameters updated (interval: 7.5ms, latency: 0, timeout: 5000ms)

D 09:22:03.548 [Callback] Services discovered with status: 0

I 09:22:03.548 Services discovered

V 09:22:03.553 Generic Attribute (0x1801)

- Service Changed [I] (0x2A05)

Client Characteristic Configuration (0x2902)

Generic Access (0x1800)

- Device Name [R] (0x2A00)

- Appearance [R] (0x2A01)

- Central Address Resolution [R] (0x2AA6)

Unknown Service (00001523-0000-1000-8000-00805f9b34fb)

- Unknown Characteristic [R WNR] (00001524-0000-1000-8000-00805f9b34fb)

- Unknown Characteristic [N R] (00001525-0000-1000-8000-00805f9b34fb)

Client Characteristic Configuration (0x2902)

- Unknown Characteristic [N R] (00001526-0000-1000-8000-00805f9b34fb)

Client Characteristic Configuration (0x2902)

D 09:22:03.553 gatt.setCharacteristicNotification(00002a05-0000-1000-8000-00805f9b34fb, true)

D 09:22:03.554 gatt.setCharacteristicNotification(00001525-0000-1000-8000-00805f9b34fb, true)

D 09:22:03.556 gatt.setCharacteristicNotification(00001526-0000-1000-8000-00805f9b34fb, true)

I 09:22:03.659 Connection parameters updated (interval: 30.0ms, latency: 0, timeout: 4000ms)

I 09:22:04.695 Notification received from 00001525-0000-1000-8000-00805f9b34fb, value: (0x) 40-42-32-32-30-31-30-33-52-55-32-30-34-34-38-06-52-44-32-30-30-4E-56-32-2E-30-2E-32-00-00-94-00-06-95-00-00-00-00-00-03-00-15-00-29-02-00-00-DB-4D-08-00-B0-00-02-00-00-00-2E-00-00-B8-1E-45-3F-F6-28-9C-3F

A 09:22:04.695 "(0x) 40-42-32-32-30-31-30-33-52-55-32-30-34-34-38-06-52-44-32-30-30-4E-56-32-2E-30-2E-32-00-00-94-00-06-95-00-00-00-00-00-03-00-15-00-29-02-00-00-DB-4D-08-00-B0-00-02-00-00-00-2E-00-00-B8-1E-45-3F-F6-28-9C-3F" received

I 09:22:04.770 Notification received from 00001525-0000-1000-8000-00805f9b34fb, value: (0x) 40-42-32-32-30-31-30-33-52-55-32-30-34-34-38-06-52-44-32-30-30-4E-56-32-2E-30-2E-32-00-00-94-00-06-95-00-00-00-00-00-04-00-15-00-29-02-00-00-DB-4D-08-00-B0-00-02-00-00-00-2E-00-00-B8-1E-45-3F-F6-28-9C-3F

A 09:22:04.770 "(0x) 40-42-32-32-30-31-30-33-52-55-32-30-34-34-38-06-52-44-32-30-30-4E-56-32-2E-30-2E-32-00-00-94-00-06-95-00-00-00-00-00-04-00-15-00-29-02-00-00-DB-4D-08-00-B0-00-02-00-00-00-2E-00-00-B8-1E-45-3F-F6-28-9C-3F" received

I 09:23:12.390 Notification received from 00001525-0000-1000-8000-00805f9b34fb, value: (0x) 40-42-32-32-30-31-30-33-52-55-32-30-34-34-38-06-52-44-32-30-30-4E-56-32-2E-30-2E-32-00-00-94-00-06-95-00-00-00-00-00-07-00-15-00-2A-02-00-00-DB-4D-08-00-B0-00-02-00-00-00-2E-00-00-B8-1E-45-3F-F6-28-9C-3F

A 09:23:12.390 "(0x) 40-42-32-32-30-31-30-33-52-55-32-30-34-34-38-06-52-44-32-30-30-4E-56-32-2E-30-2E-32-00-00-94-00-06-95-00-00-00-00-00-07-00-15-00-2A-02-00-00-DB-4D-08-00-B0-00-02-00-00-00-2E-00-00-B8-1E-45-3F-F6-28-9C-3F" received

And here’s what happened after I sent the 0x50 write value to 0x1524:


My head is spinning…

I also made two screenshots of Wireshark’s analysis of btsnoop_hci after logging the interaction but it will only let me attach one image at a time. I’ll post below if I can.