Hey there! sounds like a fun project!
I am currently building something similar for automating a greenhouse, doing aquaponics as well as other stuff like that.
here is my two cents -
-as simple as you make it seem in your (correct) logic break down, this is not a simple project.
- break this project down into these steps - read sensors,compute actions on inputs, take actions on sensor values, display those values of interest (on say an lcd), then log if needed those values.
if you try to do it all at once, you start yelling at your GF over the cybernetic timing of tomatoes! no good!
imo - getting sensors to read, the right way is a big part of this sort of thing. so many libraries. so many methods, wiring issues, etc etc. getting a sensor to read is a BIG THING!
you can build your logic - with no senors working. if you have an idea (like your clearly do) - then can create a program with only serial.print outputs for conditions - and completely test your logic - before you do any sensor work.
lastly - once you have overcome sensor read issues - and logic issues - actions issues are IMO -the easiest!
usually - you either change another var, or for real world stuff - you flip the pin hot on a relay that turn something on for a period of time/condition that you have already figured out with your logic testing from previous step.
double last - display it on a LCD or other. I will tell you - as of right now, in my greenhouse program - the UI and config in the LCD part of the program is LONGER and more COMPLEX than anything else - like reading, computing, or acting on values.
GL!