immer entweder 1 oder 2. Und die 1-4h sollen auch auf Zufall laufen, dass er mal nach einer Stunde die Strömung ändert, ein anderes mal eben erst nach 3.
Also dafür würde ich mir zuerst mal über die
random()-Funktion eine Zufallszahl geben lassen und damit bestimmen welche der Pumpen laufen soll, beispielsweise über
random(3) eine Zahl zwischen
0 und
2.99999. Je nachdem ob der Wert dann <1 ist oder >=1 und <2 oder >=2 würde ich die eine, die andere oder beide Pumpen einschalten, und das dann für einen Zeitraum nicht mehr anfassen, den ich mir auch wieder über eine Zufallszahl besorgt habe. Sowas wie
unsigned long nextSwitchTime = millis()+(random(3)+1)*60*60*1000; oder so. Das kannst Du dann in der
loop() vergleichen und wenn dann irgendwann
millis() größer ist als der Wert in
nextSwitchTime, dann ist es wieder Zeit zum Umschalten. So oder so ähnlich...

Alle Pumpen will ich dann am Ende über einen Schalter für 15 Minuten abschalten, wegen der Fütterung.
Da könntest Du dann einfach alle Pumpen abschalten und den Wert von
nextSwitchTime auf
millis()+15*60*1000; oder so setzen. Dann müsste er nach 15 Minuten automatisch wieder mindestens eine Pumpe anwerfen.