from caspia.gateway.services import GatewayService
from caspia.meadow.services import CarbonDioxideSensorBase
[docs]class CarbonDioxideSensor(GatewayService, CarbonDioxideSensorBase):
def __new__(cls, config, network, storage):
if cls != CarbonDioxideSensor:
return super().__new__(cls, config, network, storage)
if 's300' in config:
from .s300 import S300CarbonDioxideSensor as cls
elif 'scd30' in config:
from .scd30 import SCD30CarbonDioxideSensor as cls
else:
raise RuntimeError('invalid temperature sensor config')
return cls(config=config, network=network, storage=storage)