caspia.pan package

Submodules

caspia.pan.automator module

class caspia.pan.automator.Automator[source]

Bases: object

create_automation(name)[source]
create_rule(name)[source]
create_thermostat(name, temperature: caspia.reactive.observable.Observable[float][float], heating: caspia.reactive.observers.Observer[float][float], params: dict)[source]
on_update(observable)[source]
when(observable)[source]

caspia.pan.builder module

class caspia.pan.builder.Builder(lookup, *, loop, storage)[source]

Bases: object

create_lightgroup(name, *lights)[source]
create_switch(name)[source]
create_switch_with_action(name)[source]
create_switch_with_task(name)[source]

caspia.pan.exception_handling module

caspia.pan.exception_handling.exception_handler(observable, exception, stack, **kwargs)[source]

caspia.pan.pan module

caspia.pan.pan.get_global_pan() → caspia.pan.pan.Pan[source]
caspia.pan.pan.set_global_pan(pan: caspia.pan.pan.Pan)[source]
class caspia.pan.pan.Pan(broker_url, storage, loop=None)[source]

Bases: object

async check_unavailable_services()[source]
async on_gateway_active_rules_update(gateway, rules)[source]
async on_services_change(added, removed)[source]
async prepare()[source]
prepare_service(service)[source]
async request_gateway_activations()[source]
async run_forever()[source]

caspia.pan.rules_manager module

class caspia.pan.rules_manager.RulesManager[source]

Bases: object

async activate_all()[source]
async activate_rule(rule)[source]

Activate (registered) rule.

activators = None

rule: RuleActivate | str(gateway) | None

add(rules)[source]

Register a rules (or rule, if not iterable).

async deactivate(rules)[source]
async deactivate_rule(rule)[source]

Deactivate (registered) rule.

is_active(rule)[source]
rule_states = None

rule: (RuleState, str(message))

rule_timestamps = None

rule: float

rules = None

list of rules

async set_rules_activated_by_gateway(gateway, rules)[source]

Module contents