The Openmotics system supports following virtual devices:
- Virtual Inputs: For example a doorbell that sends a push notification is translated in an action that switches on a light in the house
- Virtual Outputs: For example a Philips Hue light that acts as a virtual output can be switched on by a normal switch on the Openmotics system (or a virtual switch)
- Virtual Sensors: Any non-openmotics sensors like Z-wave wireless temperature, NEST thermostat temperature and humidity, third party light sensors etc
How does all the Virtual stuff works?
The master firmware (as of F3.142.1) allows you to create virtual input modules. Once a virtual input module is created, you have 8 virtual inputs. Those virtual inputs can be changed state by using Basic Action 68 (press) and 69 (release). When a virtual input change state, it will act like any normal input and the master will perform the action programmed for this input.
See Virtual Plug-in Examples for more information how to use this in combination with the plug-in system.
Virtual Inputs (Available in firmware version 3.142.1 and higher)
As of Firmware Version F3.142.1 and higher, the master allows virtual inputs. The number of virtual input modules that can be created is only limited by the system limits (maximum 240 inputs or 30 input modules). These are the type of non-virtual input modules:
- I -> Input module
- T -> Sensor module
When a virtual input module is created, follow type will be added in the input list of the Master:
- i -> Virtual input module
Configure Virtual inputs
A virtual input module can be created by using following CLI instruction:
add virtual module i ;Create a Virtual input module
The created modules can be easily checked with following instruction:
error list ;Error list will indicate all modules created in the system
A virtual input module can also be created by API instruction ??
To get a press state of a Virtual Input, Basic Action 68 must be used, to release a virtual input, Basic Action 69 must be used. Basic Action 68 or 69 only works on virtual inputs, when used on a non-virtual input, nothing will happen.