• I think what you're doing is right (you can also use DataView - which could be a little easier).

    The issue is with the EspruinoHub's decoding. It's doing something pretty simple right now - 8 bit is interpreted as-is, and 16 bit is the temperature x100. I'm not sure if it's spec compliant but it is what the nRF Connect app seems to do.

    https://github.com/espruino/EspruinoHub/­blob/master/lib/attributes.js#L32

    I'm not 100% sure the docs you found are for the UUID 0x1809 that's being used though. They seem to be for 0x2A1C. Having said that there don't appear to be any docs for the 0x1809 UUID when used in advertising (in fact it's almost certainly non-standard).

    ... so I'd be tempted to add a decoder in EspruinoHub for the 0x2A1C UUID, and handle that correctly? Either that, or you could add to the 0x1809 decoder so that it interprets 4 bytes of data as a float?

About

Avatar for Gordon @Gordon started