I just finished a build exactly like you describe. Here is how I did it:
- Raspberry Pi v2 running Rasbian
- Raspberry camera takes tank pics regularly
- Used a phidgets USB digital interface to control mechanical relays that control pumps (turn off if overflow detected) and heaters (turn off if overheat detected.) I connected the relays to power strips.
- Installed a phidgets PH sensor
- Used float valves to detect main tank overflow and sump underflow
- Connected a USB water temp sensor and a phidgets air temp sensor
- Connected a small speaker to announce warnings
- Installed a phidgets light level sensor
- System will text me if an issue is detected
- Data is logged to a Carbon/Graphite data logging system
- A web server displays a web page with current stats, pics and 24 hour graphs
- Code is written in Ruby, available here https://github.com/eatenbyagrue/reeftank
(it's not really meant for general use, but you can possibly modify parts of it)
Works great so far!