caspia.node.components package¶
Subpackages¶
- caspia.node.components.sensors package
- Submodules
- caspia.node.components.sensors.analog module
- caspia.node.components.sensors.apds9300 module
- caspia.node.components.sensors.base module
- caspia.node.components.sensors.datatypes module
- caspia.node.components.sensors.mcp980x module
- caspia.node.components.sensors.s300 module
- caspia.node.components.sensors.scd30 module
- caspia.node.components.sensors.sht2x module
- caspia.node.components.sensors.tsl258x module
- Module contents
Submodules¶
caspia.node.components.analogoutput module¶
-
class
caspia.node.components.analogoutput.AnalogOutput(node, identifier: int)[source]¶ Bases:
caspia.node.components.base.Component-
class
Config(output_number: int, initial_state: float)[source]¶ Bases:
caspia.node.components.base.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
State(is_on: bool = None, value: float = None, error: int = None)[source]¶ Bases:
caspia.node.components.base.State-
error= None¶
-
is_on= None¶
-
update_from_error(error_code, data)¶
-
value= None¶
-
-
class
StateOffEvent(broadcast: caspia.node.broadcast.Broadcast)[source]¶ Bases:
caspia.node.events.BroadcastEvent,caspia.node.components.base.Event-
property
can_id¶
-
property
component_id¶
-
property
-
class
StateOnEvent(broadcast: caspia.node.broadcast.Broadcast)[source]¶ Bases:
caspia.node.events.BroadcastEvent,caspia.node.components.base.Event-
property
can_id¶
-
property
component_id¶
-
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
request(data: bytes, *args, timeout=5.0, **kwargs) → bytes¶ Make pollen request on behalf of the component.
-
type= 12¶
-
class
caspia.node.components.base module¶
-
class
caspia.node.components.base.Component(node, identifier: int)[source]¶ Bases:
objectAbstract Component Class.
Each component should derive from this class. (Class) Attributes to be defined by every subclass: type: int config_cls: Config state_cls: State
-
class
Config[source]¶ Bases:
caspia.node.config.Config-
classmethod
from_bytes(data)¶
-
get_bytes()¶
-
classmethod
-
class
Event[source]¶ 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.
-
static
component_class_for_config_class(config_cls)[source]¶ Get a Component subclass for a given Config subclass.
-
static
get_error_code_domain(error_code) → int[source]¶ Return the type of component the error_code is related to.
-
abstract classmethod
parse_broadcast(broadcast)[source]¶ Return Event subclass for specific broadcast.
-
async
request(data: bytes, *args, timeout=5.0, **kwargs) → bytes[source]¶ Make pollen request on behalf of the component.
-
type= None¶
-
class
caspia.node.components.blinds module¶
-
class
caspia.node.components.blinds.Blinds(node, identifier: int)[source]¶ Bases:
caspia.node.components.base.Component-
class
Config(pwr_pin: caspia.node.pin.Pin, dir_pin: caspia.node.pin.Pin, move_up_delay: float, move_down_delay: float, direction_change_delay: float, tilt_time: float, move_up_time: float, move_down_time: float, arrest_time: float, backlash: int = 0.0, dir_pin_inverted: bool = False, calibrate_at_bottom: bool = False)[source]¶ Bases:
caspia.node.components.base.Config-
backlash= 0.0¶
-
calibrate_at_bottom= False¶
-
dir_pin_inverted= False¶
-
-
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.
-
INVALID_BLIND= 2147483647¶
-
INVALID_TILT= 2147483647¶
-
MOVEMENT_DOWN= 2¶
-
MOVEMENT_UP= 1¶
-
NO_MOVEMENT= 0¶
-
class
State(movement: int = None, blind: int = None, tilt: int = None, target_blind: int = None, target_tilt: int = None)[source]¶ Bases:
caspia.node.components.base.State-
blind= None¶
-
movement= None¶
-
target_blind= None¶
-
target_tilt= None¶
-
tilt= None¶
-
update_from_error(error_code, data)¶
-
-
class
StateUpdateEvent(broadcast: caspia.node.broadcast.Broadcast)[source]¶ Bases:
caspia.node.events.BroadcastEvent,caspia.node.components.base.Event-
property
can_id¶
-
property
component_id¶
-
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
get_timing(allow_cached=True)[source]¶ Returns (maximum_tilt, maximum_blind) expressed in milliseconds
-
async
load_state()¶
-
async
request(data: bytes, *args, timeout=5.0, **kwargs) → bytes¶ Make pollen request on behalf of the component.
-
async
set_internal_state(blind, tilt, backlash=0, calibrated=True, relative=True)[source]¶ Set the internal state of blinds (backlash is always in seconds)
-
type= 5¶
-
class
caspia.node.components.button module¶
Bases:
caspia.node.components.base.ComponentBases:
caspia.node.events.BroadcastEvent,caspia.node.components.base.EventBroadcasted on Hold, Click, etc …
Bases:
caspia.node.components.base.Config
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.
Bases:
caspia.node.config.Config
Bases:
caspia.node.events.BroadcastEvent,caspia.node.components.base.EventBroadcasted on button push.
Bases:
caspia.node.events.BroadcastEvent,caspia.node.components.base.EventBroadcasted on button release.
Bases:
caspia.node.components.base.State
Get a Component subclass for a given Config subclass.
Return dictionary [type:cls] with all registered comp. classes.
Return the type of component the error_code is related to.
Return Event subclass for specific broadcast.
Make pollen request on behalf of the component.
caspia.node.components.digitalinput module¶
-
class
caspia.node.components.digitalinput.DigitalInput(node, identifier: int)[source]¶ Bases:
caspia.node.components.base.Component-
class
Config(pin: caspia.node.pin.Pin, mode: int = 1, sampling_freq: int = 100, samples_till_change: int = 3, broadcast_on_low_to_high: bool = True, broadcast_on_high_to_low: bool = True, inverted: bool = False)[source]¶ Bases:
caspia.node.components.base.Config-
MODE_PULL_DOWN= 2¶
-
MODE_PULL_UP= 1¶
-
broadcast_on_high_to_low= True¶
-
broadcast_on_low_to_high= True¶
-
inverted= False¶
-
mode= 1¶
-
samples_till_change= 3¶
-
sampling_freq= 100¶
-
-
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
HighToLowEvent(broadcast: caspia.node.broadcast.Broadcast)[source]¶ Bases:
caspia.node.events.BroadcastEvent,caspia.node.components.base.Event-
property
can_id¶
-
property
component_id¶
-
property
-
class
LowToHighEvent(broadcast: caspia.node.broadcast.Broadcast)[source]¶ Bases:
caspia.node.events.BroadcastEvent,caspia.node.components.base.Event-
property
can_id¶
-
property
component_id¶
-
property
-
class
State(value=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
request(data: bytes, *args, timeout=5.0, **kwargs) → bytes¶ Make pollen request on behalf of the component.
-
type= 4¶
-
class
caspia.node.components.relay module¶
-
class
caspia.node.components.relay.Relay(node, identifier: int)[source]¶ Bases:
caspia.node.components.base.Component-
class
Config(pin: caspia.node.pin.Pin, inverted: bool = False, initial_state: bool = False, timeout: float = 0.0, group_memberships: List[int] = <factory>)[source]¶ Bases:
caspia.node.components.base.Config-
initial_state= False¶
-
inverted= False¶
-
timeout= 0.0¶
-
-
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
GroupMembership(group: int, is_master: bool)[source]¶ Bases:
caspia.node.config.Config
-
class
GroupOffEvent(broadcast: caspia.node.broadcast.Broadcast)[source]¶ Bases:
caspia.node.events.BroadcastEvent-
property
can_id¶
-
property
component_id¶
-
property
-
class
GroupOnEvent(broadcast: caspia.node.broadcast.Broadcast)[source]¶ Bases:
caspia.node.events.BroadcastEvent-
property
can_id¶
-
property
component_id¶
-
property
-
class
GroupToggleEvent(broadcast: caspia.node.broadcast.Broadcast)[source]¶ Bases:
caspia.node.events.BroadcastEvent-
property
can_id¶
-
property
component_id¶
-
property
-
class
State(is_on=None)[source]¶ Bases:
caspia.node.components.base.State-
update_from_error(error_code, data)¶
-
-
class
StateOffEvent(broadcast: caspia.node.broadcast.Broadcast)[source]¶ Bases:
caspia.node.events.BroadcastEvent,caspia.node.components.base.Event-
property
can_id¶
-
property
component_id¶
-
property
-
class
StateOnEvent(broadcast: caspia.node.broadcast.Broadcast)[source]¶ Bases:
caspia.node.events.BroadcastEvent,caspia.node.components.base.Event-
property
can_id¶
-
property
component_id¶
-
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
request(data: bytes, *args, timeout=5.0, **kwargs) → bytes¶ Make pollen request on behalf of the component.
-
type= 1¶
-
class
caspia.node.components.serial module¶
-
class
caspia.node.components.serial.Serial(node, identifier: int)[source]¶ Bases:
caspia.node.components.base.Component-
class
DataReceivedEvent(broadcast: caspia.node.broadcast.Broadcast)[source]¶ Bases:
caspia.node.events.BroadcastEvent-
property
can_id¶
-
property
component_id¶
-
property
-
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.
-
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= 9¶
-
class
caspia.node.components.system module¶
-
class
caspia.node.components.system.System(node, identifier: int)[source]¶ Bases:
caspia.node.components.base.Component-
class
Config(can_id: int, metadata: dict = None, online_timeout: int = None, mock_i2c_hw: bool = False)[source]¶ Bases:
caspia.node.components.base.Config-
ENTRY_CAN_ID= 0¶
-
ENTRY_METADATA= 1¶
-
ENTRY_MOCK_I2C_HW= 3¶
-
ENTRY_ONLINE_TIMEOUT= 2¶
-
metadata= None¶
-
mock_i2c_hw= False¶
-
online_timeout= None¶
-
-
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
HeartbeatEvent(broadcast: caspia.node.broadcast.Broadcast)[source]¶ Bases:
caspia.node.events.BroadcastEvent,caspia.node.components.base.Event-
property
can_id¶
-
property
component_id¶
-
property
-
class
ResetReason[source]¶ Bases:
enum.EnumAn enumeration.
-
BROWNOUT= 4¶
-
EXTERNAL= 2¶
-
POWER_ON_RESET= 1¶
-
SOFTWARE= 5¶
-
UNKNOWN= 0¶
-
WATCHDOG= 3¶
-
-
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= 0¶
-
class