caspia.node.components.sensors package¶
Submodules¶
caspia.node.components.sensors.analog module¶
-
class
caspia.node.components.sensors.analog.AnalogSensor(node, identifier: int)[source]¶ Bases:
caspia.node.components.sensors.base.SensorBase-
class
Config(pin, interval, power_pin=None, samples=1)[source]¶ Bases:
caspia.node.components.sensors.base.Config-
classmethod
from_bytes(data)¶
-
get_bytes()¶
-
classmethod
-
class
Event¶ Bases:
caspia.node.events.EventAn Event.
- Every type of a broadcast made by a component should be
represented as subclass of this class.
Subclasses must provide can_id and component_id attributes.
-
class
MeasurementEvent(broadcast: caspia.node.broadcast.Broadcast, sensor_cls: Type[SensorBase])[source]¶ Bases:
caspia.node.components.sensors.base.MeasurementEvent-
property
can_id¶
-
property
component_id¶
-
property
-
class
State(value=None, error=None, timestamp=None)[source]¶ Bases:
caspia.node.components.base.State-
update_from_error(error_code, data)¶
-
-
static
component_class_for_config_class(config_cls)¶ Get a Component subclass for a given Config subclass.
-
static
component_classes()¶ Return dictionary [type:cls] with all registered comp. classes.
-
static
component_type_to_cls(types, raise_on_unknown=True)¶
-
classmethod
does_request(builder)¶
-
static
get_error_code_domain(error_code) → int¶ Return the type of component the error_code is related to.
-
async
load_state()¶
-
async
measure()¶
-
classmethod
parse_broadcast(broadcast)¶ Return Event subclass for specific broadcast.
-
classmethod
register_measurement_event_cls(evt_cls)¶
-
async
request(data: bytes, *args, timeout=5.0, **kwargs) → bytes¶ Make pollen request on behalf of the component.
-
async
request_measurement()¶
-
type= 7¶
-
class
caspia.node.components.sensors.apds9300 module¶
-
class
caspia.node.components.sensors.apds9300.APDS9300Sensor(node, identifier: int)[source]¶ Bases:
caspia.node.components.sensors.base.SensorBase-
class
Config(*, interval, address=None)[source]¶ Bases:
caspia.node.components.sensors.base.Config-
classmethod
from_bytes(data)¶
-
get_bytes()¶
-
classmethod
-
class
Event¶ Bases:
caspia.node.events.EventAn Event.
- Every type of a broadcast made by a component should be
represented as subclass of this class.
Subclasses must provide can_id and component_id attributes.
-
class
MeasurementEvent(broadcast: caspia.node.broadcast.Broadcast, sensor_cls: Type[SensorBase])[source]¶ Bases:
caspia.node.components.sensors.base.MeasurementEvent-
property
can_id¶
-
property
component_id¶
-
property
lux¶
-
property
-
class
State(raw=(None, None), error=None, timestamp=None)[source]¶ Bases:
caspia.node.components.base.State-
property
lux¶
-
property
-
static
component_class_for_config_class(config_cls)¶ Get a Component subclass for a given Config subclass.
-
static
component_classes()¶ Return dictionary [type:cls] with all registered comp. classes.
-
static
component_type_to_cls(types, raise_on_unknown=True)¶
-
classmethod
does_request(builder)¶
-
static
get_error_code_domain(error_code) → int¶ Return the type of component the error_code is related to.
-
async
load_state()¶
-
async
measure()¶
-
classmethod
parse_broadcast(broadcast)¶ Return Event subclass for specific broadcast.
-
classmethod
register_measurement_event_cls(evt_cls)¶
-
async
request(data: bytes, *args, timeout=5.0, **kwargs) → bytes¶ Make pollen request on behalf of the component.
-
async
request_measurement()¶
-
type= 11¶
-
class
caspia.node.components.sensors.base module¶
-
class
caspia.node.components.sensors.base.SensorBase(node, identifier: int)[source]¶ Bases:
caspia.node.components.base.Component-
class
Config(interval: int)[source]¶ Bases:
caspia.node.config.Config
-
class
Event¶ Bases:
caspia.node.events.EventAn Event.
- Every type of a broadcast made by a component should be
represented as subclass of this class.
Subclasses must provide can_id and component_id attributes.
-
class
MeasurementEvent(broadcast: caspia.node.broadcast.Broadcast, sensor_cls: Type[ForwardRef('SensorBase')])[source]¶ Bases:
caspia.node.events.BroadcastEvent,caspia.node.components.base.Event-
property
can_id¶
-
property
component_id¶
-
property
-
class
State¶ Bases:
object-
abstract
update_from_bytes(data)¶
-
update_from_error(error_code, data)¶
-
abstract
update_from_event(event)¶
-
abstract
-
static
component_class_for_config_class(config_cls)¶ Get a Component subclass for a given Config subclass.
-
static
component_classes()¶ Return dictionary [type:cls] with all registered comp. classes.
-
static
component_type_to_cls(types, raise_on_unknown=True)¶
-
classmethod
does_request(builder)¶
-
static
get_error_code_domain(error_code) → int¶ Return the type of component the error_code is related to.
-
async
load_state()¶
-
async
request(data: bytes, *args, timeout=5.0, **kwargs) → bytes¶ Make pollen request on behalf of the component.
-
type= None¶
-
class
caspia.node.components.sensors.datatypes module¶
-
caspia.node.components.sensors.datatypes.parse_analog_uint10(data)[source]¶ Return float in range 0-1 if data are valid.
None if value is invalid. Raises value error if data are invalid.
caspia.node.components.sensors.mcp980x module¶
-
class
caspia.node.components.sensors.mcp980x.MCP980XSensor(node, identifier: int)[source]¶ Bases:
caspia.node.components.sensors.base.SensorBase-
class
Config(interval, address=None, resolution=None)[source]¶ Bases:
caspia.node.components.sensors.base.Config-
RESOLUTION_10b= 1¶
-
RESOLUTION_11b= 2¶
-
RESOLUTION_12b= 3¶
-
RESOLUTION_9b= 0¶
-
classmethod
from_bytes(data)¶
-
get_bytes()¶
-
-
class
Event¶ Bases:
caspia.node.events.EventAn Event.
- Every type of a broadcast made by a component should be
represented as subclass of this class.
Subclasses must provide can_id and component_id attributes.
-
class
MeasurementEvent(broadcast: caspia.node.broadcast.Broadcast, sensor_cls: Type[SensorBase])[source]¶ Bases:
caspia.node.components.sensors.base.MeasurementEvent-
property
can_id¶
-
property
component_id¶
-
property
-
class
State(temperature=None, error=None, timestamp=None)[source]¶ Bases:
caspia.node.components.base.State-
error= None¶ If False, self.temperature contains valid temp
-
temperature= None¶ In degrees celsius
-
timestamp= None¶ Time of last update
-
update_from_error(error_code, data)¶
-
-
static
component_class_for_config_class(config_cls)¶ Get a Component subclass for a given Config subclass.
-
static
component_classes()¶ Return dictionary [type:cls] with all registered comp. classes.
-
static
component_type_to_cls(types, raise_on_unknown=True)¶
-
classmethod
does_request(builder)¶
-
static
get_error_code_domain(error_code) → int¶ Return the type of component the error_code is related to.
-
async
load_state()¶
-
async
measure()¶
-
classmethod
parse_broadcast(broadcast)¶ Return Event subclass for specific broadcast.
-
classmethod
register_measurement_event_cls(evt_cls)¶
-
async
request(data: bytes, *args, timeout=5.0, **kwargs) → bytes¶ Make pollen request on behalf of the component.
-
async
request_measurement()¶
-
type= 3¶
-
class
caspia.node.components.sensors.s300 module¶
-
class
caspia.node.components.sensors.s300.S300Sensor(node, identifier: int)[source]¶ Bases:
caspia.node.components.sensors.base.SensorBase-
class
Config(interval: int)[source]¶ Bases:
caspia.node.components.sensors.base.Config-
classmethod
from_bytes(data)¶
-
get_bytes()¶
-
classmethod
params_from_config_dict(cfg: Dict[int, bytes])¶ To be overriden by subclasses - should map cfg to initializer’s parameters.
-
to_config_dict() → Dict[int, bytes]¶ To be overriden by subclasses.
-
classmethod
-
class
Event¶ Bases:
caspia.node.events.EventAn Event.
- Every type of a broadcast made by a component should be
represented as subclass of this class.
Subclasses must provide can_id and component_id attributes.
-
class
MeasurementEvent(broadcast: caspia.node.broadcast.Broadcast, sensor_cls: Type[SensorBase])[source]¶ Bases:
caspia.node.components.sensors.base.MeasurementEvent-
property
can_id¶
-
property
component_id¶
-
property
-
class
State(co2=None, error=None, timestamp=None)[source]¶ Bases:
caspia.node.components.base.State-
update_from_error(error_code, data)¶
-
-
static
component_class_for_config_class(config_cls)¶ Get a Component subclass for a given Config subclass.
-
static
component_classes()¶ Return dictionary [type:cls] with all registered comp. classes.
-
static
component_type_to_cls(types, raise_on_unknown=True)¶
-
classmethod
does_request(builder)¶
-
static
get_error_code_domain(error_code) → int¶ Return the type of component the error_code is related to.
-
async
load_state()¶
-
async
measure()¶
-
classmethod
parse_broadcast(broadcast)¶ Return Event subclass for specific broadcast.
-
classmethod
register_measurement_event_cls(evt_cls)¶
-
async
request(data: bytes, *args, timeout=5.0, **kwargs) → bytes¶ Make pollen request on behalf of the component.
-
async
request_measurement()¶
-
async
send_command(command)[source]¶ Send command to the S300Sensor.
See Programming Guide for I2C (S-Series) for available commands.
-
type= 10¶
-
class
caspia.node.components.sensors.scd30 module¶
-
class
caspia.node.components.sensors.scd30.SCD30Sensor(node, identifier: int)[source]¶ Bases:
caspia.node.components.sensors.base.SensorBaseCO2, Temperature and Relative Humidity sensor.
-
class
Config(*args, temperature_offset=0, ambient_pressure=0, **kwargs)[source]¶ Bases:
caspia.node.components.sensors.base.Config-
classmethod
from_bytes(data)¶
-
get_bytes()¶
-
classmethod
-
class
Event¶ Bases:
caspia.node.events.EventAn Event.
- Every type of a broadcast made by a component should be
represented as subclass of this class.
Subclasses must provide can_id and component_id attributes.
-
class
MeasurementEvent(broadcast: caspia.node.broadcast.Broadcast, sensor_cls: Type[ForwardRef('SensorBase')])[source]¶ Bases:
caspia.node.components.sensors.base.MeasurementEvent-
property
can_id¶
-
property
component_id¶
-
parse()¶
-
property
-
class
State(co2: float = None, temperature: float = None, humidity: float = None, timestamp: arrow.arrow.Arrow = None, error: bool = None)[source]¶ Bases:
caspia.node.components.base.State-
co2= None¶
-
error= None¶
-
humidity= None¶
-
temperature= None¶
-
timestamp= None¶
-
update_from_error(error_code, data)¶
-
-
static
component_class_for_config_class(config_cls)¶ Get a Component subclass for a given Config subclass.
-
static
component_classes()¶ Return dictionary [type:cls] with all registered comp. classes.
-
static
component_type_to_cls(types, raise_on_unknown=True)¶
-
classmethod
does_request(builder)¶
-
static
get_error_code_domain(error_code) → int¶ Return the type of component the error_code is related to.
-
async
load_state()¶
-
async
measure()¶
-
classmethod
parse_broadcast(broadcast)¶ Return Event subclass for specific broadcast.
-
classmethod
register_measurement_event_cls(evt_cls)¶
-
async
request(data: bytes, *args, timeout=5.0, **kwargs) → bytes¶ Make pollen request on behalf of the component.
-
async
request_measurement()¶
-
type= 13¶
-
class
caspia.node.components.sensors.sht2x module¶
-
class
caspia.node.components.sensors.sht2x.SHT2XSensor(node, identifier: int)[source]¶ Bases:
caspia.node.components.sensors.base.SensorBase-
class
Config(interval: int)[source]¶ Bases:
caspia.node.components.sensors.base.Config-
classmethod
from_bytes(data)¶
-
get_bytes()¶
-
classmethod
params_from_config_dict(cfg: Dict[int, bytes])¶ To be overriden by subclasses - should map cfg to initializer’s parameters.
-
to_config_dict() → Dict[int, bytes]¶ To be overriden by subclasses.
-
classmethod
-
class
Event¶ Bases:
caspia.node.events.EventAn Event.
- Every type of a broadcast made by a component should be
represented as subclass of this class.
Subclasses must provide can_id and component_id attributes.
-
class
MeasurementEvent(broadcast: caspia.node.broadcast.Broadcast, sensor_cls: Type[SensorBase])[source]¶ Bases:
caspia.node.components.sensors.base.MeasurementEvent-
property
can_id¶
-
property
component_id¶
-
property
-
class
State(temperature=None, humidity=None, error=None, timestamp=None)[source]¶ Bases:
caspia.node.components.base.State-
update_from_error(error_code, data)¶
-
-
static
component_class_for_config_class(config_cls)¶ Get a Component subclass for a given Config subclass.
-
static
component_classes()¶ Return dictionary [type:cls] with all registered comp. classes.
-
static
component_type_to_cls(types, raise_on_unknown=True)¶
-
classmethod
does_request(builder)¶
-
static
get_error_code_domain(error_code) → int¶ Return the type of component the error_code is related to.
-
async
load_state()¶
-
async
measure()¶
-
classmethod
parse_broadcast(broadcast)¶ Return Event subclass for specific broadcast.
-
classmethod
register_measurement_event_cls(evt_cls)¶
-
async
request(data: bytes, *args, timeout=5.0, **kwargs) → bytes¶ Make pollen request on behalf of the component.
-
async
request_measurement()¶
-
type= 8¶
-
class
caspia.node.components.sensors.tsl258x module¶
-
class
caspia.node.components.sensors.tsl258x.TSL258XSensor(node, identifier: int)[source]¶ Bases:
caspia.node.components.sensors.base.SensorBaseI2C Light Sensor.
-
class
Config(interval: int, address: int = 57, integration_cycles: int = 1, gain_control: 'TSL258XSensor.GainControl' = <factory>)[source]¶ Bases:
caspia.node.components.sensors.base.Config-
address= 57¶
-
classmethod
from_bytes(data)¶
-
get_bytes()¶
-
integration_cycles= 1¶
-
-
class
Event¶ Bases:
caspia.node.events.EventAn Event.
- Every type of a broadcast made by a component should be
represented as subclass of this class.
Subclasses must provide can_id and component_id attributes.
-
class
GainControl[source]¶ Bases:
enum.IntEnumAn enumeration.
-
Gain111x= 3¶
-
Gain16x= 2¶
-
Gain1x= 0¶
-
Gain8x= 1¶
-
-
class
MeasurementEvent(broadcast: caspia.node.broadcast.Broadcast, sensor_cls: Type[ForwardRef('SensorBase')])[source]¶ Bases:
caspia.node.components.sensors.base.MeasurementEvent-
property
can_id¶
-
property
component_id¶
-
property
lux¶
-
property
-
class
PartIdentification(part, revision)¶ Bases:
tupleCreate new instance of PartIdentification(part, revision)
-
count()¶ Return number of occurrences of value.
-
index()¶ Return first index of value.
Raises ValueError if the value is not present.
-
property
part¶ Alias for field number 0
-
property
revision¶ Alias for field number 1
-
-
class
State(raw: Tuple[Union[int, NoneType], Union[int, NoneType]] = (None, None), error: Union[int, NoneType] = None, timestamp: Union[arrow.arrow.Arrow, NoneType] = None)[source]¶ Bases:
caspia.node.components.base.State-
error= None¶
-
property
lux¶
-
raw= (None, None)¶
-
timestamp= None¶
-
-
static
component_class_for_config_class(config_cls)¶ Get a Component subclass for a given Config subclass.
-
static
component_classes()¶ Return dictionary [type:cls] with all registered comp. classes.
-
static
component_type_to_cls(types, raise_on_unknown=True)¶
-
classmethod
does_request(builder)¶
-
static
get_error_code_domain(error_code) → int¶ Return the type of component the error_code is related to.
-
async
load_state()¶
-
async
measure()¶
-
classmethod
parse_broadcast(broadcast)¶ Return Event subclass for specific broadcast.
-
classmethod
register_measurement_event_cls(evt_cls)¶
-
async
request(data: bytes, *args, timeout=5.0, **kwargs) → bytes¶ Make pollen request on behalf of the component.
-
async
request_measurement()¶
-
type= 14¶
-
class