Reading 4 bytes from i2c temp module

I’m using this (link follows) temperature module to get temps using the Wire library. The datasheet says to use address 0x78 and read 4 bytes at a time. I do this using the following code:

Wire.requestFrom(0x78, 4);
unsigned int thermalVoltage = (Wire.receive() << 8) + Wire.receive();
unsigned int thermalEquilibrium = (Wire.receive() << 8) + Wire.receive();

The termalVoltage is ok, however the 3rd and 4th byte are the same as the 1st and 2nd respectively. Somehow it seems to read 2 bytes instead of 4 and repeat the first two bytes while getting them. So thermalVoltage and thermalEquilibrium are the same. What do I do wrong?

link to sheet is: http://shop.hygrosens.com/out/media/thermoelement_modul_dbe.pdf

You need to do a little Arduino wire converting .

It problem is the i2c address need to be left shifted by one bit , because wire does not use the first bit .

So try using 0x3C instead

Hmmm.. I tried that already, I don't get any bytes at all using that address. I also don't think that receiving 2x the same 2 bytes instead of 4 is a symtom. If the address were incorrect i'd be getting nothing at all (which is what i get using 0x3c). Also 0x78 is a perfectly valid 7 bit address, though a little high.

Sending commands works btw, so sending 0x01 to the device does a reinitialization using eeprom values. (then it stops sending data for 330 u.s.)