Mozilla WebThing library.¶
A Thing is an object exposing some REST API containing properties, actions and events.
__init__(thing_id, name, description=None, base_url="/", timestamp_fn=None)¶
- thing_id is the unique id for a Thing
- name is pretty name for human interfaces
- description is a human readable description of this Thing
- base_url is the base path, configurable for advanced purposes.
- timestamp_fn is a function to call for retrieving a timestamp string to be used in events generation.
Store a webserver instance for using it later when an action is created. .. method:: add_property(prop_id, label, prop_type, getter, setter=None, unit=None, description=None)
Add a new property to this thing.
- prop_id is a string for identifying uniquely a property
- label is a pretty name for this property
- prop_type can be one of [“integer”, “number”, “boolean”].
- getter is a function that must return current status of this property
- setter is a function that must accept new status as a parameter and set it
- unit is a pretty name for the measure unit of this property
- description is a human readable description of this property
add_action(act_id, label, callback, input_type=None, description=None)¶
Add a new action to this thing.
- act_id is a string for identifying uniquely an action
- label is a pretty name for this action
- input_type can be one of [“integer”, “number”, “boolean”].
- callback is a function that must accept a parameter of input_type and use it
- description is a human readable description of this action
Register a new event type to this Thing.
- evt_id is a string for identifying uniquely this event type.
- description is a human readable description for this event.
Log a new event of type evt_id.
- evt_id is a string for choosing a registered event type.
- inp_data is an optional argument for this event type.
Return a dict representing this Thing.