Hibás a kód, a loop függvényed első delay(6000) utasítása után véget ér, tekintve a záró kapcsos-zárójelre. A programod további része így soha sem fut le. Helyezd át az utolsó delay(6000) utánra.
Véleményem szerint nem jó a kapcsolási sémád, mert folyamatosan fűrészfogas lesz a hőmérséklet és a páratartalom is. Hagyod mindig lehűlni a terráriumot 28 fokig, majd felfűtöd 31-ig és kezded előlről. Kitalálták már a vezérléstechnikában, hogy miként lehet ezt elkerülni, PID szabályzásnak hívják. Beállítasz egy célhőmérsékletet/párát és amennyire a fűtő/párásító eszközeid engedik annyira fogják ezt a beállított szintet tartani. Mindezt akkor is pontosan próbálja tartani, ha rásüt a nap, vagy teregetsz a szobában.
Szerintem találsz bőven arduinora is példaprogramot.