Cayenne is compatible with Arduino uno and ESP wifi. it is just that we dont recommend it as there is only one hardware serial port unlike arduino mega. you can connect a wifi shield to the arduino uno.
Your project sounds interesting and completely doable with cayenne.
First of all you will have to get all the sensors and actuator you need for your project. Once done get it working with your arduino without using cayenne. If you get the required reading from the sensor, then it is very easy to send receive data from cayenne. This can be done by just one line:
Cayenne.virtualWrite(channel_number, sensor_data, "type value", "unit value");
for the supported data types have a look at this Data types for Cayenne MQTT API
For waterproof water level sensor : Help with hr-sr04 and jsn-sr04t - #7 by dpineda.psi