digitalWrite(dataB, grp == 0 ? 0 : 1);

Lokgeist:
aber zu tiefgründig.

Ist auch uninteressant geworden, da ja die aktuelle IDE das nun richtig macht.

War z.B. wichtig wenn man gerne Klartextausgaben von logischen Zuständen macht:

bool ventilstellung, relais:
char Zustandklartext[] = {"AUS", "AN", "NEIN", "JA", "ZU", "OFFEN", "LOW", "HIGH", "Deaktivert", "Aktiv", "Aktiv", "Deaktivert"};
.......
Serial.print("Ventil: ");
Serial.println(Zustandklartext[ventilstellung+4]);
Serial.print("Relais: ");
Serial.println(Zustandklartext[ventilstellung+6]);

Wenn da die bool Variablen nicht 0 und 1, sondern 0 und irgendwas wären, würden aus dem Array die falschen Zustände gelesen werden.