All of which can be downloaded.
Custom functions can be generated to match your specific application and multiple devices can be grouped together to provide solutions for complex applications requiring more variables.