You are reading a single comment by @GrandVizierOlaf and its replies. Click here to read the full conversation.
  • @GrandVizierOlaf , @Gordon , @Mi I just did the test with a 2 minutes break. The id stayed the same, but "rssi" and manufacturerData" changed (I have no clue what these are but I mention it in case it could be interesting for something else)
    ( [], [data1], [], [data2])
    data1 [
    BluetoothDevice: {

    "id": "a0:9e:1a:57:52:2b public",
    "rssi": -54,
    "data": new Uint8Array([19, 9, 80, 111, 108, 97, 114, 32, 79, 72, 49, 32, 53, 55, 53, 50, 50, 66, 50, 69]).buffer,
    "manufacturer": 107,
    "manufacturerData": new Uint8Array([114, 8, 150, 214, 167, 2, 0, 0, 0, 0, 122, 1, 5, 35, 0, 56]).buffer,
    "services": [
      "180d",
      "feee"
     ],
    "name": "Polar OH1 57522B2E"
    

    }
    ]
    data2 [
    BluetoothDevice: {

    "id": "a0:9e:1a:57:52:2b public",
    "rssi": -51,
    "data": new Uint8Array([19, 9, 80, 111, 108, 97, 114, 32, 79, 72, 49, 32, 53, 55, 53, 50, 50, 66, 50, 69]).buffer,
    "manufacturer": 107,
    "manufacturerData": new Uint8Array([114, 8, 150, 214, 167, 2, 0, 0, 0, 0, 122, 1, 5, 39, 0, 59]).buffer,
    "services": [
      "180d",
      "feee"
     ],
    "name": "Polar OH1 57522B2E"
    

    }
    ]

  • Wonderful, thanks! To add to what @Mi said, the manufacturerData is your actual health data. Without looking up the spec I would assume that a large part of it is the PPG data and it ends with your HR, the 59. For the curious, you can also pick out how the name is encoded in the data section;

    19=read 19 bytes with the next byte explaining the section
    9=what follows in the other 18 bytes name of the device
    80=P
    111=o
    108=l
    etc

    @Mi, the id scheme is up to the manufacturer, but follows a spec. This is the summary that made the most sense to me. Given that the H10 rerandomizes after pulling the battery I was a little concerned that the OH1 might do the same after a power cycle or be of a type that expects bonding (given that BTHRM was connecting by name before and that wouldn't be changing), but that is not the case given @Fteacher's data. It might have a method to factory reset the device which would cause it to rerandomize, but that is fortunately not our concern.

About