Article snapshot taken from Wikipedia with creative commons attribution-sharealike license.
Give it a read and then ask your questions in the chat.
We can research this topic together.
This article's lead sectionmay be too short to adequately summarize the key points. Please consider expanding the lead to provide an accessible overview of all important aspects of the article. (October 2012)
Home automation software is software that facilitates control of common appliances found in a home, office, or sometimes a commercial setting, such as lights, HVAC equipment, access control, sprinklers, and other devices. It usually provides for scheduling tasks, such as turning sprinklers on at the appropriate time, and event handling, such as turning lights on when motion is detected. Typically the application will support multiple interfaces to the outside world, such as XMPP, email, Z-Wave, and X10.
The user interface of home automation software is often based on a client-server model, such as a web UI or a smartphone app, or some combination thereof. More advanced applications will allow users to write scripts in a programming language to handle more complex tasks. There are currently many competing home automation standards for both hardware and software.
Open-source software
This is a list of software across multiple platforms which is designed to perform home automation.