...and to answer the second half of your question, your code might looks something like this:
var tessel = require('tessel');
var climateDriver = require('climate-si7005');
var firstSensor = climateDriver.use(tessel.port('A'));
var secondSensor = null;
firstSensor.on('ready', function () {
secondSensor = climateDriver.use(tessel.port('C'));
secondSensor.on('ready', function () {
console.log('Connected to both modules');
// Loop forever
setImmediate(function loop () {
firstSensor.readTemperature('f', function (err, temp) {
secondSensor.readHumidity(function (err, humid) {
console.log('Degrees:', temp.toFixed(4) + 'F', 'Humidity:', humid.toFixed(4) + '%RH');
setTimeout(loop, 300);
});
});
});
});
});
firstSensor.on('error', function(err) {
console.log('something went wrong with the module on port A:\n', err);
});
secondSensor.on('error', function(err) {
console.log('something went wrong with the module on port C:\n', err);
});