beginner34:
Ist es vielleicht besser ich setzte alles in eine Funktion?
Das beste wäre, Du trennst Dein Programm funktionell nach dem EVA-Prinzip in drei Bereiche auf:
E - Eingabe
V - Verarbeitung
A - Ausgabe
In der "Verarbeitung" der Daten stellst Du dabei nur Variablen anders ein, z.B. Statusvariablen.
Und die tatsächlichen Schaltvorgänge führst Du dann im Funktionsteil "Ausgabe" aus.
Eine Ausgabefunktion für das Öffnen und Schließen der Magnetventile könnte dann z.B. so aussehen:
void schaltenMitVorrang(int wcPin, boolean wcStatus, int blumenPin, boolean blumenStatus)
{
digitalWrite(wcPin, wcStatus);
if (wcStatus) blumenStatus=false;
digitalWrite(blumenPin, blumenStatus);
}