Source code for caspia.gateway.services.sensors.temperature.service

from caspia.gateway.services import GatewayService
from caspia.meadow.services import TemperatureSensorBase


[docs]class TemperatureSensor(GatewayService, TemperatureSensorBase): def __new__(cls, config, network, storage): if cls != TemperatureSensor: return super().__new__(cls, config, network, storage) if 'mcp980x' in config: from .mcp980x import MCP980XTemperatureSensor as cls elif 'analog' in config: from .analog import AnalogTemperatureSensor as cls elif 'sht2x' in config: from .sht2x import SHT2XTemperatureSensor as cls elif 'scd30' in config: from .scd30 import SCD30TemperatureSensor as cls else: raise RuntimeError('invalid temperature sensor config') return cls(config=config, network=network, storage=storage)