Pool monitoring device Yieryi BLE-YL01 - Zigbee pH, ORP, Free chlorine, salinity etc

I brought this 7-in-1 Zigbee water quality tester : -

https://www.aliexpress.com/item/1005006042351560.html?spm=a2g0o.order_list.order_list_main.11.b16c1802eTsqso

It is discovered as a BLE-YL01

Note, it is NOT wifi as listing might suggest, but zigbee. On the face of it, it looks interesting because zigbee would suggest it should have the right combination of range and battery life for a device that floats on the pool, AND has a good range of sensors to measures including pH, ORP, Chlorine, salt, EC, TDS, Temp and battery.

It has arrived, and connected and working. But there are some limits which I am hoping to work around. The main limit I have found is when you start measuring pH, the 1st reading tend to be low. Eg for pool that has a calibrated (sensor and pool) pH of say 7.4, the 1st readings each time you read it tend to bound around, starting low…something like 6.2, but then work up and settle at what I think is a good reading. This happens pretty quickly, over say a about 1 minutes. But all the ways I read the sensor don’t account for this, so short of manually reading, and waiting for it to settle, it gives low pH results.

The other issues I have is how to integrate this into Home Assistant. I am homing once I get it properly integrated in HA, maybe someone tweak the integration to more accurately do these readings.

Summary of ways of connecting the BLE-TL01 below.

Directly via Zigbee2MQTT :

  • This is the only way I have been able to find to get data into HA.
  • After the initial connection, it only reads the sensors about every 5 hours or so (some things like the battery, less). Ideally, I would like it read more frequently that that.
  • the pH value is always lower. My guess is because the reading that is sent is only based on one sample, rather than multiple samples to let the value “settle” and give a good reading as outline above.

If I connect it via a Zigbee Gateway, I can use it via its Native app, or the generic SmartLife Tuya application which is my preferred option as it opens up some of the various Tuya HA integration options. But this is not perfect as there is limited ability to graph the data over time. Some graphing is in the Yieryi/Smartlife App (seems to be the same data and views), but is limited, because :-

  • it only seems to collect data when the App and this sensor is open and being used at which time it is frequency sampling, and it is via this path I can see the pH readings start low, and then move up and settle at a more accurate reading.

  • I have not yet found a way to integrate the sensor into Home Assistant vai this path (ie via the tuya zigbee gateway rather than zigbee2MQTT).

  • The graphs in the App are of limited use, partially because it only appears to sample when you are looking at it so there are lots of zero gaps in the graphs which upset the averages etc. Partially because they are badly designed. But mostly because the low reading when you start looking at it for pH upset everything. The Day/Week/Month (which shows hourly/daily/Daily bar charts respectively) appear to work by averaging the readings taken in the hour/day which can be very misleading because this tends to be an average of a disproportionately low values as it only records a value when it changes so the low values as it quickly counts up, count for more than the more accurate reading where it settles for long periods of time without a change.

Below is what I have tried to integrate the sensor into HA via the gateways (ie not via the zigbee2MQTT path)

HA inbuilt Tuya integration :

  • Device appears in here, but has none of the entities. So for this to be of any use, I assume it would need to be integrated.

Via LocalTuya :-

  • Sensor does not appear. I assume because it is only available via the zigbee tuya gateway which it appears does not work with localtuya (rospogrigio/localtuya). I can try to add the zigbee gateway, of course I get an error because it does not present any data points.

Via Tuya Local :-

  • this did seem to have an option to support a gateway/hub through the sub device ID. And once I figure out that was NOT the ID for the sensor, but the “node_id” I could add the device. But it only gave me 4 devices to select from, so obviously the device needs to be added to that integration.

So wonder if anyone has any improvements that can :

  • get this sensor better integrated into HA
  • come up with reading the sensor in a way that can give more accurate pH readings by ignoring readings till the sensor “settles”
  • control how often the device gets polled. I notice when I look at the debugging information and messages in iot.tuya.com platform, it does not appear that the sensor is sending data unless the Smartlife App is open and you are looking at the sensor (I have waited many hours, and maybe if I wait long enough eventually one will come, but it is more than 8 hours from what I have seen). I notice in the messages it that when you open the App/sensor there is a “BacklightValue” “Publish” message which I am guessing is a trigger sent to the sensor to get it to start taking readings. So I hope that one of the HA integrations can include this to allow us to control how often the polling happens.

I might try and reach out to the Aliexpress vendor to see if I can give feedback as to the pH reading issue and see if they can do a new firmware to improve this issue by doing enough samples to have a better chance of eliminating the initial low readings or address whatever is causing that.

It would be interesting to see if others here have the same pH issues with the BLE-YL01 sensor, or maybe my one has a fault.

Anyway, it would be good if anyone has some insights on how to improve some of this.

Further update on this :-

  1. I have managed to find a fork of localtuya by xZetsubou which is being more actively updated and supports this device out of the box. See GitHub - xZetsubou/hass-localtuya: 🔹 A Home Assistant integration to handle Tuya devices locally "fork from localtuya". This has the advantage of localtuya/xZetsubou implementation in that you can drive it from the Tuya Smartlife application and get the data in HA. And through this mechanism, unlike z2m, you can manually trigger the sensor to read. ie whenever you open the device in Smartlife, you will get the reading in Smartlife as well as HA.

  2. But the issue remains in both HA (with either z2m or the xZetsubou/localtuya integration), and in the Smartlife, the reading of the sensor without triggering it in the Smartlife application, the reading of the sensor in the background is VERY intermittent. In the limited time I have been running it, initially I assume it would not read by itself because it would go close to a day without reading and I would manually initiate by opening the device in the smartlife application. But then I left it a bit longer, and then it did read after about 15 hours, then read again at 4h, 2h, 1.5h, 1h, 4h and now it has not read again for 14h (not this is for frequently updated sensors like ORP which should be noticed when changed). So reading of sensor seems very intermitted and I am struggling to see any pattern. I have wondered if it is a reception issue, but I can wake it up quickely with the Smartlife app and then it works and updates every few seconds without issues which would seem to eliminate a connectivity issue.

  3. The last thing is just to do with the sensor and variability in the pH and ORP readings. Initially, as noted above the pH readings would start low and then move up to a a more accurate value over the period of a minute or 2 (readings in Smartlife/Tuya which happen as a series of readings over a few minutes till they settle on the right value and are consistent with the calibration). And the ORP reading seemed to be ok. But then the behaviour changed, and the ORP reading were obviously low. Often that would be inversely correlated to pH. So while the pH was reading low at the start of the readings, the ORP would be higher and closer to a reasonable reading, but as the pH reading rose up over a few minutes the ORP reading would drop to a very low value. Then later, the pH reading seemed good from the beginning, but the ORP was extremely low. But then it changed again, and pH was back to the low initial readings, but with all ORP reading very low, and getting lower as the pH moved up. I am wondering if this is deficiency in the design and programming, or I have a faulty one.

It looks like there is ongoing work in the z2M integration to get better support going and try and address the frequency of the collection of data which I hope works out in future updates of that integration. See :

If that can get accurate data every 10 minutes, that will be a good step forward. But if the issue with accurate readings initially is not just my device being faulty, I hope that polling takes this into account to make sure we are getting accurate readings.

Do others with this sensor have similar issues to what I am seeing?

1 Like

I’m in the process of finishing a zhaquirk for this device (working now for all 7 sensors). It requires updates in HA, ZHA, zigpy and a dedicated quirk.

See https://github.com/zigpy/zha-device-handlers/issues/2565

This device requires a special TUYA_DATA_QUERY command to update its sensors. You can send it to the device using ZHA Toolkit and the send cluster command (command-id 3 should be sent to endpoint 1 cluster 61184 of the device).

Considering the device readings, the manufacturer mentions that

The water in the swimming pool should be between 6.5-8ph and ORP should be between 487-840mv, and the chlorine value will be displayed normally.

I understand that if ORP/pH are out of this narrow range, the Chlorine value is likely worthless ?

The device measures has only 3 physical sensors: temperature, conductivity and ORP. The remaining ones are computed from these. Tthe conversion is probably not simple and sometimes…impossible.

Yes, I don’t care about Chlorine reading, as ORP is probably a better measure anyway. And yes, chlorine will be less effective with high pH readings, and yes, ORP will go down. As it will if you have stabilizer in the pool, and all sorts of other things.

Latest update, is it appears that the developers have got traction with zigbee2MQTT, and that integration appears to be now working. Ie I am getting updates on the sensors about every 10 minutes.

However, the accuracy of the pH and ORP readings are questionable for these sensors for the reasons outlined above. ie it seems to alternate between 2 issues :-

  • ORP value is believable, but the pH is a bit low, because when in this mode the 1st pH reading are low, and I assume this integration only takes 1 sample every 10 minutes. When I am connected via Tuya gateway, I can see this issue when I read the sensor via the Smartlife app. ie 1st readings are low, but they later rise to the right value over about a minute or so.

  • then not doing what is outlined above, the pH reading appears more accurate. But the ORP is very low. Again, this is similar if connected via Tuya gateway and using that to look at the values. pH is accurate with 1st reading, but the ORP is very low and stays low.

I have logged issue with the Aliexpress vendor. They are saying they have logged the issue with the supplier, and waiting for them to get back to them. Hopefully it is not an inherent issue with the sensor and mine is faulty and they will replace. But I would be interested to know of other people have this issue?

1 Like

For picture of what is described in the post above, see picture below. This is with sensor in my pool, with ORP probably somewhere between 550 and 600, and pH stable about around 7.4. There is no change with the sensor than explains the massive swings in ORP and pH that happen at the same time. Even if there was pH changes as seen in the graph were real, they would not have had an impact on the ORP to this magnitude.

Thank you for this - great investigation!
I honestly thought it would be much easier as it’s been recognized in TUYA - had I known that this is the case I wouldn’t have bought the device :frowning:

Anyway, seeking your guidance, I have it configured via the localtuya fork - could try to read some entities - for example PH - I defined as “Sensor” when adding it and it sent the value 73 instead of 7.3 - not sure why?

I want to go also try the zigbee2MQTT - do you have the guide on how to do it?

I don’t have a quide. But where are you up to, and where are you getting stuck.

Have you get z2m working and connected to a Zigbee dongle?

Latest update, HA is reading the device pretty reliably via zigbee2MQTT which is good.

HOWEVER, the accuracy and stability of the readings on my unit seem to be very bad. See the 7 day graph from the sensor floating in my pool, where pH, ORP, Salinity etc would be very stable :-

I have an acid doser, so pH would be very stable between 7.2 and 7.6. ORP on the chlorinator is always reading 550-600 (though this might not be properly calibrated, but the readings should correlate and I would not expect to see fluctuation of more than 50mV). Salt is somewhere above 4000ppm. So within ball park of what I expect, but saw tooth seen there can’t be explained.

A few observations :-

  • notice the big jumps in all the readings that can’t be explained with any change in the water.
  • Notice when ORP drops to a clearly wrong low value, the pH reading becomes more believable. So when we have the issue with ORP, the 1st pH samples are more accurate. When I look at this with the sensor connected to a zigbee gateway and the Smarthome App, I can see what is happening better when ORP is accurate. When ORP is accurate, the 1st pH readings are low. Continuing to watch the sensor in smarthome has the sensor continuing to update, and over about 1 minute the pH sample risk to the point it should be. So z2M reading every 10 minute turns out to be low when ORP is accurate as you can see in the graph.

I am trying to work this through with the Aliexpress vendor https://www.aliexpress.com/item/1005006042351560.html?spm=a2g0o.order_list.order_list_main.11.78031802irL7JW but they seem to be delaying with “asking the supplier” and “clean it” and “calibrate it” etc.

Does anyone have the same sensor and have the same issue, or is it more likely my sensor is faulty?

I didnt test via z2M yest but surely tell you that the reason of my ORP and CL level are always. wrong!
I have it for 2 months and haven’t calibrated yet, perhaps that’s the issue?

I installed and Mosquito Broker and Z2M, but I am not sure on the way to connect the zigbee “bridge”
image

I currently have it outside near my pool plugged in next to Yieryi device.
Do I need to connect it directly to the USB port of my pc running HA to be discovered? I am using Oracle virtual box and I need to open the controller there, but I am probably missing a step somewhere…

I don’t you can use a bridge /gateway like that with HA and Z2M or ZHA, Zigbee anything direct to HA. I assume that is some sort of Tuya gateway. I think if you have a bridge/gateway like that, you will almost certainly have to connect to that with Tuya. eg Smartlife. If you want that data in HA, you will have to connect via Tuyalocal, or Localtuya (forked integration I have outlined above) as I have outlined above.

But if you want to use it directly in HA with z2m, you will need a supported adaptor. See :-

Do you have a support adaptor installed?

I am using a Sonoff_Zigbee_3.0_USB_Dongle_Plus which works well, but needs to be plugged into you HA box with USB. This box is not very central, so I have got a number of these :-
https://www.aliexpress.com/item/1005005237068664.html?spm=a2g0o.order_list.order_list_main.5.17231802UxSUpj
to relay the signal further around the place.

I would probably still need some of the signal repeaters. But if I was doing again, I would probably get a PoE powered network gateway so I could locate the gateway away from the HA box and more centrally so the network architecture is more hub and spoke rather than the gateway being on the edge and some devices going through more than 1 repeater (I have a large property and devices out in sheds etc). I am thinking about something like :-

I don’t have one, so no idea if it is good, or there is something better.

I was able to get both z2M going, and this device via the Tuya gateway and GitHub - xZetsubou/hass-localtuya: 🔹 A Home Assistant integration to handle Tuya devices locally "fork from localtuya" integration. Both has there pros and cons. But my sensor is faulty as outlined above and gives bad readings with either platform. Not sure if it is faulty, or the sensor is inherently broken and all devices will be the same?? For context, he is the readings over the last few weeks in a pool that would have very consistent pH of about 7.4 and ORP of around 600 (another maybe not well calibrated sensor, so this might be plus or minus 100 at most).

Notice the readings are getting worse with almost 10 days since having an even remotely sensible ORP reading. And if those high pH reading were true, I would not have a pool as it would have dissolved in the acid.

So far no luck getting this fixed by the supplier. The seller has been stalling. And now saying the supplier will replace if it is faulty when I return it. Postage back from Australia is not cheap so might not be worth it. So I am disappointed by the support. I am still hopeful they will provide a better solution. I will report here if I get this replaced.

I will be interested if others have the same issue.

Update on this. Aliexpress vendor and seller has refused to replace this obviously faulty and defective sensor. They did everything they could to not respond to the issue except to fob me off. When I pushed it, they said they would look at it if I returned at my expense. But as postage was expensive from Australia, and it looked unlikely they would do anything anyway, other than claimed it was tested and working before they sent it, I decided to give up on this sensor, and not waste further money on it.

I am left to speculate if my issue is that the sensor was faulty and a replacement would have fixed it, or it is a broken design and was never going to work.

Another person who contributed to the HA integration, also gave up on it because it was not working (though they also said it broke tightening the screw cover is it is a little unclear if the sensor worked at all if not for the breakage).

I would be interested if other people get this working better than I did. If the vendor of this product reads this, I am happy to update this review if they provide me a replacement unit.

I too have an issue with the vendor, where my pH meter is stuck on zero, and the vendor refuses to replace. I’m about to reverse the credit card payment on them now, as it is well within my right and terms.

I am curious about that approach (reversing the credit card payment) as I have never considered that. How did you go with that and what was the process?

It is curious and suspicious, I am yet to hear of anyone that has one of these working reliably after any short period of time. Even people who had it initially working, seem to soon have had issues.

Hi tschiex. It has been a little while, and assume support has moved on and you can now get HA to read from this device (certainly it works well in Z2M). However, can you verify if you or others have been able to get realiable readings out of the device, or do you have similar issues as me.

Currently Z2M reads the device perfectly (as does Tuya Smartlife App is I connect to a gateway etc). But the sensor gives complete rubbish readings even when the pools it is in is perfectly in all the ranges. So just wondering if my sensor is faulty or they are all unreliable?

Just for those who are interested, I got this pool tester to work using xZetsubou fork of LocalTuya GitHub - xZetsubou/hass-localtuya: 🔹 A Home Assistant integration to handle Tuya devices locally "fork from localtuya"
There is need to request data by resetting value of backlight_value to “1” then the device sends current data. Data are same as in app.

1 Like

Thanks for the feedback @Sikita ! Do you have false reading like @swainstm did or do you have accurate readings ?

@swainstm did you find another device to get correct readings from your pool ? Your feedback is much appreciated as I wanted to buy this device and I’m clearly not going to now :slight_smile:

I had the same issue with this sensor, pretty sure i was one of the first to buy this and work i getting integrated via Z2M. I gave on its accuracy as well! I even bought another one to test and still after the initial use, the accuracy started to become unusable