Sieht so aus, als ob diese Funktion nicht zurückkehrte.
gas.begin(0x04);//the default I2C address of the slave is 0x04
Stimmt die Adresse 4 denn?
Was sagt der I2C Scanner?
Eher OT: Warum eine Angabe in zweistelliger Hexdarstellung wenn der Wert kleiner als 10 ist?