Blue Connect pool measurements

How did you discover the decoding of the values?
I have a bluetooth PH/ORP probe and I cannot decode any of the readed values.

This is what I got in wireshark:

ffa9fc5afe73ffc0ffc4ffeefdf7fd7ffabc65fea4ddbb55

And this is what I got from the android app:

ID  Model Name  Date    EC  EC(Unit)    TDS TDS(Unit)   SALT(%) SALT(TDS)   SALT(TDS)(Unit) SALT(S.G.)  pH  Humidity(%) ORP(mV) H2(ppb) H2(ppm) DO(mg/L)    DO(%)   CF  CL(mg/L)    Temperature(°C) Temperature(°F) Location    Notes
1   BLE-C600    2022-06-16 12:54:44 110 μS/cm   55  ppm 0.0 55  ppm 0.999   8.56    -   141 -   -   -   -   -   -   26.0    78.8    Madrid  

This is my probe:

I managed to read the battery level and also turn on/of the display.But not the rest of the meassurements. Any idea?

1 Like

Thanks, Not a bad idea, with ESPHome you can do lot of things using ESP32. Just as of potentian linspiration take a look to this
Wi-Fi Pool Kit | Atlas Scientific (atlas-scientific.com)
It is a bit expensive, but the heart of the device is an ESP32 that you can manage in HA via ESPHome. I have done that for another type of devices (moisture probes).

Wow prices on the Atlas kit have certainly spiked.
I believe the issue that wasn’t solved last time this device was brought up was the inability to calibrate the probes when using esphome. Any idea if that’s been solved?

Hi, how did you get the Bluetooth values from the device?
I’m trying to connect via an ESP32 and ESPHome using esp32_ble_tracker with which I’m able to see a manufacturer_data_advertise with ID 0131 but it doesn’t seem to be right.

hello, anyone can obtain the values of the blueconnect by bluetooth?
With the docker container you can obtain the values but you need a suscription active to blueconnect.

Im try to avoid this suscription but i dont know it is posible by bluetooth or by wifi extender.

Hello guys
My name is Jose, from Spain, I’m new to the forum.
I stumbled upon this thread, a few days ago, searching for a way to hack read Blue Connect device measurements via Bluetooth LE on demand. I bought a Blue Connect Go, that measures Temperature, PH and ORP.

I found a couple of posts in this thread crucial for reaching my goal:

  1. vampcp - Oct 18,2021 - Some example for RAW data and corresponding values from the cloud:
23ab093207ab0a7800240e
"salinity":4.9,"conductivity":8742,"temperature":24.8,"ph":7.93,"orp":685
[...]
2 more samples
  1. vampcp - Oct 28,2021 - This is how I managed to get the raw values from the device
blueClient.enableNotifications(blue_device, BLUE_TAKE_MEASURE_SERVICE) 
blueClient.setNotificationCallback(myNotificationCallback) 
blueClient.**requestMeasurements**(BLUE_REQUEST_SENSOR_DATA)

Plus a third hint:

  1. This GitHub page, more concise about triggering a measurement:
    https://githubhelp.com/myhomeiot/esphome-components/issues/8

UUID F3300002-FOA2-9B06-0C59-1BC4763B5C00 is the one that I write TRUE / 0x01 to and then I get the answer notified on F3300003-F0A2-9B06-0C59-1BC4763B5C00

Ok, so I first tried to decode myself the samples provided by vampcp, for example this one:

Cloud value set 1:
"salinity":4.9,"conductivity":8742,"temperature":24.8,"ph":7.93,"orp":685

23 ab 09 32 07 ab 0a 78 00 24 0e
   ^^-^^---------------------------- TEMP 0x09ab = 2475 / 100  = 24.75 ºC   <-- OK
         ^^-^^---------------------- PH   0x0732 = 1842 / 7.93 = K 232.28
               ^^-^^---------------- ORP  0x0aab = 2731 / 4    = 682.75 mV  <-- MOSTLY OK

For the TEMPerature, as mentioned earlier in this thread, the hex values [ab 09], represent the integer number 0x09ab = 2475 (little-endian, actually, first byte = least significant byte). Divide it by 100 and you get the temperature in degrees celsius with 0.01 ºC resolution. The App shows this with just 1 decimal place.

For the ORP, I found a similar approach. Just divide the raw value by 4 and you get the actual ORP with 0.25 mV resolution. The App shows this discarding the decimal part.

The PH was tricky, though. At first I thought there was also a linear direct relationship. With the given 3 samples, one could think of a value like K = 232.28 which was great to PH = 0x0732 / 232.28 = 7.93. As soon as I tried to use that constant with my samples around PH 7, it was a big NOK:

BLE Scanner: 23 a9 0b ff 07 aa 08 01 00 25 0e -- App: "29.8 ºC", "7.0", "554 mV"

23 a9 0b ff 07 aa 08 01 00 25 0e
   ^^-^^---------------------------- TEMP 0x0ba9 = 2985 / 100   = 29.85 ºC   <-- OK
         ^^-^^---------------------- PH   0x07ff = 2047 / K 232 = 8.82       <-- *** NOK ***
               ^^-^^---------------- ORP  0x08aa = 2218 / 4     = 554.50 mV  <-- OK

Uhmmm! K=232 seems a twisted value. I would have expected something like K=200 or K=256.

Then I noticed what seemed to be a negative linear relationship between the PH raw and cooked values. See vampcp’s readings, sorted by PH:

23ab093407980a7b00240e - 0x0734 -> "ph":7.92
23ab093207ab0a7800240e - 0x0732 -> "ph":7.93
23a6093007b70a78001e0e - 0x0730 -> "ph":7.94

Here, an increase of 0x0002 gives you a decrease of 0.01 in the cooked value, so there must be some negative 1/200 -ish constant in the formula. As we’ll see later on, I got values very close to 0x0800 for PH 7.0 (neutral PH, center value of the 0-14 PH scale). What if we then just needed to apply the proper K value? Let’s find out, please keep reading!

I’ve been taking samples during the last couple of days, several times during the day. I used both BLE Scanner on my iPhone to get the raw values and the BlueConnect App to get the cooked values.

Note: for this, I take a sample with BLE Scanner, giving me the raw value (take a screenshot), disconnect and then take a new sample with the BlueConnect App, giving me the cooked values (take another screenshot). So, there’s a slight delay between samples and their values may vary slightly

Note 2: Alternatively, you can use the ‘gatttool’ tool that comes with Linux’ bluetooth package. I happen to have a Raspberry Pi near the pool that I can use for that. A reading can be taken as follows:

$ gatttool -b 00:A0:50:XX:XX:XX --char-write-req --handle=0x0014 --value=0100 --char-write-req --handle=0x0012 --value=01 --listen
Characteristic value was written successfully
[...takes about 8 seconds]
Notification handle = 0x0014 value: 23 77 0b fc 07 48 08 01 00 1f 0e

…and we get the raw values.
(you can prepend ‘timeout 60’ to the ‘gattool’ command to let it not wait for notifications forever)
(here handle 0x0012 corresponds to characteristic ‘F3300002’ and handle 0x0014 to ‘F3300003’. First we enable notifications on the second one, then we send the ‘start measurement’ command to the first one)

With the BLE Scanner, you write the value 01 to the characteristic ‘F3300002’ and after 8 seconds, the raw measurement value will be notified to the characteristic ‘F3300003’:

So, here go some values for PH ranging from 7.0 to 8.1:

BLE Scanner: 23 a9 0b ff 07 aa 08 01 00 25 0e -- App: "29.8 ºC", "7.0", "554 mV"
23 a9 0b ff 07 aa 08 01 00 25 0e
   ^^-^^---------------------------- TEMP 0x0ba9 = 2985 / 100 = 29.85 ºC  <-- OK
         ^^-^^---------------------- PH   0x07ff

BLE Scanner: 23 18 0b 7f 07 0d 0a 00 00 2b 0e -- App: "28.4 ºC", "7.6", "645 mV"
23 18 0b 7f 07 0d 0a 00 00 2b 0e
   ^^-^^---------------------------- TEMP 0x0b18 = 2840 / 100 = 28.40 ºC  <-- OK
         ^^-^^---------------------- PH   0x077f

BLE Scanner: 23 91 0a 13 07 44 09 01 00 27 0e -- App: "27.0 ºC", "8.0", "592 mV"
23 91 0a 13 07 44 09 01 00 27 0e
   ^^-^^---------------------------- TEMP 0x0a91 = 2705 / 100 = 27.05 ºC  <-- OK
         ^^-^^---------------------- PH   0x0713

BLE Scanner: 23 04 0b 01 07 e7 09 00 00 26 0e -- App: "28.2 ºC", "8.1", "632 mV"
23 04 0b 01 07 e7 09 00 00 26 0e
   ^^-^^---------------------------- TEMP 0x0b04 = 2820 / 100 = 28.20 ºC  <-- OK
         ^^-^^---------------------- PH   0x0701

As I suspected, 0x07ff (or 0x0800, for the case) seems to correspond to PH 7.0, going down to 0x0713 for PH 8.0, so we could assume the slope constant may be something like:
K = (0x0800 - 0x0713) / (7.0 - 8.0) = -237

Playing a bit with the several PH values around 7.0 and 8.0, and several values of K, I find K = 232 gets me the ‘most rated OK’ results for all my tested cases:

BLE Scanner: 23 a9 0b ff 07 aa 08 01 00 25 0e -- App: "29.8 ºC", "7.0", "554 mV"

23 a9 0b ff 07 aa 08 01 00 25 0e
   ^^-^^---------------------------- TEMP           0x0ba9 = 2985 / 100 = 29.85 ºC  <-- OK
         ^^-^^---------------------- PH   (0x0800 - 0x07ff) / 224 + 7   = 7.0045    <-- OK *
         ^^-^^---------------------- PH   (0x0800 - 0x07ff) / 232 + 7   = 7.0043    <-- OK **
         ^^-^^---------------------- PH   (0x0800 - 0x07ff) / 240 + 7   = 7.0042    <-- OK ***
         ^^-^^---------------------- PH   (0x0800 - 0x07ff) / 248 + 7   = 7.0040    <-- OK ****
         ^^-^^---------------------- PH   (0x0800 - 0x07ff) / 256 + 7   = 7.0039    <-- OK *****

BLE Scanner: 23 72 0b fd 07 3f 08 01 00 1f 0e -- App: "29.3 ºC", "7.0", "523 mV"

23 72 0b fd 07 3f 08 01 00 1f 0e
   ^^-^^---------------------------- TEMP           0x0b72 = 2930 / 100 = 29.30 ºC  <-- OK
         ^^-^^---------------------- PH   (0x0800 - 0x07fd) / 224 + 7   = 7.0134    <-- OK *
         ^^-^^---------------------- PH   (0x0800 - 0x07fd) / 232 + 7   = 7.0129    <-- OK **
         ^^-^^---------------------- PH   (0x0800 - 0x07fd) / 240 + 7   = 7.0125    <-- OK ***
         ^^-^^---------------------- PH   (0x0800 - 0x07fd) / 248 + 7   = 7.0121    <-- OK ****
         ^^-^^---------------------- PH   (0x0800 - 0x07fd) / 256 + 7   = 7.0117    <-- OK *****

BLE Scanner: 23 18 0b 7f 07 0d 0a 00 00 2b 0e -- App: "28.4 ºC", "7.6", "645 mV"

23 18 0b 7f 07 0d 0a 00 00 2b 0e
   ^^-^^---------------------------- TEMP           0x0b18 = 2840 / 100 = 28.40 ºC  <-- OK
         ^^-^^---------------------- PH   (0x0800 - 0x077f) / 224 + 7   = 7.5759    <-- OK *****
         ^^-^^---------------------- PH   (0x0800 - 0x077f) / 232 + 7   = 7.5560    <-- OK ***
         ^^-^^---------------------- PH   (0x0800 - 0x077f) / 240 + 7   = 7.5375    <-- NOK
         ^^-^^---------------------- PH   (0x0800 - 0x077f) / 248 + 7   = 7.5202    <-- NOK
         ^^-^^---------------------- PH   (0x0800 - 0x077f) / 256 + 7   = 7.5039    <-- NOK

BLE Scanner: 23 dc 0a 7e 07 fa 0a 01 00 1f 0e -- App: "27.8 ºC", "7.6", "701 mV"

23 dc 0a 7e 07 fa 0a 01 00 1f 0e
   ^^-^^---------------------------- TEMP           0x0adc = 2780 / 100 = 27.80 ºC  <-- OK
         ^^-^^---------------------- PH   (0x0800 - 0x077e) / 224 + 7   = 7.5804    <-- OK *****
         ^^-^^---------------------- PH   (0x0800 - 0x077e) / 232 + 7   = 7.5603    <-- OK ***
         ^^-^^---------------------- PH   (0x0800 - 0x077e) / 240 + 7   = 7.5417    <-- NOK
         ^^-^^---------------------- PH   (0x0800 - 0x077e) / 248 + 7   = 7.5242    <-- NOK
         ^^-^^---------------------- PH   (0x0800 - 0x077e) / 256 + 7   = 7.5078    <-- NOK

BLE Scanner: 23 4f 0b 58 07 58 09 00 00 2d 0e -- App: "28.9 ºC", "7.7", "601 mV"

23 4f 0b 58 07 58 09 00 00 2d 0e
   ^^-^^---------------------------- TEMP           0x0b4f = 2895 / 100 = 28.95 ºC  <-- OK
         ^^-^^---------------------- PH   (0x0800 - 0x0758) / 224 + 7   = 7.7500    <-- NOK
         ^^-^^---------------------- PH   (0x0800 - 0x0758) / 232 + 7   = 7.7241    <-- OK ***
         ^^-^^---------------------- PH   (0x0800 - 0x0758) / 240 + 7   = 7.7000    <-- OK ***** nailed it
         ^^-^^---------------------- PH   (0x0800 - 0x0758) / 248 + 7   = 7.6774    <-- OK ****
         ^^-^^---------------------- PH   (0x0800 - 0x0758) / 256 + 7   = 7.6563    <-- OK **

BLE Scanner: 23 d7 0a 26 07 a4 09 00 00 27 0e -- App: "27.7 ºC", "7.9", "617 mV"

23 d7 0a 26 07 a4 09 00 00 27 0e
   ^^-^^---------------------------- TEMP           0x0ad7 = 2775 / 100 = 27.75 ºC  <-- OK
         ^^-^^---------------------- PH   (0x0800 - 0x0726) / 224 + 7   = 7.9732    <-- OK *
         ^^-^^---------------------- PH   (0x0800 - 0x0726) / 232 + 7   = 7.9397    <-- OK ***
         ^^-^^---------------------- PH   (0x0800 - 0x0726) / 240 + 7   = 7.9083    <-- OK *****
         ^^-^^---------------------- PH   (0x0800 - 0x0726) / 248 + 7   = 7.8790    <-- OK ****
         ^^-^^---------------------- PH   (0x0800 - 0x0726) / 256 + 7   = 7.8516    <-- OK **

BLE Scanner: 23 a5 0a 1e 07 4c 09 00 00 26 0e -- App: "27.2 ºC", "8.0", "594 mV"

23 a5 0a 1e 07 4c 09 00 00 26 0e
   ^^-^^---------------------------- TEMP           0x0aa5 = 2725 / 100 = 27.25 ºC  <-- OK
         ^^-^^---------------------- PH   (0x0800 - 0x071e) / 224 + 7   = 8.0089    <-- OK *****
         ^^-^^---------------------- PH   (0x0800 - 0x071e) / 232 + 7   = 7.9741    <-- OK ****
         ^^-^^---------------------- PH   (0x0800 - 0x071e) / 240 + 7   = 7.9417    <-- NOK
         ^^-^^---------------------- PH   (0x0800 - 0x071e) / 248 + 7   = 7.9113    <-- NOK
         ^^-^^---------------------- PH   (0x0800 - 0x071e) / 256 + 7   = 7.8828    <-- NOK

BLE Scanner: 23 91 0a 13 07 44 09 01 00 27 0e -- App: "27.0 ºC", "8.0", "592 mV"

23 91 0a 13 07 44 09 01 00 27 0e
   ^^-^^---------------------------- TEMP           0x0a91 = 2705 / 100 = 27.05 ºC  <-- OK
         ^^-^^---------------------- PH   (0x0800 - 0x0713) / 224 + 7   = 8.0580    <-- OK ***
         ^^-^^---------------------- PH   (0x0800 - 0x0713) / 232 + 7   = 8.0216    <-- OK ****
         ^^-^^---------------------- PH   (0x0800 - 0x0713) / 240 + 7   = 7.9875    <-- OK *****
         ^^-^^---------------------- PH   (0x0800 - 0x0713) / 248 + 7   = 7.9556    <-- OK ****
         ^^-^^---------------------- PH   (0x0800 - 0x0713) / 256 + 7   = 7.9258    <-- NOK

BLE Scanner: 23 04 0b 01 07 e7 09 00 00 26 0e -- App: "28.2 ºC", "8.1", "632 mV"

23 04 0b 01 07 e7 09 00 00 26 0e
   ^^-^^---------------------------- TEMP           0x0b04 = 2820 / 100 = 28.20 ºC  <-- OK
         ^^-^^---------------------- PH   (0x0800 - 0x0701) / 224 + 7   = 8.1384    <-- OK ***
         ^^-^^---------------------- PH   (0x0800 - 0x0701) / 232 + 7   = 8.0991    <-- OK *****
         ^^-^^---------------------- PH   (0x0800 - 0x0701) / 240 + 7   = 8.0625    <-- OK ****
         ^^-^^---------------------- PH   (0x0800 - 0x0701) / 248 + 7   = 8.0282    <-- NOK
         ^^-^^---------------------- PH   (0x0800 - 0x0701) / 256 + 7   = 7.9961    <-- NOK

This calculation may not be the real one they use on their servers and App, but it’s accurate enough for me for values between 7.0 and 8.1, perhaps extrapolable down to 6.0 but no lower. I would need to take a few measurements using the PH 4.0 calibration solution to get raw/cooked values at that point and redo the calculations. Maybe the same constant is still valid down to 4.0, maybe I meed a different constant for the acidic range (7…0), maybe a slightly different constant works for the 4…8 range, who knows.

To end the post, these would be my final dissections:

BLE Scanner: 23 dc 0a 7e 07 fa 0a 01 00 1f 0e -- App: "27.8 ºC", "7.6", "701 mV"

23 dc 0a 7e 07 fa 0a 01 00 1f 0e
   ^^-^^---------------------------- TEMP           0x0adc = 2780 / 100 = 27.80 ºC  <-- OK
         ^^-^^---------------------- PH   (0x0800 - 0x077e) / 232 + 7   = 7.5603    <-- OK, rounds up to 7.6
               ^^-^^---------------- ORP  0x0afa = 2810 / 4             = 702.50 mV <-- OK, just a millivolt off
                     ^^-^^---------- SAL  0x0001 -- my device does not support it, the App does not show it
                           ^^-^^---- COND 0x0e1f -- same as above

Sorry for the long post, I just wanted to share with you my ramblings and excitement trying to decode the raw data for this device. Hope it has been interesting and useful.

I’m planning on writing a small python script to automate the reading and decoding of the data from the device via BLE, in order to take 1 measurement per hour from a Raspberry Pi that I have near the pool running Raspbian Linux.

Regards
Jose

4 Likes

Great job jose (gracias tio!!)

Im now testing with the wifi extender and the mqtt docker, to force obtain data at certenly hours, if i cant make this, maybe i use your method

Hey Jose - thats fantastic work - i will try and use Tasmota on ESP32 to do this now that you have done the hard work. (Unfortunately my Blue Connect has died and am waiting for a factory warranty replacement.

Craig

Thank you guys! Here is what I get taking a measurement each hour:

Except for the ambient temperature, the other are read from the BlueConnect via BLE.

I don’t have a Github repo yet, so here are 2 snippets of the python script that I’m currently using:

def read_raw_measurement(device_mac):
	'''
	Read temperature, PH and ORP

	$ gatttool -b 00:A0:50:xx:xx:xx --char-write-req --handle=0x0014 --value=0100 --char-write-req --handle=0x0012 --value=01 --listen
	Characteristic value was written successfully
	Notification handle = 0x0014 value: 23 1d 0b 76 07 b6 0a 01 00 25 0e
	'''
	log = logging.getLogger()

	log.info("Reading Blue Connect Go Measurement...")
	process = subprocess.Popen(['timeout', '60', 'gatttool', '-b', device_mac, '--char-write-req', '--handle=0x0014', '--value=0100', '--char-write-req', '--handle=0x0012', '--value=01', '--listen'],
						 stdout=subprocess.PIPE,
						 stderr=subprocess.PIPE)
	out, err = process.communicate()

	if process.returncode == 0 or process.returncode == 124:
		lines = out.decode('ascii').splitlines()
		for line in lines:
			log.debug("--> %s" % (line,))

		p0 = re.compile(r'^Notification handle = 0x0014 value: ([0-9a-f ]+)')
		m0 = None
		for line in lines:
			m0 = p0.search(line)
			if m0 is not None:
				break

		if m0 is not None:
			# raw_measurement
			return m0.group(1).replace(' ','')

		raise Exception("could not parse subprocess output")
	else:
		raise Exception("subprocess returned exit code: %u" % (process.returncode,))

And this is where raw data is decoded and sent to stdout in CSV format:

		# ---------------------------------------------------------------------
		# time (UTC)
		# 2022-07-17T12:16:03.021Z
		utcNow = datetime.utcnow()
		sUtcTime = utcNow.strftime("%Y-%m-%dT%H:%M:%S.%f")[:-3] + "Z"

		raw_measurement = None
		try:
			raw_measurement = read_raw_measurement(device_mac)
		except Exception as e:
			log.error("EXCEPTION: %s", repr(e))

		water_temp = None
		water_ph = None
		water_orp = None

		if raw_measurement is not None:
			# ---------------------------------------------------------------------
			# Water Temp (deg C)
			# 28.45
			# 231d0b7607b60a0100250e
			#   ^^^^
			raw_temp = int(raw_measurement[4:6] + raw_measurement[2:4], 16)
			water_temp = float(raw_temp) / 100

			# ---------------------------------------------------------------------
			# PH Level (U)
			# 7.59
			# 231d0b7607b60a0100250e
			#       ^^^^
			raw_ph = int(raw_measurement[8:10] + raw_measurement[6:8], 16)
			water_ph = (float(0x0800) - float(raw_ph)) / 232 + 7

			# ---------------------------------------------------------------------
			# ORP Level (mV)
			# 685.50
			# 231d0b7607b60a0100250e
			#           ^^^^
			raw_orp = int(raw_measurement[12:14] + raw_measurement[10:12], 16)
			water_orp = float(raw_orp) / 4

		# ---------------------------------------------------------------------
		# Print header
		print("time (UTC),Water Temp (deg C),PH Level (U),ORP Level (mV),RAW Measurement (),Manufacturer Data (),RSSI (dBm)")
		# Print data
		print("%s,%s,%s,%s,%s,%s,%s" % (
			sUtcTime,
			"%.2f" % water_temp if water_temp is not None else "",
			"%.2f" % water_ph if water_ph is not None else "",
			"%.2f" % water_orp if water_orp is not None else "",
			raw_measurement if raw_measurement is not None else "",
			manufacturer_data if manufacturer_data is not None else "",
			rssi if rssi is not None else ""
		))

Output:

time (UTC),Water Temp (deg C),PH Level (U),ORP Level (mV),RAW Measurement (),Manufacturer Data (),RSSI (dBm)
2022-07-20T07:01:01.513Z,24.00,7.25,550.25,236009c70799080000260e,190100c607ded720f01e15,-86

Regards
Jose

3 Likes

Spanish joke !!! -----> En dos palabras Impre Zionante !!!

I will try to explore also what could be done with ESPHOME given all the great job @JosePortillo has done.

1 Like

i have questions to @LordMike and users of MGTT addon for HA.
Can we double check together settings please ?

MQTT

Server: ha_server_IP_address
Port: 1883
Username: ha_login
Password: ha_password
ClientId: blueriiot2mqtt

BlueRiiot
Username: ‘bluriiot_app_email’
Password: ‘bluriiot_app_password’

Cause actualy, i don’t succeed to initialise connection MQTTnet.Exceptions.MqttCommunicationException: Connection refused

Thx

The first data is for mqtt server, not homeassistant server.
Ip, port, login and pass of the mqtt server

I thougt that @LordMike addon was MQTT server (or gateway) to communicate with Bluriiot (i have bluriiot extender).
I don’t have MQTT sever, do i need to build one ?
I have Bluriiot Go + Bluriiot Extender + HomeAssistant

No, you are wrong.
Read the description, its clear:
This is a proxy application to translate the status of a Blue Riiot pool manager, to Home Assistant using MQTT. You can run this application in docker, and it will periodically poll the Blue Riiot API for updates.

you need a mqtt server

Done ! Works like a charm :slight_smile:

Do you know how often measurements are done ? With Bluriiot Go + Bluriiot Extender ?
Or more, can we setup regularity of measurements ?

Regards

1 Like

the extender got automatically 20 meassurements per day. but not report to the blueriiot app.
You must force the process to upload the data to the app, you can force this by publish a empty message to a specific topi, throught MQTT

if you launch this comand one per hour will work:

mosquitto_pub -h 192.168.1.2 -p 1883 -m “” -t ‘blueriiot/commands/release_last_unprocessed/xxxx’
where 192.168.1.2 must be the ip of your mqtt server
where 1883 must be the port of your mqtt server
where xxx is “key” in blueconnect app

this works for me. you can try

I tried on HA terminal.
I have message : Connection refused : not authorised
I verified key and it’s correct (uppercase or lowercase ?, i tried the two)

I put ip address of HA host cause i installed HA MQTT add-on

I dont know. I have a docker with mqtt and works fine. With your setup i dont know :frowning:

Hi

I’m having trouble with the Blueriiot Pool Sensor Integration. I’m fairly new to HA and don’t really know my way around. I installed the Adon Blueriiot Pool Sensor and also the Mosquitto broker. For MQTT, I created a person named mqttuser in HA, as recommended on the web. During the installation, the Mosquitto broker found 1 device and 4 entities immediately. In the Blueriiot Pool Sensor log, I also see that my pool sensor is found and MQTT.SendMessage() hass-blueriiot/status is also sent. Unfortunately I don’t have any values ​​in HA and it says that the pool pH is no longer available. I must have overlooked something. Maybe someone can help me. I don’t speak English myself (only German) and had this translated. My HA runs on an RP4. Greetings daniel

I’ll try to have your setup :wink: