-
Notifications
You must be signed in to change notification settings - Fork 113
How to extend zautomation
In case you want to extend ZAutomation you should author a module which (optionally) can register and expose some virtual devices and their widgets.
Automation modules are intended to incapsulate functionality of some kind, bind to the Event Bus to emit and response to events. Also only a module is able to spawn one or more virtual device instances.
Virtual device is an instance of a VirtualDevice class' descendant which
exposes set of metrics
and commands
(according to it's type/subtype).
Virtual devices are the only runtime instances which is controllable and
observable throuh the ZAutomation API.
Widgets is a client-side entities which knows how exactly interact with the Virtual Devices through the ZAutomation API. Every widget is aware of specific VDev type/subtype metrics and commands and provides human-reachable UI to control VDevs.
Customers are able to create their own modules, vdevs and widgets as long as use bundled ones.
For further reading: