I built a water level gauge for an overhead tank . Using the ST_Anyhting library and an ultrasonic sensor . The ultrasonic sensor measures the distance between itself and the surface of the water and is very precise . I will be adding a motor control option in the future . Unfortunately i haven’t had the time to clean up my code and share it. I will work on that but my project is a little bit more complex than what you are looking for.
I would recommend you use 2 ESP8266 .
ESP8266 - One
- Ultrasonic sensor to measure the depth of the water . It can measure a depth of upto 400cm (https://www.amazon.com/Waterproof-Ultrasonic-Distance-Measuring-Transducer/dp/B01J5KZU8M/ref=sr_1_sc_1?ie=UTF8&qid=1506182176&sr=8-1-spell&keywords=Waterproof+ultaronic+sensor)
- Waterflow sensor to measure when the motor is running and water is flowing and prevent dry run (https://www.amazon.com/DIGITEN-Effect-Sensor-Flowmeter-Counter/dp/B00VKAT7EE/ref=sr_1_1?s=industrial&ie=UTF8&qid=1506182271&sr=1-1&keywords=water+flow+sensor)
Note - The ESP runs on 3.3v logic and the ultrasonic sensor works fine on 3.3v . But the water flow sensor will need a logic level shifter from 5v to 3.3v
ESP8266 - Two
- 30 A relay module that can turn your motor on and off (http://www.ebay.com/itm/30A-5V-12V-24V-1-Channel-Relay-Module-Board-With-Optocoupler-H-L-Level-Triger-/401167543860?var=&hash=item5d6772ee34:m:muVpnIu-RUT024_wLnZGreQ)
Once you have all theses devices exposed to Smartthings you can create a simple Smart app to manage the automation and notifications.