You can do this with a combination of two objects in EnergyPlus:
The Schedule:File object can be used for the following items in your original post:
- Temperature inside the building: The closest you can get is by setting the heating and cooling thermostat temperature schedules to your sensor data -- there is no way to directly set zone air temperature in EnergyPlus (not even with EMS). These thermostat temperature schedules are referenced by various ThermostatSetpoint:### objects
- Occupancy: Occupancy schedule referenced by People objects
The EMS objects will be used to override:
- Temperature outside the building: The EMS actuator for Outdoor Drybulb. You could also create a custom .epw weather file to use in your simulations, although that will require updating outdoor humidity and other data in the weather file to be truly accurate. This would require an EMS sensor to read a Schedule:File object of your sensor data for outdoor air temperatures. There's a separate EMS Guide document for EnergyPlus because of the extra complexity required to set up EMS objects.
I didn't list CO2 levels because that is ... tricky. The People object does have an input for CO2 Generation Rate, but that's the rate it's added to the zone from occupants -- not the overall CO2 levels in the zone. You may need to create a Demand Control Ventilation system that brings outdoor air into the zone to maintain a CO2 Parts Per Million setpoint (which you can set using a schedule, so the Schedule:File object could work).