Feature request: HOBO bluetooth sensors
https://www.onsetcomp.com/products/data-loggers/mx2001
Hi @mortenx,
This looks interesting, I didn’t find any information on the HOBO site about the devices’ BLE advertisement data so far though.Would you be willing in finding out together if and how the advertisment data of the HOBO devices you have could be decoded?
Fir that you would need to turn on advertisement and advanced data on your BLE OpenMQTTGateway and monitor and copy and paste the information the HOBO devices braodcast, along with their relevant data at the same time.
I am usung esp32 and home assistant, where to i insert this command?
“mosquitto_pub -t home/OpenMQTTGateway/commands/MQTTtoBT/config -m ‘{“pubadvdata”:true}’”
The easiest is to use MQTT Explorer. In the Publish section there you enter
home/OpenMQTTGateway/commands/MQTTtoBT/config
as the Topic, and
{“pubadvdata”:true}
as the payload in json format.
data from logger , every ~65 seconds
{
“id”: “E9:8E:6C:E6:48:10”,
“mac_type”: 1,
“adv_type”: 0,
“manufacturerdata”: “c500075aa4410106240000000800523c029900dd9739”,
“rssi”: -45,
“txpower”: 0,
“distance”: 0.06662
}
{
“id”: “E9:8E:6C:E6:48:10”,
“mac_type”: 1,
“adv_type”: 0,
“manufacturerdata”: “c500075aa4410106240000000800123c029940d6e73a”,
“rssi”: -42,
“txpower”: 0,
“distance”: 0.033417
}
{
“id”: “E9:8E:6C:E6:48:10”,
“mac_type”: 1,
“adv_type”: 0,
“manufacturerdata”: “c500075aa4410106240200000800d23c029940b98eb9”,
“rssi”: -44,
“txpower”: 0,
“distance”: 0.053212
}
Thanks @mortenx,
So parts of the last part of the manufacturerdata seems to be frequently changing. What data does the device native app show at these times, and what kind of data is expected?
To be able to see if and what data might be encoded here, some relationship between the actual data needs to be compared.
i think sensor measures two things water level through water pressure and temperature
and when connected to app, mqtt dont see changes
{
“id”: “E9:8E:6C:E6:48:10”,
“mac_type”: 1,
“adv_type”: 0,
“manufacturerdata”: “c500075aa4410106240200000800123a029970818aba”,
“rssi”: -80,
“txpower”: 0
}
{
“id”: “E9:8E:6C:E6:48:10”,
“mac_type”: 1,
“adv_type”: 0,
“manufacturerdata”: “c500075aa4410106240000000800d23a0299c055cdb9”,
“rssi”: -90,
“txpower”: 0
}
{
“id”: “E9:8E:6C:E6:48:10”,
“mac_type”: 1,
“adv_type”: 0,
“manufacturerdata”: “c500075aa44101062402000008005239029ac00a81ba”,
“rssi”: -89,
“txpower”: 0
}
I cannot see any immediate relationship between the manufacturerdata and the graph from the app, neither for the temperature, but definitely not for the water level, which, while it has quite an amplitude, on the legend it is always in the -0.001 m (negative?) range throughout the whole graph legend.
Instead of a graph actual live data value readings would be better to see it they are contained encoded within the manufacturerdata, like - what is the exact temperature reading which in the graph is a constant line at ~ 19.25 °C?
Additionally data from other days, with very different temperature and water level will help to see if this is encoded in the manufacturerdata at all.
Now there is native HOBO gateway
(MX Gateway | Onset's HOBO Data Loggers)
option so there is a possibility that the sensors can be made to send data.
I caught some packets in the nFR app, it may not be exactly at the right time, but maybe it is possible to find some connection…
2024-08-29 12:00:20.917, -78 dBm, 0x020106020A0017FFC5000740D54F0106240000000800521D02A03C10543B
2024-08-29 11:57:55.13, -87 dBm, 0x020106020A0017FFC5000740D54F0106240200000800521D02A03C10543B
2024-08-29 11:57:52.562, -85 dBm, 0x020106020A0017FFC5000740D54F0106240200000800521D02A03C10543B
2024-08-29 11:57:51.262, -89 dBm, 0x020106020A0017FFC5000740D54F0106240200000800521D02A03C10543B
2024-08-29 11:54:59.74, -86 dBm, 0x020106020A0017FFC5000740D54F0106240000000800521D02A03C10543B
2024-08-29 11:54:55.857, -90 dBm, 0x020106020A0017FFC5000740D54F0106240200000800521D02A03C10543B
2024-08-29 11:54:48.102, -90 dBm, 0x020106020A0017FFC5000740D54F0106240000000800521E02A0001A223B
2024-08-29 11:54:46.838, -87 dBm, 0x020106020A0017FFC5000740D54F0106240000000800521E02A0001A223B
2024-08-29 11:54:44.263, -99 dBm, 0x020106020A0017FFC5000740D54F0106240000000800521E02A0001A223B
2024-08-29 11:54:33.948, -85 dBm, 0x020106020A0017FFC5000740D54F0106240200000800521E02A0001A223B
2024-08-29 11:54:31.354, -97 dBm, 0x020106020A0017FFC5000740D54F0106240200000800521E02A0001A223B
There definitely are changes in the manufacturerdata part of the packets you posted, but without screenshots of the values in the app at the very same time I cannot deduct if and which data might be encoded there.
The only way to know for sure is if you can manage to post some more data samples - best in the MQTT format as in your initial post - along with screenshots taken at the very same time. Two or three such combinations should suffice.
N: Send on /BTtoMQTT/DD61584AA377 msg {“id”:“DD:61:58:4A:A3:77”,“mac_type”:1,“adv_type”:0,“manufacturerdata”:“c5000740d54f0106240200000800122f029e9772963e”,“rssi”:-73,“txpower”:0}
N: Send on /BTtoMQTT/DD61584AA377 msg {“id”:“DD:61:58:4A:A3:77”,“mac_type”:1,“adv_type”:0,“manufacturerdata”:“c5000740d54f01062402000008005231029e8708cb3d”,“rssi”:-75,“txpower”:0}
N: Send on /BTtoMQTT/DD61584AA377 msg {“id”:“DD:61:58:4A:A3:77”,“mac_type”:1,“adv_type”:0,“manufacturerdata”:“c5000740d54f0106240000000800d231029eba86cb3d”,“rssi”:-82,“txpower”:0}
N: Send on /BTtoMQTT/DD61584AA377 msg {“id”:“DD:61:58:4A:A3:77”,“mac_type”:1,“adv_type”:0,“manufacturerdata”:“c5000740d54f0106240000000800d22e029ef420973e”,“rssi”:-79,“txpower”:0}
N: Send on /BTtoMQTT/DD61584AA377 msg {“id”:“DD:61:58:4A:A3:77”,“mac_type”:1,“adv_type”:0,“manufacturerdata”:“c5000740d54f0106240000000800d22c029eda7a963e”,“rssi”:-78,“txpower”:0}
N: Send on /BTtoMQTT/DD61584AA377 msg {“id”:“DD:61:58:4A:A3:77”,“mac_type”:1,“adv_type”:0,“manufacturerdata”:“c5000740d54f01062402000008001229029d827f963e”,“rssi”:-75,“txpower”:0}
When i connect mobile app to ble device then OMG dont see packets anymore…I can only assume that the numbers are correct because I can check with a small delay
Thanks, the above samples helped a lot, now I got the level figured out now, but the temperature is still somewhat elusive. Would you be able to supply a few more sample like the last ones, but possibly with heating up or cooling down the water, so that the temperature bytes might get a bit more obvious? Or possibly take some reading at a different time of day, when the water temperature is quite different.
And can you also tell us exactly which Hobo water level sensor you have, as there seem to be different versions for different possible maximum levels?
actually the temperature is not that important
i use
and 4m steel sensors
is this helpful? or you need more temp diff
water level 0,11m temp 16,92`C
N: Send on /BTtoMQTT/C91FBB4FF1DA msg {“id”:“C9:1F:BB:4F:F1:DA”,“mac_type”:1,“adv_type”:0,“manufacturerdata”:“c500073fd54f0106240200000800125302a0f998e53d”,“rssi”:-84,“txpower”:0}
temp 35,37 level0,0838
N: Send on /BTtoMQTT/C91FBB4FF1DA msg {“id”:“C9:1F:BB:4F:F1:DA”,“mac_type”:1,“adv_type”:0,“manufacturerdata”:“c500073fd54f0106240200000800d29e01a06907ae3d”,“rssi”:-80,“txpower”:0}
temp 33,58 level 0,0951
N: Send on /BTtoMQTT/C91FBB4FF1DA msg {“id”:“C9:1F:BB:4F:F1:DA”,“mac_type”:1,“adv_type”:0,“manufacturerdata”:“c500073fd54f010624000000080092a901a0bcd9c23d”,“rssi”:-80,“txpower”:0}
temp 35,70 level 0,0847
N: Send on /BTtoMQTT/C91FBB4FF1DA msg {“id”:“C9:1F:BB:4F:F1:DA”,“mac_type”:1,“adv_type”:0,“manufacturerdata”:“c500073fd54f0106240000000800529501a0a06aad3d”,“rssi”:-77,“txpower”:0}
I’m afraid I couldn’t spend too much time on trying to decode the advertising hex data from the HOBO MX2001. The actual level was quickly apparent, but with the temperature and pressure below are my deductions so far.
You can install the latest development build at
The level is being reported in cm/inches for consistency with other level broadcasting devices, easily scalable in any controller.
If anyone else would like to take further stabs at it, or sees something obvious I completely missed
It works very well
yes green could be maybe air pressure but maybe also sensor battery %
is ble receiver working also in parallel with 433mhz receiver?
Is this HOBO sensor update going to Theengs app also ?