I brought this 7-in-1 Zigbee water quality tester : -
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.