This section gives more details about how the system operates and explains how to write one's own Scripts and devices.
As one starts to use the Virtual Wiring system, one may want to build custom Scripts. Custom Scripts might re-package existing Scripts so their parameters are customized, or they might have personalized sets of devices in personalized configurations. If you create your own device, you'll want to create a Script for it, so it's easy to add to the system. To learn how to write your own Scripts, see the Creating Scripts page.
Creating Virtual Devices
Virtual Devices are easy to create, so they provide a straightforward method for adding new capabilities to a system. As are all devices, Virtual Devices are written in Ruby. If you don't want to write in Ruby, you can write in your language of choice and call your programs from your Virtual Devices. Many Virtual Devices require only a few lines of code, so writing them in Ruby is not difficult. To learn how to create your own Virtual Devices, see the Creating Virtual Devices page.
Creating State Machines
Interested in building a Device, but don't need all the flexibility of a Virtual Device? State Machines may be your answer. If your device behavior is event based and is expressible by input, output, and internal states, you can build it with a State Machine. To learn how to create your own State Machines, see our State Machines page.
Interacting with the Website
Once you have a Virtual Wiring System up and running, you can monitor and control it by interacting with the Virtual Wiring website programmatically. You can poll the website to get the state of all the devices in the system in a machine friendly format, and you can post to the web site and create changes within the system. To learn more about interacting with the website programmatically, see the Programmatic Interaction with the Website page.