EEPROM schreiben & lesen

Du definierst
int h = dht.readHumidity();
als integer-Zahl das heißt 2 Byte.
Das EEprom kann aber nur 1 Byte pro Speicherzelle aufnehmen.

Du mußt den Int wert in 2 Byte trennen.
entweder mit
lowbyte = h%256;
highbyte = h/256;

oder die Funktionen http://arduino.cc/en/Reference/LowByte und http://arduino.cc/en/Reference/HighByte

Grüße Uwe