
I need to monitor the water level of my buried tank. So I chose the Zigbee ultrasonic level sensor ME201WZ Moray 's. This small device measures the distance by ultrasound and accurately indicates the level of the liquid remaining in the tank. What I appreciate right away: simple installation, robustness, minimal maintenance, and above all a mains power supply (I no longer have to manage batteries).
Originally, this sensor was designed for the Tuya Smart/Smart Life application, but I prefer to integrate it into Zigbee2MQTT to keep full control of my home automation equipment.
![]() |
![]() |
![]() |
π Where to buy this equipment?
Here is the link to the page dedicated toΒ ME201WZ . I referenced the sellers and prices.
π¦ I check the contents of the package
At the reception, I unpack everything: the sensor, the fixing screws and the manual are there. Nothing is missing.



π‘ Advice before installation
I recommend pairing the sensor before attach it to the tank, as the pairing button is underneath the appliance. I check the compatibility of the cover, and I prepare the passage of the mains cable.
π I pair the sensor to Zigbee2MQTT
I plug the sensor into the mains and then press the pairing button (under the sensor) for 5 seconds until the LED flashes quickly. It took me three tries to succeed: You have to be patient! As soon as Zigbee2MQTT detects the sensor, I can proceed.



π¨ I install the sensor on the tank
My buried tank has two lids. I attach the sensor to one of them, just above the access well.
I start by measuring the diameter of the lid to choose the right flash saw. I make the opening, fix the sensor and close the whole thing. Here are the steps in pictures:












I measure the depth of the tank (1.5 m) and the current height of water (1.2 m): I will be able to configure the sensor precisely.
β I configure the reference levels
The manual details the procedure for entering the mini and maxi levels. I note my measurements and notes on the manual. I had some formatting issues in Zigbee2MQTT, but the configuration worked smoothly in Home Assistant.


Once set up, the sensor sends consistent and reliable data.
π‘ I check the Zigbee connection
My vat is 15 metres from the house: I monitor the connection quality (LQI around 150). I noticed frequent disconnections (approximately one per hour). I add a Zigbee Aeotec repeater, the LQI climbs to 248, but the cuts persist β¦ Fortunately, they only last a few seconds and do not interfere with data collection.


Update: with the repeater Aeotec Range Extender Zi WG001, LQI at 248, but still some cuts (without annoying impact).


π I check the recovered data
The sensor shall provide:

- Liquid depth : height of water from the bottom of the tank
- Liquid level percent : filling percentage
- Liquid state : condition (low, normal, high)
In fact, only the distance is measured: The rest depends on my configuration settings.
π I personalise the display in Home Assistant
For the display, I use the map Lovelace Fluid Level Background Card (installation via HACS).


Here is the YAML code of my personalised Home Assistant card:
Type: custom:fluid-level-background-card entity: sensor.level _eau _citerne _liquid _level _percent card: show_name: false show_icon: true show_state: true type: glance entities: - entity: sensor.level _eau _citerne _liquid _depth name: Depth icon: mdi:arrow-up-bold - entity: sensor.level _eau _citerne _liquid _level _percent name: Unit level: "%" icon: mdi:water-percent - entity: binary_sensor.floater_pompe_arrosage name: Floater icon: mdi:water-percent state_color: false columns: 3 title: Water level in the tank full_value: 100 severity: [] fill_entity: sensor.level_eau_citerne_liquid_depth tap_action: Action: more-info
The sensor binary_sensor.floater_pump_watering is an ON/OFF float (detailed in this article) : it cuts off the pump if the tank is empty.
π I improve the end-of-tank detection
I keep an ON/OFF float to cut off the watering pump in the event of an empty tank. The objective: set the "low" threshold of the ultrasonic sensor at the level of the float tipping, to have a double safety.
I do a drain test: I open all the taps, and I note the moment when the float shuts off the pump.



At 14.06, the float switches and the pump stops. Sensor displays 44% and 0.53 m in height: I set the value Mini set the Sensor at 45%.

Thus, the status Liquid state switches to "low" and I can trigger a pump cut-off automation in Home Assistant.
I am adjusting the dashboard card with this YAML code:
Type: custom:fluid-level-background-card entity: sensor.level _eau _citerne _liquid _level _percent card: show_name: false show_icon: true show_state: true type: glance entities: - entity: sensor.level _eau _citerne _liquid _depth name: Depth icon: mdi:arrow-up-bold - entity: sensor.level _eau _citerne _liquid _level _percent name: Unit level: "%" icon: mdi:water-percent - entity: binary_sensor.floater_pompe_arrosage name: Floater icon: mdi:water-percent state_color: false columns: 3 title: Water level in the tank full_value: 100 severity: -value: 20 color: red - value: 45 color: orange - value: 50 color: - 3 - 169 - 244 fill_entity: sensor.level_eau_citerne_liquid_depth tap_action: Action: more-info


