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