First: I am not new to RasPi (as an IT guy using it for monitoring an such stuff), but I am new to use the RasPi for sensors etc.
The following project is on our mind:
We have a pond where we have to control the water temperature (heating) as well as a pump.
Currently this is done using some low-level electronic devices, but unfortunately they do not work reliably.
I am wondering now, if/how this can be done with the RasPi.
As input we have two to three parameters:
- Water temperature (below 2 degrees Celsius is critical)
- Air temperature
- Optional: use weather forecast for temperatures in the future
As output we have two:
- Water heating spiral
- Water pump
Conditions are simple:
- Condition A (for heating): If water temperature is below 2 degrees Celsius AND air temperature is below 2 degrees Celsius: Water heating enabled
- Condition B (for pump): If current time is between 08:00 and 22:00 OR Condition A is true: Pump enabled
So basically, in summer the pump only runs during day time, in winter, the pump runs during daytime or when the temperature is critical (danger of freezing). Heating runs also if there is danger of freezing, but not if the air is already warmer then the water resp. warmer then 2 degrees Celsius (e.g. in the morning after a cold night).
Now my questions:
- What components can I use to turn on/off the heating and the pump (both 230V AC)? Something like a radio controlled relais / power plug? They are weather protected, so no need to be weather proof (but also welcome if you know one).
- Are there any good sensors for monitoring the water temperature? E.g. one which is usable directly via WiFi (but with reasonable battery life)? Or better one wired to the RasPi directly (which might require additional circuits? and also limits the placement of the RasPi).
- Is the DS18B20 the right choice as (outdoor) air temperature sensor?
- What software to use? HASS.io? OpenHAB? IFTTT? OpenSprinkler? It should be easy to view the sensor data and control the pump & heating manually if needed (switch from automatic to manual mode) - ideally via Web-Interface or even an App.
Many thanks for your comments!