Best Swimming Pool monitoring solution: ORP, Ph, temp

Hello,
I’m looking for an easy to build, not too expensive solution to monitor my swiming pool water quality.
I have read many things on internet and it seems that OPR + Ph are a must have. Temperature would be a plus.

From what I have seen on internet, this project seems to check all the boxes:

@mzakharo: your project is very nice and seem easy to implement. If I understand correctly, your code calculate automaticaly the Chlorine ppm level from ORP and Ph readings, right ?
So from there I will be easy to create a simple automation to control my filtration/electrolyseur.

I found also this nice project RaspiPool, but seem abandonned by the owner:
https://community.home-assistant.io/t/raspipool-a-diy-swimming-pool-automation-system/

This project is very nice but there is no ORP.

It is also possible to buy some ready to use products like this one that seem compatible with tuya local integration.
This one is even cheaper than @mzakharo, but I guess the probes quality is different.

Any other interesting project ?

Does anyone has a feedback on durability and fiability of atlas proves vs yieryi solutions ?

1 Like

What does that mean?

Oxidation reduction potential. The ability to disinfect water.

No new info about the DIY projects…
So I ended up buying this cheap chinese product on aliexpress. "pH-W18 Yieryi-Tuya Smart WiFi, PH ORP, TDS, EC SALT S "

It work perfectly under home assistant with Tuya Local integration (be careful there is also a different integration called “local tuya”).

Now we’ll see how long the probe work and how frequently it need a calibration.

As I use it for a swiming pool I will also need to adapt the 4 probes to my filtration system. For that I will use that kind of adapter and a 3D printed cable gland to adapt a 19mm cable (the probe) to the 1 1/4 inch thread.
I plan to print it in ASA and polish it with acetone vapor using a rice cooker (easy and cheap method).

1 Like

Hi @Reunion974,

I’m equiped with a combined electrolyser + ph regulator but without ORP measurement. so I have to set manually the power of the electrolyser and measure chlorine level by my own.

it’s quite difficult to find the good setpoint so I want to install a ORP measurement system and ask to HA to regulate the electrolyser.

I also found the Yieryi devices but I would prefer to buy the PH-W2839EU
with is much more easier to install with these probes.

As it’s also a Tuya connected device, I assume it will be possible to connect it to HA.

Are you satisfied by your model ? Would you recommande this “cheap” device ?
Are the measurements reliable?

thanks for your help

Also interested by your feedback on the product @Reunion974

I did not have time to install the probes yet, but I’ll give you a real feedback soon when it will be done.
For the moment I tested the connectivity with “tuya local” integration (not “local tuya” be careful there are 2 integrations with similar name’.
It was imediately recognized with tons of sensors in HA:
(the system is currently disconected that’s why it is unavailable)

number.analyseur_d_eau_high_cf_warning
Analyseur d'eau High CF warning
unavailable	min: 0
max: 1999.99
step: 0.01
mode: auto
icon: mdi:omega
friendly_name: Analyseur d'eau High CF warning
number.analyseur_d_eau_high_ec_warning
Analyseur d'eau High EC warning
unavailable	min: 0
max: 199999
step: 1
mode: auto
unit_of_measurement: µS/cm
icon: mdi:omega
friendly_name: Analyseur d'eau High EC warning
number.analyseur_d_eau_high_humidity_warning
Analyseur d'eau High humidity warning
unavailable	min: 0
max: 100
step: 1
mode: auto
unit_of_measurement: %
icon: mdi:water-percent-alert
friendly_name: Analyseur d'eau High humidity warning
number.analyseur_d_eau_high_orp_warning
Analyseur d'eau High ORP warning
unavailable	min: -2000
max: 2000
step: 1
mode: auto
unit_of_measurement: mV
icon: mdi:virus-off
friendly_name: Analyseur d'eau High ORP warning
number.analyseur_d_eau_high_ph_warning
Analyseur d'eau High pH warning
unavailable	min: 0
max: 15
step: 0.01
mode: auto
icon: mdi:ph
friendly_name: Analyseur d'eau High pH warning
number.analyseur_d_eau_high_salinity_warning
Analyseur d'eau High salinity warning
unavailable	min: 0
max: 199999
step: 1
mode: auto
unit_of_measurement: ppm
icon: mdi:shaker
friendly_name: Analyseur d'eau High salinity warning
number.analyseur_d_eau_high_tds_warning
Analyseur d'eau High TDS warning
unavailable	min: 0
max: 199999
step: 1
mode: auto
unit_of_measurement: ppm
icon: mdi:water-opacity
friendly_name: Analyseur d'eau High TDS warning
number.analyseur_d_eau_high_temperature_warning
Analyseur d'eau High temperature warning
unavailable	min: 0
max: 50
step: 1
mode: auto
unit_of_measurement: °C
icon: mdi:thermometer-chevron-up
friendly_name: Analyseur d'eau High temperature warning
number.analyseur_d_eau_low_ec_warning
Analyseur d'eau Low EC warning
unavailable	min: 0
max: 199999
step: 1
mode: auto
unit_of_measurement: µS/cm
icon: mdi:omega
friendly_name: Analyseur d'eau Low EC warning
number.analyseur_d_eau_low_humidity_warning
Analyseur d'eau Low humidity warning
unavailable	min: 0
max: 100
step: 1
mode: auto
unit_of_measurement: %
icon: mdi:water-percent-alert
friendly_name: Analyseur d'eau Low humidity warning
number.analyseur_d_eau_low_orp_warning
Analyseur d'eau Low ORP warning
unavailable	min: -2000
max: 2000
step: 1
mode: auto
unit_of_measurement: mV
icon: mdi:virus-off
friendly_name: Analyseur d'eau Low ORP warning
number.analyseur_d_eau_low_ph_warning
Analyseur d'eau Low pH warning
unavailable	min: 0
max: 15
step: 0.01
mode: auto
icon: mdi:ph
friendly_name: Analyseur d'eau Low pH warning
number.analyseur_d_eau_low_salinity_warning
Analyseur d'eau Low salinity warning
unavailable	min: 0
max: 199999
step: 1
mode: auto
unit_of_measurement: ppm
icon: mdi:shaker
friendly_name: Analyseur d'eau Low salinity warning
number.analyseur_d_eau_low_tds_warning
Analyseur d'eau Low TDS warning
unavailable	min: 0
max: 199999
step: 1
mode: auto
unit_of_measurement: ppm
icon: mdi:water-opacity
friendly_name: Analyseur d'eau Low TDS warning
number.analyseur_d_eau_low_temperature_warning
Analyseur d'eau Low temperature warning
unavailable	min: 0
max: 50
step: 1
mode: auto
unit_of_measurement: °C
icon: mdi:thermometer-chevron-down
friendly_name: Analyseur d'eau Low temperature warning
sensor.analyseur_d_eau_conductivity_factor
Analyseur d'eau Conductivity factor
unavailable	state_class: measurement
icon: mdi:omega
friendly_name: Analyseur d'eau Conductivity factor
sensor.analyseur_d_eau_electrical_conductivity
Analyseur d'eau Electrical conductivity
unavailable	state_class: measurement
unit_of_measurement: µS/cm
icon: mdi:omega
friendly_name: Analyseur d'eau Electrical conductivity
sensor.analyseur_d_eau_humidite
Analyseur d'eau Humidité
unavailable	state_class: measurement
unit_of_measurement: %
device_class: humidity
friendly_name: Analyseur d'eau Humidité
sensor.analyseur_d_eau_oxidation_reduction_potential
Analyseur d'eau Oxidation reduction potential
unavailable	state_class: measurement
unit_of_measurement: mV
icon: mdi:virus-off
friendly_name: Analyseur d'eau Oxidation reduction potential
sensor.analyseur_d_eau_ph
Analyseur d'eau pH
unavailable	state_class: measurement
icon: mdi:ph
friendly_name: Analyseur d'eau pH
sensor.analyseur_d_eau_salinity
Analyseur d'eau Salinity
unavailable	state_class: measurement
unit_of_measurement: ppm
icon: mdi:shaker
friendly_name: Analyseur d'eau Salinity
sensor.analyseur_d_eau_specific_gravity
Analyseur d'eau Specific gravity
unavailable	state_class: measurement
icon: mdi:weight
friendly_name: Analyseur d'eau Specific gravity
sensor.analyseur_d_eau_temperature
Analyseur d'eau Température
unavailable	state_class: measurement
device_class: temperature
icon: mdi:water-thermometer
friendly_name: Analyseur d'eau Température
sensor.analyseur_d_eau_total_dissolved_solids
Analyseur d'eau Total dissolved solids
unavailable	state_class: measurement
unit_of_measurement: ppm
icon: mdi:water-opacity
friendly_name: Analyseur d'eau Total dissolved solids
2 Likes

I m progressing on this project. I implanted an external 2.4Ghz antenna to expand wifi connexion.
It work fine. See the pictures, it s easy to reproduce.



1 Like

As mentionned before, I was looking for buying a Yieryi measurement device but easily adaptable to my installation so I bought the W2839. I’m only focused on the ORP detection.

I’m a newbie with Tuya. I installed the Tuya local app and after many researchs, I was able to set all the needed informations trough the creation of a Tuya developer account.

But I received only the water temperature until I discovered the possibility of changing the instruction mode :

Now I receive a lot of information, even if it’s not measured by the device (salinity, TDS, etc…)

I’m able to track the ORP value, pH and T°.

However, I’m facing of a last issue I would like to solve. The device is becoming unavailable every 5 to 10 minutes


Connection is coming back automatically.

Do you also have this problem ?

I plan to finish today the installation of my probes. After that, I’ll be able to test the device.
If I understand your device is disconecting after 5~10 minutes, then connecting again, and disconnecting… in your history your connexion periods look like this: - - - - - - - - -
Correct ? can you check your history and if available, your wifi AP logs ?
If that’s the case and if the device always reconnect, there is a setting to tell HA to keep the last value when a sensor become unavailable.

this is exactly what is happening. but seems that the deconnection is not so often that I wrote yesterday

something like 1 to 2 times per hour.

I will check the logs from the wifi AP from the pool house this evening but i’m quite convince that it’s not a problem of wifi connection. If I remember well when i saw this issue at the first time, the device was still available trough the tuya app from my phone.

it’s well a disconnection from the wifi network.
my router (proximus in Belgium) does not allow me to have access to some logs but i’m sure it’s a network issue as I was not able to ping the tuya device during a few minutes and it was working just after.

now I have to understant why it’s disconnection without any reason. I don’t believe it’s coming from the router as it’s the only one device with this issue.

I will ask you a stupid question: are you close enough from your wifi AP ?
As you can see in my pictures, the wifi antenna is very small and I guess the range is reduced.

I’ve installed a wifi AP in the pool house (tp link nano), cabled by RJ45 and creating is own wifi network.

The yieryi is just closed the AP.

The DHCP is still managed by the main router and I’ve fixed the IP adress of the yieryi.

During the first tests, the yieryi was in my house connected to the main router. the disconnection were much more regular close to 5 to 10 min.

After the move to the pool house, the disconnection are more distant around 1 per hour.

I will try to change the fixed IP adress but this is probably not the root cause

I finished my setup with 3D printed elements to plug the 4 probes into the water (in yellow and black in the picture).

I also had some very short but repeated wifi deconnections. My device was very far away from the wifi AP. I installed an external antenna and now everything is ok.
Now it seem to be fine, I can see a continuous line in my sensors data.
What you can do as a workaround, is to create a sensor in HA for each value you use. This sensor will be updated when your real sensor evolve, except when the value is unknown or unavailable. For this a trigger template like this is the easiest way.
Here is an example from my config. I use 2 temperature sensors but each one is disconnected for different reason. I created a new sensor that use the medium value using the last know good value of each.

Following yaml is under "template: "

- trigger:
    - platform: state
      entity_id: sensor.thermometre_piscine_temperature
      not_to:
        - unknown
        - unavailable
    - platform: state
      entity_id: sensor.analyseur_d_eau_temperature
      not_to:
        - unknown
        - unavailable
  sensor:
    - name: Température piscine
      device_class: temperature
      unit_of_measurement: "°C"
      state: >
        {% set num = 0 %}
        {% set temp = 0 %}
        {% if not (is_state('sensor.thermometre_piscine_temperature', 'unknown') or (is_state('sensor.thermometre_piscine_temperature', 'unavailable'))) %}
          {% set num = num + 1 %}
          {% set temp = temp + (states('sensor.thermometre_piscine_temperature')|float(0)) %}
        {% endif %}
        {% if not (is_state('sensor.analyseur_d_eau_temperature', 'unknown') or (is_state('sensor.analyseur_d_eau_temperature', 'unavailable'))) %}
          {% set num = num + 1 %}
          {% set temp = temp + (states('sensor.analyseur_d_eau_temperature')|float(0)) %}
        {% endif %}
        {% if num >0 %}
          {{ (temp/(num|float(1)))|round(1)}}
        {% endif %}

I guess something like this is more what you need

- trigger:
    - platform: state
      entity_id: sensor.thermometre_piscine_temperature
      not_to:
        - unknown
        - unavailable
  sensor:
    - name: Température piscine
      device_class: temperature
      unit_of_measurement: "°C"
      state: >
         {{ states('sensor.thermometre_piscine_temperature')}}

I hope there’s no typo. The idea is that everytime the sensor value is modified, you custom sensor get that value, except for unknow or unavailable.
I hope this will solve your problem. You can also solder an external antenna like I posted earlier

Thanks for the info. I’ll try this this wk.

I tried another fixed IP → no change

on the github of tuya local :

The only way for me to block the tuya device to be connected to internet is to add a parental control on my router blocking h24 the device.
Seems to be web disconnected as the device appears offline in the tuya app.
In addtition, I don’t have any automation linked to the water analyser.

So i tried to apply the recomandation from the github but I still have wifi disconnection.

I will try to instal local tuya instead of tuya local. After that, I’m giving up.

Hi, where did you find the 3d models for the glands?

I designed it with fusion 360

Are you getting reliable readings from the probes? I’m evalauting this product bur since it’s very cheap, I’m a bit worried about that.