This article has multiple issues. Please help improve it or discuss these issues on the talk page . (Learn how and when to remove these messages)
|
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.
This is a list of software across multiple platforms which is designed to perform home automation.
Name | Linux | Mac | Windows | Android | iOS | License | Technologies |
---|---|---|---|---|---|---|---|
Microsoft HomeOS | Yes | Academic license | |||||
HomeSeer | Yes | Yes | Yes | Yes | Yes | Integrations include (but are not limited to) Alexa, August Home, ecobee, IFTTT, Google Cast (Chromecast and Google Home/Nest), LIFX, MQTT, Node-RED, Philips Hue, Tuya, Zigbee, Z-Wave | |
HomeKit [3] | Yes | Yes | HomeKit Accessory Protocol | ||||
Indigo | Yes | Yes | Z-Wave, Insteon, X10, Alexa, Python, Custom Plugins | ||||
Symcon | Yes | Yes | Yes | Control App | Control App | Alexa, MQTT, Enocean, (Wireless) M-Bus, Zigbee, Modbus, 1-Wire, homematic (IP), Z-Wave, Philips Hue, Tuya, KNX, (ArtNet) DMX, OPC UA, Siemens S7, WAGO, LCN, EATON |
This is a list of platforms that require custom, closed hardware for home automation.
Name | Configuration Tools | Technologies |
---|---|---|
AMX LLC | Netlinx Studio, TPDesign | Configuration tools only work on Windows. |
Control4 | Composer | Uses a Linux kernel, configuration tools only work on Windows. Platform also supports open hardware utilising the Z-Wave standard. [4] |
Insteon | Insteon Hub, Insteon for Windows | Lighting, appliances, sensors. Mobile apps for Android and iOS, configuration tools only work with Windows. |
Lutron | Focused on lighting and shades, configuration tools only work on Windows. | |
SmartThings | Lighting, appliances, sensors. Mobile apps for Android and iOS. | |
Vivint | Sensors and one-touch hardware for security. | |
In the context of an operating system, a device driver is a computer program that operates or controls a particular type of device that is attached to a computer or automaton. A driver provides a software interface to hardware devices, enabling operating systems and other computer programs to access hardware functions without needing to know precise details about the hardware being used.
A graphical user interface, or GUI, is a form of user interface that allows users to interact with electronic devices through graphical icons and visual indicators such as secondary notation. In many applications, GUIs are used instead of text-based UIs, which are based on typed command labels or text navigation. GUIs were introduced in reaction to the perceived steep learning curve of command-line interfaces (CLIs), which require commands to be typed on a computer keyboard.
An integrated development environment (IDE) is a software application that provides comprehensive facilities for software development. An IDE normally consists of at least a source-code editor, build automation tools, and a debugger. Some IDEs, such as IntelliJ IDEA, Eclipse and Lazarus contain the necessary compiler, interpreter or both; others, such as SharpDevelop and NetBeans, do not.
An embedded system is a specialized computer system—a combination of a computer processor, computer memory, and input/output peripheral devices—that has a dedicated function within a larger mechanical or electronic system. It is embedded as part of a complete device often including electrical or electronic hardware and mechanical parts. Because an embedded system typically controls physical operations of the machine that it is embedded within, it often has real-time computing constraints. Embedded systems control many devices in common use. In 2009, it was estimated that ninety-eight percent of all microprocessors manufactured were used in embedded systems.
Computer operating systems (OSes) provide a set of functions needed and used by most application programs on a computer, and the links needed to control and synchronize computer hardware. On the first computers, with no operating system, every program needed the full hardware specification to run correctly and perform standard tasks, and its own drivers for peripheral devices like printers and punched paper card readers. The growing complexity of hardware and application programs eventually made operating systems a necessity for everyday use.
VxWorks is a real-time operating system developed as proprietary software by Wind River Systems, a subsidiary of Aptiv. First released in 1987, VxWorks is designed for use in embedded systems requiring real-time, deterministic performance and in many cases, safety and security certification for industries such as aerospace, defense, medical devices, industrial equipment, robotics, energy, transportation, network infrastructure, automotive, and consumer electronics.
Virtual Studio Technology (VST) is an audio plug-in software interface that integrates software synthesizers and effects units into digital audio workstations. VST and similar technologies use digital signal processing to simulate traditional recording studio hardware in software. Thousands of plugins exist, both commercial and freeware, and many audio applications support VST under license from its creator, Steinberg.
In software development, frontend refers to the presentation layer that users interact with, while backend involves the data management and processing behind the scenes. In the client–server model, the client is usually considered the frontend, handling user-facing tasks, and the server is the backend, managing data and logic. Some presentation tasks may also be performed by the server.
A digital audio workstation is an electronic device or application software used for recording, editing and producing audio files. DAWs come in a wide variety of configurations from a single software program on a laptop, to an integrated stand-alone unit, all the way to a highly complex configuration of numerous components controlled by a central computer. Regardless of configuration, modern DAWs have a central interface that allows the user to alter and mix multiple recordings and tracks into a final produced piece.
Laboratory Virtual Instrument Engineering Workbench (LabVIEW) is a graphical system design and developmentplatform produced and distributed by National Instruments, based on a programming environment that uses a visual programming language. It is widely used for data acquisition, instrument control, and industrial automation. It provides tools for designing and deploying complex test and measurement systems.
NewWave is a discontinued object-oriented graphical desktop environment and office productivity tool for PCs running early versions of Microsoft Windows. It was developed by Hewlett-Packard and introduced commercially in 1988. It was used on the HP Vectras and other IBM-compatible PCs running Windows.
Kodi is a free and open-source media player and technology convergence software application developed by the Kodi Foundation, a non-profit technology consortium. Kodi is available for multiple operating systems and hardware platforms, with a software 10-foot user interface for use with televisions and remote controls. It allows users to play and view most streaming media, such as videos, music, podcasts, and videos from the Internet, as well as all common digital media files from local and network storage media, or TV gateway viewer.
Mobile app development is the act or process by which a mobile app is developed for one or more mobile devices, which can include personal digital assistants (PDA), enterprise digital assistants (EDA), or mobile phones. Such software applications are specifically designed to run on mobile devices, taking numerous hardware constraints into consideration. Common constraints include CPU architecture and speeds, available memory (RAM), limited data storage capacities, and considerable variation in displays and input methods. These applications can be pre-installed on phones during manufacturing or delivered as web applications, using server-side or client-side processing to provide an "application-like" experience within a web browser.
A home server is a computing server located in a private computing residence providing services to other devices inside or outside the household through a home network or the Internet. Such services may include file and printer serving, media center serving, home automation control, web serving, web caching, file sharing and synchronization, video surveillance and digital video recorder, calendar and contact sharing and synchronization, account authentication, and backup services. In the recent times, it has become very common to run hundreds of applications as containers, isolated from the host operating system.
A computer appliance is a computer system with a combination of hardware, software, or firmware that is specifically designed to provide a particular computing resource. Such devices became known as appliances because of the similarity in role or management to a home appliance, which are generally closed and sealed, and are not serviceable by the user or owner. The hardware and software are delivered as an integrated product and may even be pre-configured before delivery to a customer, to provide a turn-key solution for a particular application. Unlike general purpose computers, appliances are generally not designed to allow the customers to change the software and the underlying operating system, or to flexibly reconfigure the hardware.
Apple Home is a smart home platform developed by Apple Inc. that lets users configure, communicate with and control smart appliances using Apple devices. Apple Home communicates with devices using HomeKit, the software framework and communication protocol developed by Apple, and the open Matter standard. By designing rooms, items and actions in Apple Home, users can enable automations in the home through a voice command to Siri or through Apple's Home app or third party apps. With Apple Home, developers are able to create complex applications in order to manage accessories at a high level.
Perforce Software, Inc. is an American developer of software used for developing and running applications, including version control software, web-based repository management, developer collaboration, application lifecycle management, web application servers, debugging tools, platform automation, and agile planning software.
open Home Automation Bus (openHAB) is an open source home automation software written in Java. It is deployed on premises and connects to devices and services from different vendors. As of 2019, close to 300 bindings are available as OSGi modules. Actions, such as switching on lights, are triggered by rules, voice commands, or controls on the openHAB user interface. The openHAB project started in 2010. In 2013, the core functionality became an official project of the Eclipse Foundation under the name Eclipse SmartHome. openHAB is based on Eclipse SmartHome and remains the project for the development of bindings. According to Black Duck Open Hub, it is developed by one of the largest open-source teams in the world. It also has an active user community.
Home Assistant is free and open-source software used for home automation. It serves as an integration platform and smart home hub, allowing users to control smart home devices. The software emphasizes local control and privacy and is designed to be independent of any specific Internet of Things (IoT) ecosystem. Its interface can be accessed through a web-based user interface, by using companion apps for Android and iOS, or by voice commands via a supported virtual assistant, such as Google Assistant, Amazon Alexa, Apple Siri, and Home Assistant's own "Assist" using natural language.
A smart home hub, sometimes also referred to as a "smart hub", "gateway'", "bridge", "controller" or "coordinator", is a control center/centre for a smart home, and enables the components of a smart home to communicate and respond to each other via communication through a central point. The smart home hub can consist of dedicated computer appliance, software appliance, or software running on computer hardware, and makes it possible to gather configuration, automation and monitoring of a smart house by communicating and controlling different smart devices that consist of for example home appliances, sensors and relays or robots, many of which are commonly categorized under Internet of things.