caspia.node package¶
Subpackages¶
- caspia.node.cli package
- Subpackages
- caspia.node.cli.commands package
- Submodules
- caspia.node.cli.commands.cmd_analog module
- caspia.node.cli.commands.cmd_analogoutput module
- caspia.node.cli.commands.cmd_blinds module
- caspia.node.cli.commands.cmd_digitalinput module
- caspia.node.cli.commands.cmd_info module
- caspia.node.cli.commands.cmd_listen module
- caspia.node.cli.commands.cmd_mcp980x module
- caspia.node.cli.commands.cmd_relay module
- caspia.node.cli.commands.cmd_relay_group module
- caspia.node.cli.commands.cmd_s300 module
- caspia.node.cli.commands.cmd_serial module
- caspia.node.cli.commands.cmd_sht2x module
- caspia.node.cli.commands.cmd_system module
- caspia.node.cli.commands.cmd_tsl258x module
- caspia.node.cli.commands.cmd_utils module
- Module contents
- caspia.node.cli.commands package
- Submodules
- caspia.node.cli.utils module
- Module contents
- Subpackages
- 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
- caspia.node.components.sensors package
- Submodules
- caspia.node.components.analogoutput module
- caspia.node.components.base module
- caspia.node.components.blinds module
- caspia.node.components.button module
- caspia.node.components.digitalinput module
- caspia.node.components.relay module
- caspia.node.components.serial module
- caspia.node.components.system module
- Module contents
- Subpackages
Submodules¶
caspia.node.binary module¶
caspia.node.broadcast module¶
-
class
caspia.node.broadcast.Broadcast(source: int, group: int, data: bytes, error_code: int = None, priority: int = None, timestamp: float = None)[source]¶ Bases:
object-
property
component_data¶
-
property
component_id¶
-
error_code= None¶
-
property
is_component_broadcast¶
-
property
is_system_broadcast¶
-
priority= None¶
-
timestamp= None¶
-
property
type¶
-
property
caspia.node.errors module¶
-
exception
caspia.node.errors.CaspiaError[source]¶ Bases:
Exception-
args¶
-
with_traceback()¶ Exception.with_traceback(tb) – set self.__traceback__ to tb and return self.
-
-
exception
caspia.node.errors.InvalidComponentError[source]¶ Bases:
caspia.node.errors.CaspiaError-
args¶
-
with_traceback()¶ Exception.with_traceback(tb) – set self.__traceback__ to tb and return self.
-
-
exception
caspia.node.errors.InvalidConfigurationError[source]¶ Bases:
caspia.node.errors.CaspiaError-
args¶
-
with_traceback()¶ Exception.with_traceback(tb) – set self.__traceback__ to tb and return self.
-
caspia.node.events module¶
-
class
caspia.node.events.BroadcastEvent(broadcast: caspia.node.broadcast.Broadcast)[source]¶ Bases:
caspia.node.events.EventAny event, which is backed by a broadcast.
-
property
can_id¶
-
property
component_id¶
-
property
caspia.node.listener module¶
caspia.node.node module¶
-
class
caspia.node.node.Node(pollen_client: aiopollen.client.Client, can_id: int)[source]¶ Bases:
objectInitialize a new node.
- Parameters
pollen_client – Client used for communication with the node.
can_id – Pollen identifier of the node.
-
async
configure(force=False, restart=True)[source]¶ Configure the node to its current configuration.
If the configuration is not complete or valid, raises errors.InvalidConfigurationError.
- Parameters
force – True if the configuration should be uploaded to the board even if the config hashes are the same.
restart – True if the node should be restarted after the configuration is done.
-
get_component(identifier) → caspia.node.components.base.Component[source]¶ Get component with given identifier.
-
register_component(component_cls: Type[C], identifier=None) → Tuple[int, C][source]¶ Register given component class for the components.
- Parameters
component_cls – The class to be registered
identifier – Optionally the identifier the new component should have.
- Returns
tuple with assigned identifier and the new component instance
-
static
request_heartbeats(client, set_online=False)[source]¶ Send broadcast requesting heartbeat from all nodes.
- Parameters
client – The client to send the heartbeats over.
set_online – If True, nodes will set themselves to Online state.
-
property
system¶ Return system component (always present component with identifier 0).
caspia.node.pollen_action module¶
caspia.node.reprfields module¶
caspia.node.utils module¶
-
async
caspia.node.utils.assign_can_id_by_hwid(hwid, can_id, client)[source]¶ Look for a node with given hwid and temporarily change its can_id.
- Raises
TimeoutError if there is no response from the node.
-
async
caspia.node.utils.check_node_in_isp_present(bus, wait_interval=1.0)[source]¶ Return None if no node is present. If is present, returns its hwid.
-
caspia.node.utils.parse_broadcast(broadcast)[source]¶ Creates specific subclass of Event from Broadcast.
-
async
caspia.node.utils.receive_event(accept, client, timeout=5.0)[source]¶ Wait for a specific broadcast. :param accept: If callable, must accept one argument (Event). Should
return True for the expected broadcast.
- Parameters
client – pollen_client to use
timeout – raise TimeoutError after timeout
- Returns
The Event instance.