Node development
The domotcl core communicates with the node through a set of commands
- changes
- Report a list of drivers that have changed
- create class name
- Create a driver
- delete name
- Delete the named driver
- invoke name cmd [arg ...]
- Run a command with optional arguments in the specified driver
- query subcommand [arg ...]
- Invoked by the core to get different pieces of information. This command
has a number of subcommand, usually implemented using a namespace ensemble.
- query drivers
- List the drivers available for the node
- query driver name
- Get the configuration details for the named driver
- query cmdset type [arg ...]
- Get the configuration details for the specified device type. Additional
arguments may be used to select specific parts of the device type definition.
Conversely, the core also provides some commands the node implementation can
use to interact with the core.
- alarm int
- Indicate a criticle condition in a driver
- cache node subcommand [arg ...]
- Access to the driver information cache
- query table [dict] [reftime]
- Retrieve data from a cache table
- store table dict
- Store data in a cache table
- config plugin [arg ...]
- Store or retrieve configuration data of a plug-in
- evolve class spec
- Evolve the database due to a new version of a plug-in
- fullpath base name
- Translate a relative device name to the full path
- log base level str
- Create a log entry
- loglevel int level
- Set the log level for a plug-in
- make class type name desc arg ...
- Create a device
- properties [arg ...]
- Get the properties for the specified plug-ins, or all plug-ins if called
without arguments
- property base name prop [default]
- Get the value of a property
- reload [version]
- Reload the complete node
- signal base path name [arg ...]
- Generate a signal for an event
- starttime
- Get the start time of the current action
- storage base name layout
- Create a table in the tracking database
- store base tail
- Store data in the tracking database
- vanish base
- Inform the core that a plug-in has terminated
If the node needs any configuration settings and/or has some initialization
code, the node source file should return a dict with the specification of
these items.
- command
- The initialization command, followed by a tree of configuration
parameters.
- typedefs
- Further specification of the configuration parameters
|