I am testing the ME201WZ Zigbee ultrasonic level sensor from MORAY

Moray Sensor ME201WZ

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.

Dashboard 1 Dashboard 2 Dashboard 3

πŸ›’ 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.

Unpacking Sensor

Moray sensor

Package content

🏑 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.

Pairing button

Zigbee2MQTT Detection

Zigbee2MQTT interface

πŸ”¨ 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:

Cuve

Diameter measurement

Bell Saw

Wells

Installation 1

Installation 2

Installation 3

Installation 4

Installation 5

Installation 6

Installation 7

Final installation

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.

Manual with measures

Configuration 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.

LQI Zigbee

Log out

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

LQI 248

Persistent disconnection

πŸ”Ž I check the recovered data

The sensor shall provide:

Sensor data

  • 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).

Dashboard Home Assistant

HACS installation

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.

Floating curve

Drainage 2

Drainage 3

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%.

Threshold adjustment

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