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

Habs gerade in der 1.6.5 mal nachvollzogen, da scheint bleibt bool bei 0 oder 1, auch bei bool x=5; ist x nur 1. Also kann ich mir die !! sparen.