I believe what you described are all possible with OpenSprinkler. However, they will require changing the firmware code, as these features are not supported by default. For example, triggering watering from a float sensor is similar to how the rain sensor is implemented (which is supported by the firmware). Keeping track of total irrigation time, and logging are also fairly easy to implement.
We’ve received requests from time to time to customize the firmware. We don’t have the resources to customize the firmware on a user by user basis. When there is a common request, we will try to implement it and add it to the official firmware. One of the motivations to make the product open-source is to give users the freedom to change the firmware in any way they want. If you are not familiar with programming, hopefully this will be a good motivation to start learning to program 🙂