caspia.toolbox.services.thermostat package¶
Submodules¶
caspia.toolbox.services.thermostat.thermostat module¶
-
class
caspia.toolbox.services.thermostat.thermostat.Thermostat(name: str, *, storage, current_temp: caspia.reactive.observable.Observable, p=0.0, i=0.0, d=0.0, windup=None, sample_time=0.0, interval=30, loop=None, heating=None)[source]¶ Bases:
caspia.meadow.client.gateway.ServiceGatewayMixin,caspia.meadow.services.thermostat.ThermostatBaseInitialize new service.
- Parameters
name – Name of the service (or just its path)
include – What optional characteristics to include. Tuple of their names.
-
property
all_observables¶
-
attach(connection)¶
-
property
attached¶
-
auto_discovery= True¶
-
characteristic_cached_read(characteristic)¶
-
characteristic_cached_write(characteristic, value_and_meta)¶
-
async
characteristic_read(characteristic, **kwargs)[source]¶ Read value of the characteristic.
- Parameters
characteristic – The characteristic to which the value should be written.
value – The value to be written.
kwargs – Dictionary with extra key (dictionary with metadata) and optionally a timeout (float specifing explicit timeout for the operation).
- Returns
Tuple (value, extra).
-
characteristic_subscribe(characteristic, on_value, on_error=None)¶
-
async
characteristic_write(characteristic, value, **kwargs)[source]¶ Write a value to the characteristic.
- Parameters
characteristic – The characteristic to which the value should be written.
value – The value to be written.
kwargs – Dictionary with extra key (dictionary with metadata) and optionally a timeout (float specifing explicit timeout for the operation).
-
characteristics= {'$metadata': <Characteristic <class 'caspia.meadow.services.base.ServiceMeta'>:$metadata>, 'current_state': <Characteristic <class 'caspia.meadow.services.base.ServiceMeta'>:current_state>, 'current_temp': <Characteristic <class 'caspia.meadow.services.base.ServiceMeta'>:current_temp>, 'target_state': <Characteristic <class 'caspia.meadow.services.base.ServiceMeta'>:target_state>, 'target_temp': <Characteristic <class 'caspia.meadow.services.base.ServiceMeta'>:target_temp>}¶
-
current_state¶
-
current_temp¶
-
detach()¶
-
static
get_subclass(stype, mixin=None)¶
-
load_definition(spec)¶ Update characteristics of this instance based on serialized specs.
- Parameters
spec – Dict most likely going to be coming from meadow - from some gateway informing us about its services and their characteristics.
-
metadata¶
-
async
notify(characteristic, value, if_changed=False, extra=None)¶
-
on(name, *args, **kwargs)¶
-
optional= {}¶
-
async
published()¶
-
serialize()¶ Return serialized version (most likely dict) if possible or None.
-
target_state¶
-
target_temp¶
-
type= 'thermostat'¶